- 11 5月, 2016 9 次提交
-
-
由 Heikki Linnakangas 提交于
There were a lot of unused tables and functions, and chaff like comments that are not needed for the actual tests in the file. At first glance, some of the things seemed marginally useful to test on their own right, like loading data with non-ASCII characters in it, but all the setup stuff was in a large ignore-block, so any failures there would go unnoticed anyway. Removing unnecessary stuff is a virtue of its own, but this also speeds up the test nicely.
-
由 Heikki Linnakangas 提交于
-
由 Heikki Linnakangas 提交于
The stuff that's inherited from upstream stays in create_table, while the stuff that we've added in GPDB is split off to gp_create_table. Separating them makes merging and diffing with upstream easier.
-
由 Heikki Linnakangas 提交于
The test with stress_test() function (and accompanying tables) was created and executed once. Then it was dropped, and recreated, and then executed two times. Executing the same function twice might reveal bugs in plan caching, so I kept that (although TBH we have better coverage for that elsewhere). But I don't see the point of dropping and recreating it in between: surely it's good enough to just create the function once, and execute it twice. This reduces the runtime of qp_functions test by about 1/3 (from 3 minutes to 2 minutes on my laptop).
-
由 Daniel Gustafsson 提交于
The exponent in the pow calculation is integer and can thus not be infinity, remove for logical OR in check. Andreas Scherbaum and Atri Sharma
-
由 Heikki Linnakangas 提交于
An earlier attempt at this checked AmIInSIGUSR1Handler() to see if we are currently processing a catchup event. But that's not good enough: we also process catchup interrupts outside the signal handler, in EnableCatchupInterrupt(). I saw lockups during "make installcheck-good" with a stack trace that shows a backend waiting for lock on a temporary relation, while trying to truncate it when committing the transaction opened for processing a catchup event. For reference, the commit message for the commit that introduced the AmIInSIGUSR1Handler check said: Recent parallel installcheck-good revealed we have a chance to process catchup interrupt while waiting for commit-prepare, and if the prepared transaction has created a temporary table with on commit option, the newly opened transaction for the sake of AcceptInvalidationMessages() cannot see and fails before the commit-prepare. It's even not clear if we are safe to open and commit another transaction between prepare and commit-prepare, but for now just skip the oncommit operation as it doesn't have any effect anyway.
-
由 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>
-
-
由 Larry H 提交于
* new "unitdevel" target uses whatever libraries and python is provided by developer's PATH * that new "unitdevel" target allows whatever logging that the unit tests output, to stdout * change names of 4 "unit" test files that actually require a cluster to be running to have "_cluster_" in their names * keep the behavior of the existing "make check" to run both pure unit tests AND the "_cluster_" tests
-
- 10 5月, 2016 12 次提交
-
-
由 Daniel Gustafsson 提交于
Spotted while fixing consumers of this function in 09ed186.
-
由 Daniel Gustafsson 提交于
MirroredBufferedPool_Truncate() returns a boolean so testing for (!returnvalue < 0) will always return false and not what we expect it to test. Github user fengttt.
-
由 Heikki Linnakangas 提交于
It might be useful in debugging, but it got pretty badly in the way while merging with PostgreSQL 8.3. We could fix it, of course, but on balance, I don't think it's worth the effort. It's going to be a maintenance burden going forward too, as the WATCH_* calls are scattered all over the visibility checking code. If we need debugging code like that, we should find a less invasive way to implement it, or submit the mechanism to upstream so that we wouldn't need to maintain it as a diff.
-
由 Heikki Linnakangas 提交于
Refactor to match upstream more closely.
-
由 Heikki Linnakangas 提交于
Not urgent to do right now, but makes merging and diffing easier.
-
由 Heikki Linnakangas 提交于
Revert the change to use binary search instead of linear search, for searching the type array. Bootstrapping is hardly performance critical, and the array isn't that large anyway. Remove "bigint" from the array. I'm not sure what it was added for originally, but it's not present in the upstream, and initdb seems to work without it.
-
由 Kuien Liu 提交于
The reason to remove them is because: print_variable_fields is initialized to true, and only set to false in outfuncs_workfile_mgr_init() function. But outfuncs_workfile_mgr_init() is never called. So we can remove all of: print_variable_fields, outfuncs_workfile_mgr_init(), outfuncs_workfile_mgr_end(), and all the if() tests depending on print_variable_fields. Co-authored-by: Kuien Liu and Heikki Linnakangas
-
由 Nikos Armenatzoglou 提交于
This reverts commit d3edab91. The changes to the test are correct. However, there is an issue with gp_primarymirror that causes the ICG tests to fail. I revert this commit, until we solve the issue with gp_primarymirror.
-
-
由 Larry H 提交于
* Add Behave test that uncovers the bug hinted at by the compiler warning.
-
由 Heikki Linnakangas 提交于
Commit e0409357 changed size estimation for empty tables, which changed the plan you get for this query. The new plan looks as good as the old one, so memorize that as expected output.
-
由 Heikki Linnakangas 提交于
Commit 5702a724 changed changed the NOTICE you get when you create a table with zero columns, but neglected updating expected outputs accordingly. It went unnoticed because the NOTICEs are masked by the init_file used in "make installcheck-good". But lets be tidy.
-
- 09 5月, 2016 8 次提交
-
-
由 Heikki Linnakangas 提交于
This is a backport of the following upstream commit: --- commit edc9109c Author: Peter Eisentraut <peter_e@gmx.net> Date: Thu Sep 27 20:22:50 2012 -0400 Produce textual error messages for LDAP issues instead of numeric codes --- Signed-off-by: Dan Lynch (dlynch@gopivotal.com)
-
由 Heikki Linnakangas 提交于
To gpdiff.pl, "---" looks like the beginning of a result set, so it sorts the rows following that. As long as the test case passes, that doesn't matter, but if there's a failure, the output diff is mixed up.
-
由 Andreas Scherbaum 提交于
since I get error when initsystem if the segment number >8 [FATAL]:-mismatch between content id and primary content id I check that this is because, when matching mirror with primary has different order for some index. e.g. I print the sort result: primary is 0,10,11,12,13,1,14,15... mirror is 0,10,11,12,13,14,1,15.... I believe it make more sense that we use sort -n , so I changed the code, and init system successfully. Patch submitted by @byxiangfei
-
由 Heikki Linnakangas 提交于
If pg_auth_time_constraint contains a role OID that doesn't exist in pg_authid, we used to crash at system startup. A corrupt catalog table is not good, but refusing to start up is even worse. Make write_auth_time_file() function more resilient, and throw a warning in that situation, and avoid the crash. The crash happened in the pq_qsort() after this loop, because time_name_compar expects every authtime_entry being sorted to have a valid non-NULL role name.
-
由 Heikki Linnakangas 提交于
While hacking in this area, at one point I broke the code so that a partition was not correctly in a segment as it should've been, even though it was locked in the master. Fortunately, I noticed that in manual testing before committing, but to prevent such bugs from slipping in in the future, enhance the 'partition_locking' test to catch that kind of bugs.
-
由 Heikki Linnakangas 提交于
The int -> text cast (and many other casts to text) were downgraded to assignment casts in the upstream, and we're about to merge that patch soon. To prepare for that and to reduce the size of that huge merge commit somewhat, adjust GPDB test cases to not rely on those casts that are about to be removed. When the casts were downgraded in the upstream, it revealed a lot of buggy queries in applications (or put another way, it broke a lot of applications :-) ). Many of the queries in our regression tests look bogus like that as well, for example the "sale.dt < 10" comparison in the qp_olap_mdqa test (sale.dt is a date). But I didn't try to change the meaning of the queries, I just added the casts needed to make them do the same thing they used to. I'm afraid that changing the substance of the queries would reduce our code coverage, if the tests are reproducing some very specific scenario.
-
由 Heikki Linnakangas 提交于
There's no real need for a separate MemoryContext for EXPLAIN stuff. Might as well leave all that in the per-statement context.
-
由 Heikki Linnakangas 提交于
Workfile caching was an experimental feature that was never taken into production use. It has since been removed, but these instrumentation remnants of it were still lying around unused.
-
- 07 5月, 2016 1 次提交
-
-
由 Andreas Scherbaum 提交于
This change should be publicized to driver maintainers at once and release-noted as an incompatibility with previous releases. (cherry picked from commit 0839f312) Changes to doc/src/sgml/{config,syntax}.sgml ignored as they are not present in gpdb.
-
- 06 5月, 2016 7 次提交
-
-
由 Daniel Gustafsson 提交于
Fixes a few observed spelling errors and also removes excessive whitespace in comments.
-
由 Gang Xiong 提交于
refactor cdbdisp_dispatchToGang interface. refactor memory management in dispatch.
-
由 Adam Lee 提交于
-
由 Adam Lee 提交于
-
由 Adam Lee 提交于
-
由 Adam Lee 提交于
-
由 Amil Khanzada 提交于
-
- 05 5月, 2016 3 次提交
-
-
由 Kuien Liu 提交于
Files changed: modified: src/backend/cdb/motion/ic_common.c modified: src/backend/executor/spi.c modified: src/backend/nodes/outfuncs.c modified: src/backend/optimizer/path/costsize.c modified: src/backend/storage/file/compress_zlib.c Note: The warning in function _outScanInfo() of outfuncs.c is temporally fixed and would be treated as dead code to be removed soon. Thanks to Heikki Linnakangas' comments.
-
由 Nikos Armenatzoglou 提交于
-
由 Larry Hamel 提交于
* a bug was introduced by a feature that looked for partition tables that were moved to other schemas. * fixed here by qualifying with schema name, tightening the criteria * added Behave test
-