• 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
guc.h 24.6 KB