1. 18 1月, 2018 11 次提交
    • 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
      Make some test DDL lighter, by reducing number of partitions. · 24aec4aa
      Heikki Linnakangas 提交于
      Also add some comments, based on the descriptions of the original bugs
      that were fixed.
      24aec4aa
    • H
      Remove unused gp_filedump TINC script · e2d9f3e3
      Heikki Linnakangas 提交于
      e2d9f3e3
    • H
      Remove unused GiST test data. · c26fa17f
      Heikki Linnakangas 提交于
      c26fa17f
    • H
      Remove obsolete model code from TINC. · 73b45619
      Heikki Linnakangas 提交于
      These are no longer used for anything.
      73b45619
    • 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 17 次提交
  3. 16 1月, 2018 6 次提交
  4. 15 1月, 2018 5 次提交
    • D
      Reduce overhead in partition testing · 90a957eb
      Daniel Gustafsson 提交于
      Since ICW is a very longrunning process, attempt to reduce time
      consumption by reducing overhead during testing while keeping the
      test constant (coverage not reduced).
      
      Avoid dropping/recreating underlying test tables when not required,
      reduce the number of partitions in some cases and skip pointless
      drops for objects we know doesn't exist. In total this shaves about
      30-40 seconds off an ICW run on my local machine, mileage may vary.
      90a957eb
    • D
      Add test for partition exchange with external table · 629f8161
      Daniel Gustafsson 提交于
      Make sure that we are able to exchnage in an external partition, and
      also ensure that truncation doesn't recurse into the ext partition.
      629f8161
    • D
      Backport timezone data format change · f590dc94
      Daniel Gustafsson 提交于
      This backports the below commit which moved from the source timezone
      file to the newly introduced compact format.
      
        commit 097b24cea68ac167a82bb617eb1844c8be4eaf24
        Author: Tom Lane <tgl@sss.pgh.pa.us>
        Date:   Sat Nov 25 15:30:11 2017 -0500
      
          Replace raw timezone source data with IANA's new compact format.
      
          Traditionally IANA has distributed their timezone data in pure source
          form, replete with extensive historical comments.  As of release 2017c,
          they've added a compact single-file format that omits comments and
          abbreviates command keywords.  This form is way shorter than the pure
          source, even before considering its allegedly better compressibility.
          Hence, let's distribute the data in that form rather than pure source.
      
          I'm pushing this now, rather than at the next timezone database update,
          so that it's easy to confirm that this data file produces compiled zic
          output that's identical to what we were getting before.
      
          Discussion: https://postgr.es/m/1915.1511210334@sss.pgh.pa.us
      f590dc94
    • 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
    • J
      cs_walrep_2: fix races in test_negative · 5569b924
      Jacob Champion 提交于
      pg_ctl and gpstart appear to be running simultaneously, because we're
      not waiting for pg_ctl to finish before moving to the next call.
      (subprocess.Popen() doesn't return the process's return code -- it
      returns a Popen instance.)
      
      cs_walrep_2 in the master pipeline is currently failing roughly 50% of
      the time due to a crash during test_negative. Let's see if this helps at
      all.
      5569b924
  5. 13 1月, 2018 1 次提交