1. 18 1月, 2018 16 次提交
    • H
      Fix small whitespace differences vs. upstream. · cb2ae69b
      Heikki Linnakangas 提交于
      cb2ae69b
    • H
      Remove unnecessary #includes and forward declarations. · bc5d8549
      Heikki Linnakangas 提交于
      To reduce diff vs upstream.
      bc5d8549
    • H
      Fix mismerged chunk of code. · 3c7c39c8
      Heikki Linnakangas 提交于
      This was accidentally duplicated in some earlier merge or backport. It's
      in an "#ifdef WIN32" block, so it's dead for GPDB, but let's be tidy.
      3c7c39c8
    • H
      Misc code cleanups to match upstream. · b6090e02
      Heikki Linnakangas 提交于
      b6090e02
    • H
      Remove unused function. · bc9001b6
      Heikki Linnakangas 提交于
      It was used by file replication, but now it's gone.
      bc9001b6
    • D
      Use ereport() for user facing errors · 93c5ae39
      Daniel Gustafsson 提交于
      Convert elog() calls to ereport() for user facing errors in setting
      GUC values.
      93c5ae39
    • D
      Convert handmade enum GUCS to actual enum GUCs · 5cc0ec50
      Daniel Gustafsson 提交于
      As of the merge with PostgreSQL 8.4, we now have builtin support for
      enum GUCs. Convert the bespoke GPDB code for managing enum GUCs into
      using the enum GUC functionality. There should be no user visible
      changes from this except that the error messages are changing.
      5cc0ec50
    • D
      Remove unused GUCs and GUC backing variables · 29e51767
      Daniel Gustafsson 提交于
      gp_hashagg_respill_bias has been dead for close to 10 years while
      gp_hashjoin_bloomfilter was a leftover from 1fd4d7ee.
      gp_hashagg_rewrite_limit was deprecated close to 10 years ago and
      made into a no-op.
      
      gp_fault_action and the consumers of gp_backup_directIO* GUCs were
      removed with the recent filespaces removal.
      29e51767
    • R
      Set tupledesc in remapper only when remapping is required. · 87e7fcbe
      Richard Guo 提交于
      When build remap info for fields of type described by given
      tupledesc, set tupledesc in remapper only when remapping
      is required.
      87e7fcbe
    • 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
    • H
      Remove unnecessary structs wrapping RelFileNode in WAL record structs. · 750fc206
      Heikki Linnakangas 提交于
      These were added in GPDB to encapsulate RelFileNode and persistent table
      information. But persistent tables are no more, so there is no reason to
      differ from upstream.
      750fc206
    • H
      b5b7db48
    • H
    • H
      Remove some now unnecessary GPDB changes compared to upstream. · 91af7637
      Heikki Linnakangas 提交于
      To reduce merge conflicts as we start to merge with upstream again.
      91af7637
    • H
      5b851540
    • D
      Remove unused directopen API · 5601235a
      Daniel Gustafsson 提交于
      With persistent tables removed there are no more consumers of this
      API, so remove it.
      5601235a
  2. 17 1月, 2018 10 次提交
  3. 16 1月, 2018 3 次提交
  4. 15 1月, 2018 1 次提交
    • D
      Update timezone data and management code to match PostgreSQL · ba5cfa93
      Daniel Gustafsson 提交于
      The timezone data in Greenplum are from the base version of
      PostgreSQL that the current version of Greenplum is based on.
      This cause issues since it means we are years behind on tz
      changes that have happened. This pulls in the timezone data
      and code from PostgreSQL 10.1 with as few changes to Greenplum
      as possible to minimize merge conflicts. The goal is to gain
      data rather than features, and for Greenplum for each release
      to be able to stay current with the iana tz database as it is
      imported into upstream PostgreSQL.
      
      This removes a Greenplum specific test for the Yakutsk timezone
      as it was made obsolete by upstream tz commit 1ac038c2c3f25f72.
      ba5cfa93
  5. 13 1月, 2018 10 次提交
    • A
      Avoid InitXLOGAccess() for FTS on mirror. · 93681bd0
      Ashwin Agrawal 提交于
      93681bd0
    • A
      Fix parsing of recovery.conf to not fail due to PGOPTIONS. · 7eae4fed
      Ashwin Agrawal 提交于
      This is mostly cherry-pick of upstream commit
      commit 970a1868
      Author: Robert Haas <rhaas@postgresql.org>
      Date:   Fri Dec 3 08:44:15 2010 -0500
      
          Use GUC lexer for recovery.conf parsing.
      
          This eliminates some crufty, special-purpose code and, as a non-trivial
          side benefit, allows recovery.conf parameters to be unquoted.
      
          Dimitri Fontaine, with review and cleanup by Alvaro Herrera, Itagaki
          Takahiro, and me.
      7eae4fed
    • A
      Fix FTS probe context with correct number of primaries · 8900d60a
      Ashwin Agrawal 提交于
      Originally, we skip probing primary without mirrors, however, we still
      use the num_primary_segments to indicate number of requests. This caused
      inconsistency when processing the response, since, not all the primary
      segments got probe response.
      
      The fix is to only track the actual number of probe requests sent.
      
      Author: Xin Zhang <xzhang@pivotal.io>
      Author: Ashwin Agrawal <aagrawal@pivotal.io>
      8900d60a
    • X
      Primary to mirror failover · 4d9c7897
      Xin Zhang 提交于
      - detect primary goes down
      - flip the role to m/p/d/n and p/m/u/n (role/prefer/status/mode) in
        gp_segment_configuration
      - send promotion message to mirror to promote it
      
      Author: Xin Zhang <xzhang@pivotal.io>
      Author: Jacob Champion <pchampion@pivotal.io>
      Author: Asim R P <apraveen@pivotal.io>
      4d9c7897
    • H
      Remove obsolete postmaster -y option. · 62eed74b
      Heikki Linnakangas 提交于
      It set the master_mirroring_administrator_disable variable, but it's not
      used for anything. Remove the variable, and all the code to pass that flag
      through.
      62eed74b
    • H
      Remove obsolete gp_standby_dbid GUC. · fbdc66bc
      Heikki Linnakangas 提交于
      It was now unused.
      fbdc66bc
    • J
      Fix unit test compilation, remove SyncStandbysDefined tests · 9c428f92
      Jacob Champion 提交于
      SetSyncStandbysDefined and friends are now much simpler; there isn't
      really anything interesting to test anymore. We already have an
      integration test that covers the operation for the whole cluster.
      9c428f92
    • J
      Fix synchronous_standby_names consistency · 3b80a6e2
      Jacob Champion 提交于
      Revert SyncRepUpdateSyncStandbysDefined to its upstream contract: only
      checkpointer may call it, and it acquires the SyncRepLock on its own.
      If we don't need to ensure that the FTS responder sends back
      syncrep=false immediately, the logic is vastly simplified, and we can
      remove the assertion on the receiver end.
      
      Also note that we don't need to set the GUC in memory directly; the
      SIGHUP will load the new GUC from disk, further simplifying things here.
      
      Author: Jacob Champion <pchampion@pivotal.io>
      Author: Ashwin Agrawal <aagrawal@pivotal.io>
      3b80a6e2
    • H
      Remove unnecessary #include · 0962d251
      Heikki Linnakangas 提交于
      0962d251
    • H
      Remove dead code. · b56de343
      Heikki Linnakangas 提交于
      gp_remove_segment_persistent_entries() function doesn't exist any more.
      b56de343