- 29 6月, 2016 4 次提交
-
-
由 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.
-
由 Shreedhar Hardikar 提交于
Replace RegisterExternalFunction with GetOrRegisterExternalFunction using an unordered_map in codegen_utils
-
由 Shreedhar Hardikar 提交于
* Derive GpCodegenUtils from CodegenUtils for GPDB specific utilities. * Move ElogWrapper functions to GpCodegenUtils * Implement GetOrRegisterExternalFunction
-
- 28 6月, 2016 8 次提交
-
-
由 Daniel Gustafsson 提交于
The functions GetPartitionTargetlist() and UpdateGenericExprState() are not called from anywhere so remove.
-
由 Kenan Yao 提交于
of meaningless code.
-
由 Kenan Yao 提交于
-
由 Kenan Yao 提交于
-
由 Daniel Gustafsson 提交于
The correct name is gp_set_proc_affinity, not gp_proc_affinity. Spotted by Alexey Grishchenko.
-
由 Kenan Yao 提交于
-
由 Kenan Yao 提交于
-
-
- 27 6月, 2016 2 次提交
-
-
由 Kenan Yao 提交于
in new added code.
-
- 25 6月, 2016 4 次提交
-
-
由 Tristan Su 提交于
-
由 Shreedhar Hardikar 提交于
-
由 Nikos Armenatzoglou 提交于
-
由 George Caragea 提交于
When we execute an ALTER TABLE statement that splits default partition into a "New" and a new Default partition, we perform the following 5 steps: * copy the tuples located in the default partition into a temporary table, * drop default partition, * create the “New“ partition, * create the new DEFAULT partition, and * copy all tuples from the temporary table into the newly created partitions. The last step is executed in split_rows, where for each tuple in the temporary table, * we determine the target partition/table, * construct the slot of the target table (if is NULL), and * store the tuple into the target table. Currently, we allocate the tuple table slot of the target table into a per-tuple memory context. If the size of that memory context exceeds 50KB, then we reset it. This will cause issues, since it will free target table's slot and at the next iteration (copy the next tuple) we will try to access the attributes of a freed (and not NULL) slot. In addition, the target table slot lifespan is much longer than an individual tuple. So it is not correct to allocate the slot in a per-tuple memory context. To solve this issue, we allocate target's tuple table slot in PortalHeapMemory. This is the CurrentMemoryContext that is used in split_rows before we start copying tuples. PortalHeapMemory is used already for storing the tuple table slot of the temporary table and the ResultRelInfo of the target tables. PortalHeapMemory is not freed while we copy tuples. After copying all tuples to the new partitions, we drop target tables' slots. Signed-off-by: NNikos Armenatzoglou <nikos.armenatzoglou@gmail.com>
-
- 23 6月, 2016 3 次提交
-
-
由 Daniel Gustafsson 提交于
Saving the error message into the static buffer can lead to overflow since the string copy isn't bounded. Move to using a bounded copy and also indicate truncated messages by ending them with ".." Considering that this doesn't seem to have happened indicates that it's not worth dynamically extending/shrinking the buffer to cope with the input, simply ensuring to not overflow is probably enough.
-
由 Daniel Gustafsson 提交于
Fixed the function return value declarations to be consistent while in there fixing another thing. There are more style fixes that could be applied but one thing at a time.
-
-
- 22 6月, 2016 8 次提交
-
-
由 Daniel Gustafsson 提交于
-
由 Daniel Gustafsson 提交于
Spotted when working on related code.
-
由 Daniel Gustafsson 提交于
If we are unable to unlink the temporary files in the shareinput cleanup it seems quite aggressive to insist_log() and forcibly exit. This cleanup can be called as part of transaction abort.
-
由 Daniel Gustafsson 提交于
When bfz_close() is called in the codepath during the abortion of a transaction we must avoid throwing even more errors unless the situation calls for it. For bfz_close() it's fine to lower the ereport level to WARNING in this case. Longer term we should move this, and other, codepaths away from calling unlink() directly and instead use the API provided but this closes a current issue in ICG so better to close this immediately and refactor all callsites when having a clean ICG.
-
由 Daniel Gustafsson 提交于
The LOG_GANG_DEBUG statements that include members in the Gang struct should only run after we've validated that the Gang struct pointers aren't NULL to avoid segfaulting.
-
由 Daniel Gustafsson 提交于
Found this README while reading some code and rather than fixing the incorrect path specification it seemed equally useful to just remove it since it carries very little information.
-
由 Gang Xiong 提交于
-
-
- 21 6月, 2016 6 次提交
-
-
由 Daniel Gustafsson 提交于
-
由 Gang Xiong 提交于
-
由 Gang Xiong 提交于
When create gang failed and all segment DB are alive, we could retry when any of the following conditions is met: 1) This is the writer gang. 2) This is the first reader gang and the writer gang is healthy. 3) All failed connections are due to segment recovery.
-
Signed-off-by: NShreedhar Hardikar <shardikar@gmail.com>
-
This closes #836 Signed-off-by: NMarc Spehlmann <cramja@gmail.com> reorder header file
-
This closes #858
-
- 20 6月, 2016 4 次提交
-
-
由 Gang Xiong 提交于
-
由 Gang Xiong 提交于
-
由 Gang Xiong 提交于
Currently gp_connections_per_thread=0 means using main thread to do dispatch instead of creating new threads. It's not working if segments report error before sending back any data. For example: create table foo(id int); insert into foo values(0); set gp_connections_per_thread=0; select 100/id from foo; We disable it for now and will reenable it when we have the new implementation of non-threaded dispatcher.
-
由 Gang Xiong 提交于
-
- 19 6月, 2016 1 次提交
-
-
由 Daniel Gustafsson 提交于
The agebracket.yml mapred test case is testing the reduction with a simple reducer summing the values. GPMapred has a builtin SUM reducer however which will yield the same result, extend the test with a copy of the agebracket.yml test using the builtin ensuring that the output is identical.
-