- 03 8月, 2016 1 次提交
-
-
由 Nikos Armenatzoglou 提交于
-
- 29 7月, 2016 1 次提交
-
-
Note: We don't alien node elimination when there is an explain codegen or explain analyze codegen query in master.
-
- 21 7月, 2016 2 次提交
-
-
由 Shreedhar Hardikar 提交于
* Skip generating ExecEvalExpr ScanNodes when ProjInfo is a Var list * Skip generating SlotGetAttr in AggNodes
-
由 Shreedhar Hardikar 提交于
This will aid tremendously in debugging codegen because the generated IR will be easily available to be seen. Rest of the functionality of EXPLAIN is maintained. Also we only perform the compilation step if it not a EXPLAIN-only query. That is EXPLAIN CODEGEN with perform code generation only and will not compile the resultant code. EXPLAIN ANALYZE will do both, and also execute the query.
-
- 12 7月, 2016 1 次提交
-
-
由 Shreedhar Hardikar 提交于
ExprTreeGeneratorInfo object keeps track of metadata information needed to generate code for expression trees. Refactor ExprTreeGenerators to always use econtext->ecxt_scantuple to generate the functions. We also have an extra slot_check block to fall back if it is called with a different slot - which shouldn't happen for Agg and Scan nodes.
-
- 29 6月, 2016 4 次提交
-
-
This closes #874
-
由 Nikos Armenatzoglou 提交于
Signed-off-by: NKarthikeyan Jambu Rajaraman <karthi.jrk@gmail.com>
-
由 Nikos Armenatzoglou 提交于
Verify that input expression is of type VAR <= CONST Codegen expression evaluation Fix wrong return value type Support constants and variables of Date type Add comments and fix code style
-
由 Nikos Armenatzoglou 提交于
This reverts commit aae0ad3d.
-
- 03 6月, 2016 1 次提交
-
-
由 Heikki Linnakangas 提交于
This is also transient information, only valid during execution, and should not be cached with the plan.
-
- 02 6月, 2016 1 次提交
-
-
由 Nikos Armenatzoglou 提交于
This commit generates code for a naive code-generated version of ExecQual that simply fallbacks to regular ExecQual. The code-generated ExecQual is enrolled in the existing codegen framework and is called only in ExecScan. After the implementation of the function (i.e., generate code for expression evaluation), we can replace all calls to regular ExecQual with call_ExecQual macros.
-
- 11 5月, 2016 1 次提交
-
-
由 Shreedhar Hardikar 提交于
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;). For each attribute A in the target list, regular implementation of ExecvariableList retrieves the slot that A comes from and calls slot_getattr. slot_get_attr() will eventually call slot_deform_tuple (through _slot_getsomeattrs), which fetches all yet unread attributes of the slot until the given attribute. This commit generates the code for the case that all the attributes in target list use the same slot (created during a scan i.e, ecxt_scantuple). Moreover, instead of looping over the target list one at a time, it uses slot_getattr only once, with the largest attribute index from the target list. If during code generation time, the completion is not possible (e.g., attributes use different slots), then function returns false and codegen manager will be responsible to manage the clean up. This implementation does not support: * Null attributes * Variable length attributes * Fixed length attributes passed by reference (e.g., uuid) If at execution time, we see any of the above types of attributes, we fall back to the regular function. Moreover, this commit: * renames existing "codegen" guc, which is used for initiating llvm libraries, to "init_codegen" (Note: we set this guc in gpconfig), * adds guc "codegen", which enables code generation and compilation at query execution time, * enhances the existing code generation utilities by adding a function that creates all IR instructions for falling back to regular functions, and * removes the existing code that generates the code of a naive slot_deform_tuple, which simply falls back to regular slot_deform_tuple. Signed-off-by: NNikos Armenatzoglou <nikos.armenatzoglou@gmail.com>
-
- 22 4月, 2016 1 次提交
-
-
tuple. This closes #649 Squashed commit of the following: commit 96f415bc1744533e96a74bcc85016ff5df65d06e Author: Karthikeyan Jambu Rajaraman <karthi.jrk@gmail.com> Date: Thu Apr 21 15:08:49 2016 -0700 Don't call prepare for execution if no generator is registered commit 5318e9214a3bbc237c0d79017cdef02538c4e711 Author: Karthikeyan Jambu Rajaraman <karthi.jrk@gmail.com> Date: Thu Apr 21 11:35:22 2016 -0700 Adding if codegen protection in starting active manager and while deleting manager commit 12b0045d51a5b056b32a6cc9ef370e6d9af315fd Author: Karthikeyan Jambu Rajaraman <karthi.jrk@gmail.com> Date: Fri Apr 15 14:33:55 2016 -0700 Updating Readme for Codegen GPDB Function commit d17119c5d8ce9a706b3321d5e7ad41f419fddbdc Author: Karthikeyan Jambu Rajaraman <karthi.jrk@gmail.com> Date: Wed Apr 13 13:25:14 2016 -0700 Add documentation for how to codegen in README.md commit d711be4bb044592e7f97bf31ceb5f32337ad6d03 Author: Karthikeyan Jambu Rajaraman <karthi.jrk@gmail.com> Date: Wed Apr 13 11:19:03 2016 -0700 Fixing doxygen namespace addtogroup commit e34131bcc9bb3d36c5e8995e1a0efe11fbd55417 Author: Karthikeyan Jambu Rajaraman <karthi.jrk@gmail.com> Date: Wed Apr 13 11:17:32 2016 -0700 Changing CodeGen to Codegen commit bedfcca80b5f1ff796783ca7c2035d920ae86c4e Author: Karthikeyan Jambu Rajaraman <karthi.jrk@gmail.com> Date: Wed Apr 13 10:51:39 2016 -0700 Fix cpplint error commit 32f89feedba655e1242529c78a54faf01ddf32bf Author: Karthikeyan Jambu Rajaraman <karthi.jrk@gmail.com> Date: Wed Apr 13 10:48:49 2016 -0700 Change regular version of generated to regular version of target in comment commit d1da2824c08e34eb7139b08cd9d2aff19bf008e7 Author: Karthikeyan Jambu Rajaraman <karthi.jrk@gmail.com> Date: Wed Apr 13 10:42:09 2016 -0700 Made GetFunctionPointer and CreateFunction to take typedef of function type as only public api commit 9f48f77bd9fc50c7d29a4e8f7700452ef88dc79f Author: Karthikeyan Jambu Rajaraman <karthi.jrk@gmail.com> Date: Tue Apr 12 17:18:24 2016 -0700 Rename doCodegeneration to GenerateCodeInternal commit 9884d07f4c6ab08d9ccca8d07b80974081cda1fa Author: Karthikeyan Jambu Rajaraman <karthi.jrk@gmail.com> Date: Tue Apr 12 17:15:55 2016 -0700 fix cpplint error commit c21b3bee3e289675fc13017688269b40e26efa11 Author: Karthikeyan Jambu Rajaraman <karthi.jrk@gmail.com> Date: Tue Apr 12 17:08:16 2016 -0700 Update comments commit f016bb582af65e84def1b55917017008e292d45b Author: Karthikeyan Jambu Rajaraman <karthi.jrk@gmail.com> Date: Tue Apr 12 17:01:19 2016 -0700 Adding assert in static setToRegular function commit 93a791a4ec415313933dd5b7c1ae17dbdd6193a6 Author: Karthikeyan Jambu Rajaraman <karthi.jrk@gmail.com> Date: Tue Apr 12 16:49:15 2016 -0700 Removing decltype in Slotdeformtype codegen since we know the functype commit ed95193d0991cb24fd68f6d9a473de630f297b0c Author: Karthikeyan Jambu Rajaraman <karthi.jrk@gmail.com> Date: Tue Apr 12 16:45:49 2016 -0700 Fixed compiler / unit test failure Changed InitCodeGen to InitCodegen commit 3c95c9efdd4336e100a86748b0e87d79f07bcc11 Author: Karthikeyan Jambu Rajaraman <karthi.jrk@gmail.com> Date: Tue Apr 12 16:28:24 2016 -0700 Changing CodeGen back to Codegen while cherry-picking commit 4e24ef22bcf54edc00c2a0d1f9f9703364cdf5ba Author: Karthikeyan Jambu Rajaraman <krajaraman@pivotal.io> Date: Tue Apr 12 11:08:42 2016 -0700 Changing auto to actual type commit 1d92fc190dda3ec866edc83d56d9eca9fe90a63a Author: Karthikeyan Jambu Rajaraman <krajaraman@pivotal.io> Date: Tue Apr 12 10:44:49 2016 -0700 fix indent in codegen_utils commit ea6fa787a2332f94b8d20d24825ba1f0a240d02e Author: Karthikeyan Jambu Rajaraman <krajaraman@pivotal.io> Date: Mon Apr 11 17:25:53 2016 -0700 Adding codegen guc to wrapper function so related function not executed when codegen guc is disabled commit f1cd7d80d8d81f3565f3ab12cb94a3c4cc58c44a Author: Karthikeyan Jambu Rajaraman <krajaraman@pivotal.io> Date: Mon Apr 11 17:13:24 2016 -0700 Changing bool to unsigned int in codegen_wrapper.h commit 7ef462540a312d077b332c732c125c55dedb6b14 Author: Karthikeyan Jambu Rajaraman <krajaraman@pivotal.io> Date: Mon Apr 11 16:59:08 2016 -0700 Fix based on lint complain commit ddc55cec0d579a03cb9e2303efa6d74f5183979f Author: Karthikeyan Jambu Rajaraman <krajaraman@pivotal.io> Date: Mon Apr 11 16:19:48 2016 -0700 Removing commented code from unittest commit 28b8886ed2bfdc854aa38f871a41536c1e6cef29 Author: Karthikeyan Jambu Rajaraman <krajaraman@pivotal.io> Date: Mon Apr 11 16:17:45 2016 -0700 Chaging auto in for to actual type commit ad8d78e07e9b789f4d8ae3c6ccc3cea1a05089c0 Author: Karthikeyan Jambu Rajaraman <krajaraman@pivotal.io> Date: Mon Apr 11 16:13:21 2016 -0700 * Handle return value of SetToGenerated from PrepareForExecution * Change size_t to unsigned integer commit d46ee8be414b3ac2a9ea7ef899f29cef3df145c7 Author: Karthikeyan Jambu Rajaraman <krajaraman@pivotal.io> Date: Mon Apr 11 15:30:40 2016 -0700 Introducing template function to do enroll for any type of generator commit 83428605f906e28d0fc994dcc311e0cc3e6d9e12 Author: Karthikeyan Jambu Rajaraman <krajaraman@pivotal.io> Date: Mon Apr 11 14:41:11 2016 -0700 Changing manager to take module name as argument commit b88aa40f89860e7c15503365ea304d2392f71cda Author: Karthikeyan Jambu Rajaraman <krajaraman@pivotal.io> Date: Mon Apr 11 14:27:31 2016 -0700 adding more comments to SlotDeformTupleCodeGenInfo and unique counter commit df1b704548fcbc1b43524064eb2f024995eea865 Author: Karthikeyan Jambu Rajaraman <krajaraman@pivotal.io> Date: Mon Apr 11 14:08:34 2016 -0700 Change test target to have ext .t and adding gitignore for that extension commit 9ee3521ca687c4ea7f13d15893f47146ecdb5277 Author: Karthikeyan Jambu Rajaraman <krajaraman@pivotal.io> Date: Mon Apr 11 13:59:57 2016 -0700 Add target_include_directories for test library header file commit effb7dc165b4c7094731dc39e0872741b28b2e6a Author: Karthikeyan Jambu Rajaraman <krajaraman@pivotal.io> Date: Mon Apr 11 13:36:50 2016 -0700 Move all possible ifdef from gpdb to codegen_wrapper based on pull request comments commit 989b96a91c1e843577b5f24623d1e4a6b810394c Author: Karthikeyan Jambu Rajaraman <krajaraman@pivotal.io> Date: Fri Apr 8 10:43:17 2016 -0700 fixing comments for GetOrigFuncName in codegen_interface commit 665de065c34ea13abcec8c5f3a3336558dae501f Author: Karthikeyan Jambu Rajaraman <krajaraman@pivotal.io> Date: Fri Apr 8 10:27:31 2016 -0700 Disabling codegen guc by default commit ec34513e86dea95bd36ee528724273c1c19e7062 Author: Karthikeyan Jambu Rajaraman <krajaraman@pivotal.io> Date: Thu Apr 7 16:28:43 2016 -0700 Fixed comments space/tab so it aligned in different editor commit 35a60fe2fd053a5babd1820302afad95c5c2635f Author: Karthikeyan Jambu Rajaraman <krajaraman@pivotal.io> Date: Thu Apr 7 16:12:08 2016 -0700 Fixing coding style based on cpplint commit 9477dcf6c0a7ffcca77b9f2c62c7340d13f474aa Author: Karthikeyan Jambu Rajaraman <krajaraman@pivotal.io> Date: Thu Apr 7 13:37:01 2016 -0700 Adding USE_CODEGEN ifdef commit 142ffc1416341a3ac1d0fe37a83577168f2ec166 Author: Shreedhar Hardikar <shardikar@pivotal.io> Date: Tue Apr 5 22:21:19 2016 +0000 Make codegen work with GPDB unit test framework commit 9dca9507dd933a5517bee3ca34615c09c23c1728 Author: Shreedhar Hardikar <shardikar@pivotal.io> Date: Mon Apr 4 22:10:21 2016 +0000 Add gpcodegen_mock.c commit 41d515ff0342d3df3b0853ad91731f6d1d75843c Author: Shreedhar Hardikar <shardikar@pivotal.io> Date: Mon Apr 4 21:46:34 2016 +0000 Remove unneccessary header file includes in codegen commit 14c5e14b9834197693b1ef56efa96386cfe049c5 Author: Foyzur Rahman <frahman@gmail.com> Date: Tue Apr 12 14:49:51 2016 -0700 Integrate codegen framework and make simple external call to slot deform tuple Signed-off-by: NKarthikeyan Jambu Rajaraman <karthi.jrk@gmail.com> Signed-off-by: NFoyzur Rahman <frahman@gmail.com>
-
- 28 10月, 2015 1 次提交
-
-
- 02 1月, 2008 1 次提交
-
-
由 Bruce Momjian 提交于
-
- 27 2月, 2007 1 次提交
-
-
由 Tom Lane 提交于
parent query's EState. Now that there's a single flat rangetable for both the main plan and subplans, there's no need anymore for a separate EState, and removing it allows cleaning up some crufty code in nodeSubplan.c and nodeSubqueryscan.c. Should be a tad faster too, although any difference will probably be hard to measure. This is the last bit of subsidiary mop-up work from changing to a flat rangetable.
-
- 06 1月, 2007 1 次提交
-
-
由 Bruce Momjian 提交于
back-stamped for this.
-
- 04 10月, 2006 1 次提交
-
-
由 Bruce Momjian 提交于
-
- 02 8月, 2006 1 次提交
-
-
由 Joe Conway 提交于
(e.g. "INSERT ... VALUES (...), (...), ...") and elsewhere as allowed by the spec. (e.g. similar to a FROM clause subselect). initdb required. Joe Conway and Tom Lane.
-
- 14 7月, 2006 1 次提交
-
-
由 Bruce Momjian 提交于
-
- 10 6月, 2006 1 次提交
-
-
由 Tom Lane 提交于
because node timing is much less predictable than the patch expects. I kept the API change for InstrStopNode, however.
-
- 30 5月, 2006 1 次提交
-
-
由 Bruce Momjian 提交于
Martijn van Oosterhout
-
- 05 3月, 2006 1 次提交
-
-
由 Bruce Momjian 提交于
-
- 28 2月, 2006 1 次提交
-
-
由 Tom Lane 提交于
bits indicating which optional capabilities can actually be exercised at runtime. This will allow Sort and Material nodes, and perhaps later other nodes, to avoid unnecessary overhead in common cases. This commit just adds the infrastructure and arranges to pass the correct flag values down to plan nodes; none of the actual optimizations are here yet. I'm committing this separately in case anyone wants to measure the added overhead. (It should be negligible.) Simon Riggs and Tom Lane
-
- 07 12月, 2005 1 次提交
-
-
由 Tom Lane 提交于
-
- 15 10月, 2005 1 次提交
-
-
由 Bruce Momjian 提交于
-
- 20 4月, 2005 1 次提交
-
-
由 Tom Lane 提交于
scans, using in-memory tuple ID bitmaps as the intermediary. The planner frontend (path creation and cost estimation) is not there yet, so none of this code can be executed. I have tested it using some hacked planner code that is far too ugly to see the light of day, however. Committing now so that the bulk of the infrastructure changes go in before the tree drifts under me.
-
- 17 4月, 2005 1 次提交
-
-
由 Tom Lane 提交于
return just a single tuple at a time. Currently the only such node type is Hash, but I expect we will soon have indexscans that can return tuple bitmaps. A side benefit is that EXPLAIN ANALYZE now shows the correct tuple count for a Hash node.
-
- 07 4月, 2005 1 次提交
-
-
由 Tom Lane 提交于
ExecProcNode() with a NULL value, so the test couldn't do anything for us except maybe mask bugs. Removing it probably doesn't save anything much either, but then again this is a hot-spot routine.
-
- 26 3月, 2005 1 次提交
-
-
由 Tom Lane 提交于
executing a statement that fires triggers. Formerly this time was included in "Total runtime" but not otherwise accounted for. As a side benefit, we avoid re-opening relations when firing non-deferred AFTER triggers, because the trigger code can re-use the main executor's ResultRelInfo data structure.
-
- 01 1月, 2005 1 次提交
-
-
由 PostgreSQL Daemon 提交于
Tag appropriate files for rc3 Also performed an initial run through of upgrading our Copyright date to extend to 2005 ... first run here was very simple ... change everything where: grep 1996-2004 && the word 'Copyright' ... scanned through the generated list with 'less' first, and after, to make sure that I only picked up the right entries ...
-
- 24 9月, 2004 1 次提交
-
-
由 Neil Conway 提交于
formerly used in execMain. Since that is no longer the case, this patch renames ExecProcAppend() to ExecAppend() for the sake of consistency.
-
- 29 8月, 2004 1 次提交
-
-
由 Bruce Momjian 提交于
-
- 26 5月, 2004 1 次提交
-
-
由 Neil Conway 提交于
In the past, we used a 'Lispy' linked list implementation: a "list" was merely a pointer to the head node of the list. The problem with that design is that it makes lappend() and length() linear time. This patch fixes that problem (and others) by maintaining a count of the list length and a pointer to the tail node along with each head node pointer. A "list" is now a pointer to a structure containing some meta-data about the list; the head and tail pointers in that structure refer to ListCell structures that maintain the actual linked list of nodes. The function names of the list API have also been changed to, I hope, be more logically consistent. By default, the old function names are still available; they will be disabled-by-default once the rest of the tree has been updated to use the new API names.
-
- 03 3月, 2004 1 次提交
-
-
由 Tom Lane 提交于
have been there to start with, except for overly enthusiastic copy-and- paste ...
-
- 30 11月, 2003 1 次提交
-
-
由 PostgreSQL Daemon 提交于
$Header: -> $PostgreSQL Changes ...
-
- 09 8月, 2003 1 次提交
-
-
由 Bruce Momjian 提交于
-
- 04 8月, 2003 2 次提交
-
-
由 Bruce Momjian 提交于
-
由 Bruce Momjian 提交于
-
- 22 7月, 2003 1 次提交
-
-
由 Tom Lane 提交于
-