-
由 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