1. 26 9月, 2018 2 次提交
  2. 03 8月, 2018 1 次提交
  3. 02 8月, 2018 1 次提交
    • R
      Merge with PostgreSQL 9.2beta2. · 4750e1b6
      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>
      4750e1b6
  4. 18 1月, 2018 1 次提交
    • J
      Remove codgen wholesale (#4301) · fa65063d
      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>
      fa65063d
  5. 13 1月, 2018 2 次提交
  6. 16 12月, 2017 1 次提交
  7. 15 9月, 2017 1 次提交
    • H
      Make it possible to build without libbz2, also on non-Windows. · d6749c3c
      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.
      d6749c3c
  8. 31 8月, 2017 1 次提交
    • L
      Bundle PXF with GPDB by default (#3109) · 6ba40dfb
      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
      6ba40dfb
  9. 15 8月, 2017 1 次提交
  10. 09 8月, 2017 1 次提交
    • P
      Install src/include/cdb server-side dev · ae759a5d
      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
      ae759a5d
  11. 05 8月, 2017 1 次提交
  12. 19 7月, 2017 1 次提交
    • P
      Backport Postgres TAP SSL tests (#2765) · 57a11a94
      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>
      57a11a94
  13. 06 6月, 2017 1 次提交
  14. 05 6月, 2017 1 次提交
  15. 17 5月, 2017 1 次提交
  16. 16 5月, 2017 2 次提交
  17. 29 4月, 2017 1 次提交
  18. 11 4月, 2017 1 次提交
  19. 30 3月, 2017 1 次提交
    • D
      Ensure version output regardless of code tree · 0de5fc63
      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.
      0de5fc63
  20. 13 10月, 2016 1 次提交
    • J
      Disable aggressive loop optimizations in GCC 4.8+ (#1200) · 2e387d0e
      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.
      2e387d0e
  21. 20 5月, 2016 1 次提交
    • D
      Modernize and split out lookup code from autoconf · 107b21fb
      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
      107b21fb
  22. 07 4月, 2016 1 次提交
  23. 25 3月, 2016 1 次提交
    • S
      Adding GPDB code generation utils · 88e9baba
      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>
      88e9baba
  24. 10 3月, 2016 1 次提交
    • D
      Connect GPMapreduce to the build · e60fe566
      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.
      e60fe566
  25. 02 3月, 2016 2 次提交
  26. 27 2月, 2016 1 次提交
    • M
      Move gpfdist to gpdb core. · e00ca2c4
      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.
      e00ca2c4
  27. 02 2月, 2016 1 次提交
    • M
      Build gpfdist by default with configure · a3b296fd
      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
      a3b296fd
  28. 01 12月, 2015 1 次提交
    • G
      Rework SSE42 implementation and runtime logic to be more similar to PostgreSQL 9.5 · 6c025b52
      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.
      6c025b52
  29. 28 10月, 2015 2 次提交
    • H
      Remove -Werror, replace with more specific -Wno-* options. · 0675ad72
      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.
      0675ad72
    • I
      Import Greenplum source code. · 6b0e52be
      Initial Greenplum code dump 提交于
      6b0e52be
  30. 31 5月, 2013 1 次提交
  31. 30 4月, 2013 1 次提交
  32. 13 4月, 2013 1 次提交
    • P
      Fix sporadic rebuilds for .pc files · ba66752d
      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.
      ba66752d
  33. 12 2月, 2013 1 次提交
    • A
      Create libpgcommon, and move pg_malloc et al to it · 8396447c
      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.
      8396447c
  34. 05 1月, 2013 1 次提交
    • P
      PL/Python: Make build on OS X more flexible · fc874507
      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.
      fc874507
  35. 12 12月, 2012 1 次提交
    • A
      Add mode where contrib installcheck runs each module in a separately named database. · ad69bd05
      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.
      ad69bd05