- 26 9月, 2018 2 次提交
-
-
由 David Kimura 提交于
-
由 David Kimura 提交于
After this patch: - zstd functions are no longer part of the built-in catalog - is only built when enabled with `--with-zstd` in autoconf Co-authored-by: NJoao Pereira <jdealmeidapereira@pivotal.io>
-
- 03 8月, 2018 1 次提交
-
-
由 Karen Huddleston 提交于
This reverts commit 4750e1b6.
-
- 02 8月, 2018 1 次提交
-
-
由 Richard Guo 提交于
This is the final batch of commits from PostgreSQL 9.2 development, up to the point where the REL9_2_STABLE branch was created, and 9.3 development started on the PostgreSQL master branch. Notable upstream changes: * Index-only scan was included in the batch of upstream commits. It allows queries to retrieve data only from indexes, avoiding heap access. * Group commit was added to work effectively under heavy load. Previously, batching of commits became ineffective as the write workload increased, because of internal lock contention. * A new fast-path lock mechanism was added to reduce the overhead of taking and releasing certain types of locks which are taken and released very frequently but rarely conflict. * The new "parameterized path" mechanism was added. It allows inner index scans to use values from relations that are more than one join level up from the scan. This can greatly improve performance in situations where semantic restrictions (such as outer joins) limit the allowed join orderings. * SP-GiST (Space-Partitioned GiST) index access method was added to support unbalanced partitioned search structures. For suitable problems, SP-GiST can be faster than GiST in both index build time and search time. * Checkpoints now are performed by a dedicated background process. Formerly the background writer did both dirty-page writing and checkpointing. Separating this into two processes allows each goal to be accomplished more predictably. * Custom plan was supported for specific parameter values even when using prepared statements. * API for FDW was improved to provide multiple access "paths" for their tables, allowing more flexibility in join planning. * Security_barrier option was added for views to prevents optimizations that might allow view-protected data to be exposed to users. * Range data type was added to store a lower and upper bound belonging to its base data type. * CTAS (CREATE TABLE AS/SELECT INTO) is now treated as utility statement. The SELECT query is planned during the execution of the utility. To conform to this change, GPDB executes the utility statement only on QD and dispatches the plan of the SELECT query to QEs. Co-authored-by: NAdam Lee <ali@pivotal.io> Co-authored-by: NAlexandra Wang <lewang@pivotal.io> Co-authored-by: NAshwin Agrawal <aagrawal@pivotal.io> Co-authored-by: NAsim R P <apraveen@pivotal.io> Co-authored-by: NDaniel Gustafsson <dgustafsson@pivotal.io> Co-authored-by: NGang Xiong <gxiong@pivotal.io> Co-authored-by: NHaozhou Wang <hawang@pivotal.io> Co-authored-by: NHeikki Linnakangas <hlinnakangas@pivotal.io> Co-authored-by: NJesse Zhang <sbjesse@gmail.com> Co-authored-by: NJinbao Chen <jinchen@pivotal.io> Co-authored-by: NJoao Pereira <jdealmeidapereira@pivotal.io> Co-authored-by: NMelanie Plageman <mplageman@pivotal.io> Co-authored-by: NPaul Guo <paulguo@gmail.com> Co-authored-by: NRichard Guo <guofenglinux@gmail.com> Co-authored-by: NShujie Zhang <shzhang@pivotal.io> Co-authored-by: NTaylor Vesely <tvesely@pivotal.io> Co-authored-by: NZhenghua Lyu <zlv@pivotal.io>
-
- 18 1月, 2018 1 次提交
-
-
由 Jesse Zhang 提交于
This patch removes codegen wholesale from Greenplum. In addition to reverting the commits involving codegen, we also removed miscellaneous references to the feature and GUC. The following commits from 5.0.0 were reverted (topologically ordered): f38c9064 Support avg aggregate function in codegen 87dcae4c Capture and print error messages from llvm::verifyFunction 65137540 libgpcodegen assert() overrides use GPDB Assert() 81d378b4 GenerateExecVariableList calls regular slot_getattr when the code generation of the latter fails 05a28211 Update Google Test source path used by codegen 22a35fcc Call ereport when code generating float operators 79517271 Support overflow checks for doubles. b5373a1e Fix codegen unittest link problem 7a1a98c9 Print filename and lineno in codegened CreateElog 58eda293 Fix wrong virtual tuple check in codegened slot_getattr bc6faa08 Set llvm_isNull_ptr to false when the result of codegened expression evaluation is not null 8bbbd63f Enhance codegened advance_aggregates with support for null attributes e1fd6072 Abort code generation of expression evaluation trees with unsupported ExprState types 509460ee Support null attributes in codegen expression evaluation framework 739d978d Move enrollment of codegened ExecVariableList to ExecInitNode c05528d1 Fix CHECK_SYMBOL_DEFINED macro in CMakeLists.txt 12cfd7bd Support offset calculation when there is null in the tuple and codegen is enabled 40a2631e Use slot_getattr wrapper function for regular version.(#1194) 613e9fbb Revert "Fix codegen issue by moving slot_getattr to heaptuple.c similar to" ee03f799 Fix cpplint error on advance aggregate 2a65b0aa Fix slot function nullptr issue in expr eval. 3107fc0e Fix for !(expr1 & expr2) and hasnull logic in slot_getatrr codegen. c940c7f6 Fix codegen issue by moving slot_getattr to heaptuple.c similar to Postgres. c8125736 Introduce guc to enable/disable all generator. a4f39507 Ensure that codegen unittests pass with GCC 6.2.0 (#1177) 682d0b28 Allow overriding assert() functionality in libgpcodegen in DEBUG mode 3209258a Organize codegen source files and unit tests d2ba88a9 Fix codegen unittests using DatumCastGenerator 020b71a5 Generate code for COUNT aggregate function 0eeec886 Fixing codegen related bugs in InitializeSupportedFunction 41055352 Rewrite PGGenericFuncGenerator to support variable number of types e5318b6b Add AdvanceAggregatesCodegenEnroll mock function 87521715 Codegen advance_aggregates for SUM transition function 2043d95b Use string messages in codegened slot_getattr fallback block f160fa5a Add new GUC to control Codegen Optimization level. 697ffc1a Fix cpplint errors c5e3aed4 Support Virtual Tuples and Memtuples in SlotGetAttrCodegen 5996aaa7 Keep a reference to the CodegenManager in code generators 6833b3c2 Remove unused header and just include what you use in codegen ab1eda87 Allow setting codegen guc to ON only if code generation is supported by the build dcd40712 Use PGFuncGeneratorInfo to codegen pg functions 83869d1c Replace dynamic_cast with dyn_cast for llvm objects 23007017 Decide what to generate for ExecEvalExpr based on PlanState 387d8ce8 Add EXPLAIN CODEGEN to print generated IR to the client c4a9bd27 Introduce Datum to cpp cast, cpp type to Datum cast and normal cast.(#944) 66158dfd Record external function names for useful debugging adab9120 Support variable length attributes in SlotGetAttrCodegen. 335e09aa Proclaim that the codegen'ed version of generated functions are called in debug build 50fd9140 Fix cpplint errors 88a04412 Use ExprTreeGeneratorInfo for expression tree generation. 3b4af3bb Split code generation of ExecVariableList from slot_getattr 8cd9ed9f Support <= operator for date/timestamp data types and some minor refactors. e4dccf46 Implement InlineFunction to force inline at call site 71170942 Mock postmaster.o for codegen_framework_unittest.t 09f00581 Codegen expressions that contain plus, minus and mul operators on float8 data types d7fb2f6d Fix codegen unittests on Linux and various compiler warnings while building codegen. 45f2aa96 Fix test and update coding style This closes #874 1b26fbfc Enrolled targetlist for scan and aggregate ebd1d014 Enhance codegen framework to support arbitrary expr tree ec626ce6 Generate and enroll naive ExecEvalExpr in Scan's quals 1186001e Revert "Create naive code-generated version of ExecQual" 6f928a65 Replace RegisterExternalFunction with GetOrRegisterExternalFunction using an unordered_map in codegen_utils 6ae0085b Move ElogWrapper to GpCodegenUtils. d3f80b45 Add verifyfunction for generated llvm function. 7bcf094a Fix codegen compiler error with 8.3 merge aae0ad3d Create naive code-generated version of ExecQual dce266ad Minor code quality fixes in src/backend/codegen d281f340 Support null attributes in code generated ExecVariableList 82fd418e Address a number of cpplint errors in codegen_utils_unittest.cc 887aa48d Add check for CodegenUtils::GetType for bool arrays bb9b92c6 Enhance Base Codegen to do clean up when generation fails b9ef5e3f Fix build error for Annotated types a5cfefd9 Add support for array types in codegen_utils. 2b883384 Fix static_assert call 7b75d9ea This commit generates code for code path: ExecVariableList > slot_getattr > _slot_getsomeattrs > slot_deform_tuple. This code path is executed during scan in simple select queries that do not have a where clause (e.g., select bar from foo;). 6d0a06e8 Fix CodeGen typos and CodeGeneratorManagerCreate function signature in gpcodegen_mock.c 4916a606 Add support for registering vararg external functions with codegen utils. ae4a7754 Integrate codegen framework and make simple external call to slot deform tuple. This closes #649 ee5fb851 Renaming code_generator to codegen_utils and CodeGenerator to CodegenUtils. This closes #648 88e9baba Adding GPDB code generation utils Signed-off-by: NJesse Zhang <sbjesse@gmail.com> Signed-off-by: NMelanie Plageman <mplageman@pivotal.io> Signed-off-by: NSambitesh Dash <sdash@pivotal.io>
-
- 13 1月, 2018 2 次提交
-
-
由 Jamie McAtamney 提交于
We will not be supporting these utilities in GPDB 6. References to gpcrondump and gpdbrestore in the gpdb-doc directory have been left intact, as the documentation will be updated to refer to gpbackup and gprestore in a separate commit. Author: Jamie McAtamney <jmcatamney@pivotal.io>
-
由 Heikki Linnakangas 提交于
I removed the autoconf flag and #ifdefs earlier, but missed these.
-
- 16 12月, 2017 1 次提交
-
-
由 Lav Jain 提交于
* Cleanup makefiles for GPHDFS * Fix HADOOP_TARGET_VERSION * Change gphdfs_target_version tokens to hadoop, cdh, hdp, mpr
-
- 15 9月, 2017 1 次提交
-
-
由 Heikki Linnakangas 提交于
The bzip2 library is only used by the gfile/fstream code, used for external tables and gpfdist. The usage of bzip2 was in #ifndef WIN32 blocks, so it was only built on non-Windows systems. Instead of tying it to the platform, use a proper autoconf check and HAVE_LIBBZ2 flags. This makes it possible to build gpfdist with bzip2 support on Windows, as well as building without bzip2 on non-Windows systems. That makes it easier to test the otherwise Windows-only codepaths on other platforms. --with-libbz2 is still the default, but you can now use --without-libbz2 if you wish. I'm sure that some regression tests will fail if you actually build the server without libbz2, but I'm not going to address that right now. We have similar problems with other features that are in principle optional, but cause some regression tests to fail. Also use "#ifdef HAVE_LIBZ" rather than "#ifndef WIN32" to enable/disable zlib support in gpfdist. Building the server still fails if you use --without-zlib, but at least you can build the client programs without zlib, also on non-Windows systems. Remove obsolete copy of bzlib.h from the repository while we're at it.
-
- 31 8月, 2017 1 次提交
-
-
由 Lav Jain 提交于
* Refactor GPHDFS regression to run for pxf * remove customized Hadoop home location * PXF tarball creation inside GPDB pipeline * Remove legacy directory * Use enable_pxf instead of with_pxf
-
- 15 8月, 2017 1 次提交
-
-
由 Alexander Denissov 提交于
Signed-off-by: NLav Jain <ljain@pivotal.io> Signed-off-by: NOleksandr Diachenko <odiachenko@pivotal.io> Signed-off-by: NShivram Mani <smani@pivotal.io> Signed-off-by: NJohn Gaskin <jgaskin@pivotal.io> Signed-off-by: NAlexandra Wang <lewang@pivotal.io>
-
- 09 8月, 2017 1 次提交
-
-
由 Pengzhou Tang 提交于
Formarly, GPDB are not allowed to expose gpdb-specified headers in cdb to the end users, so some public headers depend on those headers need to do some additional work like re-typedef, adjusting the header order in c files to pass checkinc.py. Now the limitation is unnecessary, so we expose them too for relief. cdbicudpfaultinjection.h may include sys/poll.h, so add it to the hard code standard includes
-
- 05 8月, 2017 1 次提交
-
-
由 Simon Riggs 提交于
Ants Aasma and Jeff Davis (cherry picked from commit fdea2530)
-
- 19 7月, 2017 1 次提交
-
-
由 Peifeng Qiu 提交于
* Port Postgres TAP SSL tests Signed-off-by: NYuan Zhao <yuzhao@pivotal.io> * Add config to enable tap tests Signed-off-by: NYuan Zhao <yuzhao@pivotal.io> 1. Add enable-tap-tests flag to control tests. 2. Add Perl checking module. 3. Enable tap tests for enterprise build by default. * Adapt postgres tap tests to gpdb 1. Assume a running GPDB cluster instance(gpdemo), instead of using temp installation. Remove most node init operation. Disable environment variable override during test init. 2. Replace node control operation with GPDB counterpart: start -> gpstart -a stop -> gpstop -a restart -> gpstop -arf reload -> gpstop -u disable promote, add restart_qd. restart_qd -> pg_ctl -w -t 3 -D $MASTER_DATA_DIRECTORY 3. Add default server key and certificate for GPDB. 4. Update server setup to work with running gpdemo. 5. Disable SSL alternative names cases. Signed-off-by: NYuan Zhao <yuzhao@pivotal.io>
-
- 06 6月, 2017 1 次提交
-
-
由 Shoaib Lari 提交于
Signed-off-by: NAbhijit Subramanya <asubramanya@pivotal.io>
-
- 05 6月, 2017 1 次提交
-
-
由 Adam Lee 提交于
This commit does things below to make developers' life, who are still using old version C++ compilers, easier. Add a flag to optionally disable gpcloud compilation. Add a configure check for C++11 if gpcloud is enabled. Signed-off-by: NAdam Lee <ali@pivotal.io> Signed-off-by: NHaozhou Wang <hawang@pivotal.io>
-
- 17 5月, 2017 1 次提交
-
-
由 Michael Roth 提交于
Updates to configure to use `getversion --short` to generate a version tag that can be used in `Makefile.global` for packaging etc...
-
- 16 5月, 2017 2 次提交
-
-
由 Michael Roth 提交于
GP_VERSION is used by gppkg and other bits to show what version of GPDB it is build from. This is also propogated via gp_config for all packages and should have a valid value for GP_VERSION.
- 29 4月, 2017 1 次提交
-
-
由 Larry Hamel 提交于
Signed-off-by: NMarbin Tan <mtan@pivotal.io>
-
- 11 4月, 2017 1 次提交
-
-
由 Marbin Tan 提交于
- add new configure option `--enable-gpperfmon` - include gpperfmon libraries into configure Signed-off-by: NLarry Hamel <lhamel@pivotal.io> Signed-off-by: NChumki Roy <croy@pivotal.io> Signed-off-by: NMelanie Plageman <mplageman@pivotal.io> Signed-off-by: NLarry Hamel <lhamel@pivotal.io> Signed-off-by: NC.J. Jameson <cjameson@pivotal.io>
-
- 30 3月, 2017 1 次提交
-
-
由 Daniel Gustafsson 提交于
Rather than relying on always having a full cloned repository when building, add fallbacks which work for trees with constrained (such as shallow-cloned trees), or no, history. When the tagged commit is reachable, use git describe, else rely on the version string in configure since that's required to always be there regardless of distribution mode. If we have git tree then include the HEAD sha1 as well. While there, clean up versioning to more clearly separate us from upstream.
-
- 13 10月, 2016 1 次提交
-
-
由 Jesse Zhang 提交于
Summary: * Properly propagate the C++ compiler from autoconf * Disable aggressive loop optimizations in GCC 4.8+ This commit is in the spirit of postgres/postgres@105f3ef4 , but done for C++ code so that the GPORCA translator can properly build when the compiler is GCC 4.8+ Fixes greenplum-db/gpdb#1186 . TL;DR, here is the additional context on what specific to GPORCA translator: GCC 6.2.0 compiler (which is required for codegen) got aggressive loop optimization to remove loop when enumerating variable length array. In code `CTranslatorRelcacheToDXL.cpp`, we have a loop to enumerate all the attributes of an index: ``` INT iAttno = pgIndex->indkey.values[ul]; ``` Where `values[ul]` is of following data structure: ``` typedef struct { ... int2 values[1]; /* VARIABLE LENGTH ARRAY */ } int2vector; /* VARIABLE LENGTH STRUCT */ ``` This is standard way of dealing with variable length array in Postgres. However, optimizer thinking there is only 1 element, hence removed the loop. This caused wrong result when using GPDB with GPORCA. The repro is ``` -- multi-column index create table index_test (a int, b int, c int, d int, e int, constraint index_test_pkey PRIMARY KEY (a, b, c, d)); insert into index_test select i,i%2,i%3,i%4,i%5 from generate_series(1,100) i; -- expecting using index scan with index cond: c=5 explain select * from index_test where c = 5; ``` When compile with GCC 6.2.0, the `index scan` is not selected, but a `table scan` is chosen instead. The root cause is the compiler removed the loop, and only keep the first column. The fix is to add $CXXFLAG auto detection to add the `-fno-aggressive-loop-optimizations` for $CXX compilers if that version of compiler supporting such optimization. Hence to avoid having the above issue for gpopt component.
-
- 20 5月, 2016 1 次提交
-
-
由 Daniel Gustafsson 提交于
This attempts to clean up the autoconf script a bit and follow the upstream division of generic code in config/ with the actual lookup configuration in configure.in. Also updated our installation to rely on a more modern version of autoconf by backporting parts of upstream commit 7cc514ac. This commit consist of: * Decouple --enable-codegen and --with-codegen-prefix to not silently ignore prefixes if the enable flag isn't passed. Emit a warning if configuring prefixes without codegen. Also moves --with-codegen-prefix to require an argument since --with-codegen-prefix without an argument is likely to hide either a scripting bug or a misunderstanding from the user * Move program checks for cmake and apr-1-config to programs.m4 and allow for path overrides and ensure to use the resolved path when invoking cmake for --enable-codegen * Propagate the apr-1-config flags and objects to where used via Makefile.global rather than performing another lookup * Remove check for unused arguments since autoconf does that automatically since 2.63 * Remove backported fseeko handling since that isn't relevant for modern autoconf versions * Minor help output tidying and spelling fixes
-
- 07 4月, 2016 1 次提交
-
-
由 Daniel Gustafsson 提交于
Since we discover the apr-1-config binary during the configure stage we might as well simplify the gpfdist Makefile by using it during building. Also renames the APR_CONFIG variable to avoid colliding with $APR_CONFIG using the gpAux makefile.
-
- 25 3月, 2016 1 次提交
-
-
由 Shreedhar Hardikar 提交于
Squashed commit of the following: commit db752c0c916f36479b0c5049c671538565294c25 Author: Nikos Armenatzoglou <narmenatzoglou@gmail.com> Date: Thu Mar 24 14:01:38 2016 -0700 Adding check to avoid unit test failures when sizeof(long) = 8 commit 1c39c58279cf73af92811ed1b2e6f2bc22d01414 Author: Shreedhar Hardikar <shardikar@pivotal.io> Date: Thu Mar 17 19:42:47 2016 +0000 --with-codegen-prefix instead of CMAKE_PREFIX_PATH commit 77978e92444580bc4e84dc3f6b3e366a09e92dba Author: Shreedhar Hardikar <shardikar@pivotal.io> Date: Thu Mar 10 14:57:48 2016 +0000 Make codegen work with GPDB build system and other minor fixes * Update CMakeLists to build SUBSYS.o * Update CMakeLists to build release build by default * Update CMakeLists to add tests in a loop. * Add codegen and cmake specific .gitignore * Update license and READMEs * Move codegen utils related header files back into src/backend/codegen/include/codegen Signed-off-by: NNikos Armenatzoglou <nikos.armenatzoglou@gmail.com> commit 1b61c12f4eb082f49a66c28957c22810e98a5074 Author: Shreedhar Hardikar <shardikar@pivotal.io> Date: Wed Mar 16 21:06:28 2016 +0000 Remove codegen specific gtest source tree and use the one in gpAux. Signed-off-by: NNikos Armenatzoglou <nikos.armenatzoglou@gmail.com> commit 13bb2dcf3465be0ef240e316a149b2d8a125a9e9 Author: Shreedhar Hardikar <shardikar@pivotal.io> Date: Thu Mar 10 02:51:29 2016 +0000 Set up GPDB to use codegen utilities * Move in codegen utility source and include files to GPDB specific locations. * Configure codegen with --enable-codegen and use gpcodegen namespace Signed-off-by: NNikos Armenatzoglou <nikos.armenatzoglou@gmail.com> commit 9a4e40f931f71cb7a82e15b51745944116bc10ab Author: Craig Chasseur <spoonboy42@gmail.com> Date: Mon Nov 2 09:10:37 2015 -0800 Introduce codegen utilties into GPDB. Support library for integrating LLVM code-generation and runtime compilation with Clang in a larger codebase. Signed-off-by: NNikos Armenatzoglou <nikos.armenatzoglou@gmail.com>
-
- 10 3月, 2016 1 次提交
-
-
由 Daniel Gustafsson 提交于
This adds a new switch to autoconf, --enable-mapreduce, to connect the GPMapreduce extension to the build. If set to on the mapreduce extension in gpAux/extensions will be built and installed. As a side effect this will properly clean and distclean for gpfdist in gpAux/extensions as well. Autoconf checks for libyaml since it's a depedency for GPMapreduce. This is the first stab at gpmapreduce, once in we can start moving gpmapreduce back into src/bin and move the mapreduce test suite in under gpAux/extensions.
-
- 02 3月, 2016 2 次提交
-
-
由 Daniel Gustafsson 提交于
-
由 Daniel Gustafsson 提交于
We no longer support --with-java, --enable-email or --enable-nls so remove from definitions. Rather than removing enable_nls comment it out and make comment match whats in configure.in though.
-
- 27 2月, 2016 1 次提交
-
-
由 Marbin Tan 提交于
As gpfdist will now be part of the gpdb build by default, we may just treat it as part of gpdb core. * Integrate gpfdist configure file to the top level configure and changed necessary files to accomadate the changes. * Modify travis.yml for gpfdist structural changes * Update gpfdist.c to use GP_VERSION from pg_config.h Fix warning issues from transform.c * There were many prototype warnings that was being mentioned. Added a headerfile for missing prototype warnings, also included the structs into the headerfile. Replace src/port/glob.c * src/port/glob.c is dead code at the moment and can be safely replaced by the windows changes from gpfdist/port Check for libyaml: * disable transformations for gpfdist if not found.
-
- 02 2月, 2016 1 次提交
-
-
由 Marbin Tan 提交于
* Add configuration option for gpfdist use --disable-gpfdist to turn off gpfdist build Enable to run extension regression tests from top level makefile * Add installcheck gpfdist into extensions * Add check for enterprise targeted builds * Pass apr config to gpfdist * Add JAVA_HOME check Authors: Marbin Tan and Shujie Shang
-
- 01 12月, 2015 1 次提交
-
-
由 Garrett Thornburg 提交于
This patch merges the PostgreSQL 9.5 implementation of SSE4.2 into GPDB. The SSE4.2 implementation was lifted right out of PostgreSQL without change to make merging later PostgreSQL releases easier. Update win32 configuration to support SSE4.2 runtime checks This change was pulled from "src/include/pg_config.h.win32" from the commits below. configure.in changes, determining if cpu instruction for perfomring runtime checks are availible, and moving some of the code to port SSE4.2 came from the following PostgreSQL commits: commit 3dc2d62d Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> Date: Tue Apr 14 17:05:03 2015 +0300 Use Intel SSE 4.2 CRC instructions where available. Modern x86 and x86-64 processors with SSE 4.2 support have special instructions, crc32b and crc32q, for calculating CRC-32C. They greatly speed up CRC calculation. Whether the instructions can be used or not depends on the compiler and the target architecture. If generation of SSE 4.2 instructions is allowed for the target (-msse4.2 flag on gcc and clang), use them. If they are not allowed by default, but the compiler supports the -msse4.2 flag to enable them, compile just the CRC-32C function with -msse4.2 flag, and check at runtime whether the processor we're running on supports it. If it doesn't, fall back to the slicing-by-8 algorithm. (With the common defaults on current operating systems, the runtime-check variant is what you get in practice.) Abhijit Menon-Sen, heavily modified by me, reviewed by Andres Freund. commit b4eb2d16 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> Date: Tue Apr 14 19:56:00 2015 +0300 On gcc and clang, the _mm_crc32_u8 and _mm_crc32_u64 intrinsics are not defined at all, when not building with -msse4.2. But on icc, they are. So we cannot assume that if those intrinsics are defined, we can always use them safely, we might still need the runtime check. To fix, check if the __SSE_4_2__ preprocessor symbol is defined. That's supposed to be defined only when the compiler is targeting a processor that has SSE 4.2 support. Per buildfarm members fulmar and okapi.
-
- 28 10月, 2015 2 次提交
-
-
由 Heikki Linnakangas 提交于
It's important to pay attention to compiler warnings, but -Werror isn't buying us much at the moment. Firstly, there are a lot of warnings on modern versions of gcc. I have to pass: "-Wno-error=unused-but-set-variable -Wno-error=enum-compare -Wno-error=address -Wno-error=maybe-uninitialized" to make it compile. More important than erroring out on warnings is to make sure there are no warnings to begin with. Once we get to that state, any warnings will stick out like sore thumb anyway, and you won't need -Werror to make them more annoying. We have a long way until we are 100% warning free, but most of the warnings come from upstream code. They have been fixed in later versions of PostgreSQL, so they will go away as we merge with upstream.
-
-
- 31 5月, 2013 1 次提交
-
-
由 Peter Eisentraut 提交于
-
- 30 4月, 2013 1 次提交
-
-
由 Simon Riggs 提交于
Ants Aasma and Jeff Davis
-
- 13 4月, 2013 1 次提交
-
-
由 Peter Eisentraut 提交于
The build of .pc (pkg-config) files depends on all makefiles in use, and in dependency tracking mode, the previous coding ended up including /dev/null as a makefile. Apparently, on some platforms the modification time of /dev/null changes sporadically, and so the .pc files would end up being rebuilt every so often. Fix that by changing the makefile code to do without using /dev/null.
-
- 12 2月, 2013 1 次提交
-
-
由 Alvaro Herrera 提交于
libpgcommon is a new static library to allow sharing code among the various frontend programs and backend; this lets us eliminate duplicate implementations of common routines. We avoid libpgport, because that's intended as a place for porting issues; per discussion, it seems better to keep them separate. The first use case, and the only implemented by this patch, is pg_malloc and friends, which many frontend programs were already using. At the same time, we can use this to provide palloc emulation functions for the frontend; this way, some palloc-using files in the backend can also be used by the frontend cleanly. To do this, we change palloc() in the backend to be a function instead of a macro on top of MemoryContextAlloc(). This was previously believed to cause loss of performance, but this implementation has been tweaked by Tom and Andres so that on modern compilers it provides a slight improvement over the previous one. This lets us clean up some places that were already with localized hacks. Most of the pg_malloc/palloc changes in this patch were authored by Andres Freund. Zoltán Böszörményi also independently provided a form of that. libpgcommon infrastructure was authored by Álvaro.
-
- 05 1月, 2013 1 次提交
-
-
由 Peter Eisentraut 提交于
The PL/Python build on OS X was previously hardcoded to use the system installation of Python, ignoring whatever was specified to configure. Except that it would use the header files from configure, which could lead to mismatches. It was not possible to build against a custom Python installation. Now, we check in configure how the specified Python installation was built and use that, supporting framework and non-framework builds.
-
- 12 12月, 2012 1 次提交
-
-
由 Andrew Dunstan 提交于
Normally each module is tested in a database named contrib_regression, which is dropped and recreated at the beginhning of each pg_regress run. This new mode, enabled by adding USE_MODULE_DB=1 to the make command line, runs most modules in a database with the module name embedded in it. This will make testing pg_upgrade on clusters with the contrib modules a lot easier. Second attempt at this, this time accomodating make versions older than 3.82. Still to be done: adapt to the MSVC build system. Backpatch to 9.0, which is the earliest version it is reasonably possible to test upgrading from.
-