- 08 6月, 2016 4 次提交
-
-
由 Asim R P 提交于
If found inconsistent, the free tid list will be rebuilt automatically during recovery. During normal operation, super user may invoke the function gp_persistent_freelist_rebuild(OID) to rebuild the free list. A basic test case is added to verify sanity of a free tid list rebuilt using the function.
-
由 Asim R P 提交于
Break long elog messages into multiple lines, remove trailing whitespace and start elog messages with lower case.
-
由 Nikos Armenatzoglou 提交于
-
This closes #815
-
- 07 6月, 2016 17 次提交
-
-
由 Heikki Linnakangas 提交于
This allows removing the weird pfree() of the resultTupleSlot's tuple descriptor. What would've happened without the pfree() is that the old slot was allocated in the first ExecAssignScanProjectionInfo() call, in partitionMemoryContext, and then immediately destroyed when the memory context was reset. The second call to ExecAssignScanProjectionInfo() tries to free the slot, again, causing the segfault. But we can avoid that by this rearrangement of the calls in a cleaner way. In the passing, clean up the code a bit. I found having separate variables, indexState and scanState, which point to the same struct, to be confusing.
-
由 Heikki Linnakangas 提交于
ss_ScanTupleSlot is not an array, it's a single slot. The slot is allocated from a bigger array, however, so this trampled over some other slot that was allocated right after the scan slot. This has apparently been harmless, as no-one's noticed, but it's surely wrong. I bumped into this in the PostgreSQL 8.3 merge branch, where I had changed the way the slots are allocated so that they're not stored in one big array anymore. This bug led to segfaults in that case.
-
由 Heikki Linnakangas 提交于
We had later added code that allows "DEFAULT NULL", by doing a table rewrite. DEFAULT NULL is really the same as no default, so we might as well do a table rewrite for that case too, and save the code needed to handle them differently.
-
由 Heikki Linnakangas 提交于
A function might legitimately assume that an argument's varlen datum always has a 4-byte header, if the datatype is marked as 'plain', and crash if we then pass it a datum with 1-byte header, because it was packed in a memtuple. I bumped into this while working on the PostgreSQL 8.3 merge, because the merge brought us one such function: ts_rewrite().
-
由 Heikki Linnakangas 提交于
The one in nodeBitmapHeapScan.c is what the upstream has. The one in execBitmapHeapScan.c was copied from it in GPDB. No need for the duplication. It's not clear to me why we have the execBitmapHeapScan.c file at all, why not just use all the functions in nodeBitmapHeapScan.c. But I'll leave investigating that for another day.
-
由 Heikki Linnakangas 提交于
This has the effect that gpmapreduce is exempt from logging also when it uses the extended query protocol (we only to only perform the checks in exec_simple_query()). That makes no difference in practice, though, because gpmapreduce doesn't actually use the extended query protocol.
-
由 Daniel Gustafsson 提交于
The redefinitions broke the win32 build on Pulse. This was part of 3bc25384 which was backported from upstream but left this in. This makes the win32 Pulse build green.
-
由 Heikki Linnakangas 提交于
This isn't strictly necessary, but makes the code easier to read, IMHO. And it seems like a very useful property that the index can only exist in the segments, if it exists in the master.
-
由 Heikki Linnakangas 提交于
-
由 Heikki Linnakangas 提交于
It seems better to send in compressed form, and decompress in the receiver, to reduce network I/O. The amount of CPU work required for the decompression is the same whether its done in the sender or the receiver. There was even a comment implying that, but for some reason, we didn't do it that way. This is in preparation for the PostgreSQL 8.3 merge: The HEAP_COMPRESSED (and HEAP_HASEXTENDED which included it) flag was removed in PostgreSQL 8.3.
-
由 Heikki Linnakangas 提交于
Merging is easier, when the upstream regression test files (create_index) are as unmodified as possible, and any GPDB added tests are added to separate files (bitmap_index). Also, the only planner vs. ORCA differences in output were in the GPDB-added parts of this, so this allows removing the ORCA alternative expected output file for the create_index test.
-
由 Heikki Linnakangas 提交于
Commit dc87e717 moved DataSourceContext to TopTransactionContext, so it doesn't need to be explicitly destroyed at end of transaction anymore. But the pointer to it still needs to be reset. Fixes failures in the external_table regression test.
-
由 Heikki Linnakangas 提交于
Per report and analysis by Asim R P.
-
由 Asim R P 提交于
The existing run() function waits for the process to finish. On many occasions, e.g. transaction management tests, it is desirable to leave the process running in background and check its status later.
-
由 Foyzur Rahman 提交于
Signed-off-by: NMarc Spehlmann <marc.spehlmann@gmail.com>
-
由 Chumki Roy 提交于
Signed-off-by: NZak Auerbach <zauerbach@pivotal.io>
-
由 Heikki Linnakangas 提交于
-
- 06 6月, 2016 5 次提交
-
-
由 Heikki Linnakangas 提交于
I neglected these in previous commit.
-
由 Heikki Linnakangas 提交于
This is a partial backport of a larger body of work which also already have been partially backported. Remove the GPDB-specific "breadcrumbs" mechanism from the parser. It is made obsolete by the upstream mechanism. We lose context information from a few errors, which is unfortunate, but seems acceptable. Upstream doesn't have context information for those errors either. The backport was originally done by Daniel Gustafsson, on top of the PostgreSQL 8.3 merge. I tweaked it to apply it to master, before the merge. Upstream commit: commit b153c092 Author: Tom Lane <tgl@sss.pgh.pa.us> Date: Mon Sep 1 20:42:46 2008 +0000 Add a bunch of new error location reports to parse-analysis error messages. There are still some weak spots around JOIN USING and relation alias lists, but most errors reported within backend/parser/ now have locations.
-
由 Heikki Linnakangas 提交于
The function was rewritten in GPDB, and its behaviour was changed to also return 'true' if the expression contains an Aggref of the given level. That change in behaviour was made back in 2006, as part of a commit containing a lot of subquery optimization changes. I could not find an explanation for that particular change, and all the regression tests pass without so I assume that it has become obsolete at some point over they years. This smoothens the way for future merges with upstream, by reducing the diff in both code and behaviour. Also, you get a more accurate error message in a few cases, as seen by the changes to expected output.
-
由 Daniel Gustafsson 提交于
This brings in the intarray contrib module from 8.3 with a few minor changes. * The Gin operator class is removed from the installation since Gin indexes are currently turned off in GPDB * A few compiler warnings are silenced * fdf2dbda which contains many bug-fixes is cherry-picked from upstream * A bug in bench.pl for printing the query plan is fixed * gppkg files are provided in package/
-
由 Tom Lane 提交于
This will support fixing contrib/intarray (and probably other places) so that they don't have to fail on arrays that contain a null bitmap but no live null entries.
-
- 05 6月, 2016 5 次提交
-
-
由 Daniel Gustafsson 提交于
Fixes compiler warning for implicit function declaration in proc.c
-
由 Daniel Gustafsson 提交于
Using the string literal in errmsg directly without a format string triggers warnings in clang under -Wformat-security. Use a simple format string containing just a reference to the string literal to avoid warnings and possibly hiding bugs.
-
由 Daniel Gustafsson 提交于
The tuplestore in xpath_table() is created with random access even though it might not require it, the scaffolding for dealing with relaxing this (commit 05bba3d1) came the in 8.4 cycle and is yet to be merged. For now drop down to always requesting random access awaiting the merge of the 8.4 patches.
-
由 Daniel Gustafsson 提交于
The px_alias and int_digest structs only have two members so remove superflous members in the initialization call.
-
由 Daniel Gustafsson 提交于
As outlined in https://github.com/greenplum-db/gpdb/issues/685 we have a problem with resetting GUCs in the backends when the GUC was previously set in the per connection parameter. Explicitly set this GUC to false since that's the intention with the RESET commands in these cases to increase robustness of the tests.
-
- 04 6月, 2016 2 次提交
-
-
由 Nikos Armenatzoglou 提交于
Signed-off-by: NGeorge Caragea <gcaragea@pivotal.io>
-
由 Heikki Linnakangas 提交于
If log_min_messages = 'debug5', we call the text output function for everything that's serialized to be sent from QD to QEs. I added a new node type, QueryDispatchDesc, in commit 41478b89, but I only gave it the "fast" output function, not the text version. That produced a warning about missing output function, with log_min_messages='debug5'. This fixes the failure of qp_executor test, reported by Omar Arap.
-
- 03 6月, 2016 7 次提交
-
-
由 Heikki Linnakangas 提交于
The readRangeTblEntry() function was missing the line for 'pseudocols' field. I'm surprised the function worked at all, I thought the read functions don't work if there are any extra fields. Maybe they're more forgiving if it's last field that's missing. In any case, seems like an oversight. It doesn't matter in practice, as the pseudocols field is only used during planning, and we don't serialize nodes at that stage. Rule definitions are serialized before planning, and for the transfer between QD and QEs, we use the 'fast' versions of these functions. In the 'fast' version, the 'pseudocols' is missing from both the out function and the read function. That seems intentional, so add a comment about it.
-
由 Heikki Linnakangas 提交于
The copy/out/read functions for it were wrong: a Bitmapset is not a Node, so one should use e.g. COPY_BITMAPSET_FIELD() instead of COPY_NODE_FIELD() for them. But since the fields are currently unused, let's just remove them. These fields will be resurrected soon, by the PostgreSQL 8.3 merge, as they were introduced in PostgreSQL 8.3. Then they will actually be used, too.
-
由 Heikki Linnakangas 提交于
The multiset_5 function returns a "SET OF example", but the 'a' column was dropped from 'example' table earlier. The statement currently produces a different error, because anytable cannot be passed to PREPARE, but if that worked, this would fail because of the broken ORDER BY. The purpose of this test is to test PREPARE with anytable, so let's not have a broken ORDER BY.
-
由 Heikki Linnakangas 提交于
Just to keep the normal expected output and ORCA expected output as close to each other as possible. You do get those NOTICEs when you run the queries, but they are ignored thanks to the "init-file" we use.
-
由 Heikki Linnakangas 提交于
-
由 Heikki Linnakangas 提交于
Reformat some of the test queries, and make sure the formatting is the same between the .sql file and .out file (pg_regress uses "diff -w", which masks out some of the differences, but it was annoying while doing a manual diff).
-
由 Heikki Linnakangas 提交于
pg_regress uses gpdiff.pl to mask differences in costs etc. of EXPLAIN output, so that trivial changes in the plan output don't cause a regression failure. That mechanism didn't work for this EXPLAIN query, because the "explain" and "select" were on different lines. Remove the newline, to make gpdiff.pl recognize the query as an EXPLAIN query, to make the test case less fragile.
-