- 09 12月, 2015 10 次提交
-
-
由 Heikki Linnakangas 提交于
As promised in previous commit. Upstream patch: commit bd0a2609 Author: Tom Lane <tgl@sss.pgh.pa.us> Date: Fri Jun 1 19:38:07 2007 +0000 Make CREATE/DROP/RENAME DATABASE wait a little bit to see if other backends will exit before failing because of conflicting DB usage. Per discussion, this seems a good idea to help mask the fact that backend exit takes nonzero time. Remove a couple of thereby-obsoleted sleeps in contrib and PL regression test sequences.
-
由 Heikki Linnakangas 提交于
In the upstream, we turned autovacuum on by default by one of the merged commits. That change was rejected - autovacuum is still permanently disabled in gpdb. We might want to test and re-enable it, but let's do that separately from the 8.3 merge. The rest of the autovacuum changes changes were applied, to keep the code in sync with the upstream, although it's dead code when autovacuum can't be enabled. This patch removed the 5 seconds wait from CountOtherDBBackends(), that was backported from later PostgreSQL versions. I'm going to cherry-pick that change separately, to get that back. (It was introduced in PostgreSQL 8.3, so we'd get it back later in the merge anyway, but let's take it now to avoid the regression suite issues that it was originally backpatched for.) Conflicts: doc/src/sgml/config.sgml doc/src/sgml/maintenance.sgml src/backend/access/transam/twophase.c src/backend/commands/dbcommands.c src/backend/storage/ipc/procarray.c src/backend/storage/lmgr/proc.c src/backend/utils/misc/guc.c src/backend/utils/misc/postgresql.conf.sample src/include/postmaster/autovacuum.h
-
由 Abhijit Subramanya 提交于
This file got left over from the commit 29cccef6.
-
由 Heikki Linnakangas 提交于
Instead of creating a mock version of every backend object file, only create mock files as needed by individual tests. Speeds up the build, and is nicer anyway.
-
由 Heikki Linnakangas 提交于
This inverts the logic of the <testname>_REAL_OBJS mechanism. We now link with the real version of each object file, *except* those listed in <testname>_MOCK_OBJS variable.
-
由 Heikki Linnakangas 提交于
Some tests were already doing this, but it seems nicer to default to using the real memory manager for all tests. An individual test can still opt-out by listing the relevant files in <testname>_MOCK_OBJS. Some tests had had to jump through hoops to mock the memory manager, which is no longer necessary.
-
由 Heikki Linnakangas 提交于
There are a bunch of backend files that are never mocked, but always linked into test program as is. List those in Makefile.mock, so that every Makefile doesn't need to list them. Makes the makefiles simpler, and you need less boilerplate code when adding a new test program. Not all of these backend files were listed in the _REAL_OBJS variable of every test, but in those tests that they were not, they were also not used, so it doesn't matter if we use the real or mock version.
-
由 Heikki Linnakangas 提交于
This way we don't need to link the whole backend into client mock programs. We've gotten away with it so far, but it would cause clashes if one of the client programs contained a function or global variable with same name as in the backend. And of course it's completely unnecessary anyway.
-
由 Heikki Linnakangas 提交于
Seems cleaner.
-
由 Heikki Linnakangas 提交于
-
- 08 12月, 2015 6 次提交
-
-
由 Heikki Linnakangas 提交于
Adds handling of NULLS FIRST/LAST to merge joins. Conflicts: contrib/pgcrypto/Makefile contrib/pgcrypto/pgp-compress.c contrib/tsearch2/ts_locale.c contrib/tsearch2/ts_locale.h contrib/tsearch2/wordparser/parser.c doc/TODO doc/src/FAQ/TODO.html doc/src/sgml/datatype.sgml doc/src/sgml/func.sgml doc/src/sgml/ref/pg_dumpall.sgml src/backend/access/nbtree/README src/backend/executor/execQual.c src/backend/executor/nodeMergejoin.c src/backend/parser/gram.y src/backend/parser/parse_expr.c src/backend/parser/parse_target.c src/backend/postmaster/pgstat.c src/backend/utils/adt/formatting.c src/backend/utils/adt/ruleutils.c src/backend/utils/adt/xml.c src/include/nodes/primnodes.h src/include/utils/xml.h src/interfaces/ecpg/ecpglib/connect.c src/interfaces/ecpg/ecpglib/data.c src/interfaces/ecpg/ecpglib/extern.h src/interfaces/ecpg/ecpglib/misc.c src/interfaces/ecpg/preproc/ecpg.c src/interfaces/ecpg/test/Makefile src/interfaces/ecpg/test/expected/connect-test1-minGW32.stderr src/interfaces/ecpg/test/expected/connect-test1.c.in src/interfaces/ecpg/test/pg_regress.sh src/test/regress/expected/timestamp.out src/test/regress/expected/timestamptz.out src/test/regress/expected/xml.out src/test/regress/expected/xml_1.out src/test/regress/sql/xml.sql
-
由 Heikki Linnakangas 提交于
This batch doesn't include anything exciting. We had already backported all of these changes, except for a few leftover hunks that had been missed in the previous backports. Conflicts: doc/TODO doc/src/FAQ/TODO.html doc/src/sgml/Makefile doc/src/sgml/docguide.sgml doc/src/sgml/ref/pg_ctl-ref.sgml src/backend/executor/execQual.c src/backend/utils/adt/xml.c src/include/c.h src/include/port.h src/include/port/win32.h src/include/utils/xml.h src/interfaces/ecpg/ecpglib/connect.c src/interfaces/ecpg/ecpglib/data.c src/interfaces/ecpg/ecpglib/misc.c src/interfaces/ecpg/preproc/ecpg.c src/interfaces/ecpg/preproc/extern.h src/interfaces/ecpg/test/expected/compat_informix-charfuncs.c src/interfaces/ecpg/test/expected/compat_informix-dec_test.c src/interfaces/ecpg/test/expected/compat_informix-rfmtdate.c src/interfaces/ecpg/test/expected/compat_informix-rfmtlong.c src/interfaces/ecpg/test/expected/compat_informix-rnull.c src/interfaces/ecpg/test/expected/compat_informix-test_informix.c src/interfaces/ecpg/test/expected/compat_informix-test_informix2.c src/interfaces/ecpg/test/expected/connect-test1-minGW32.stderr src/interfaces/ecpg/test/expected/connect-test1.c src/interfaces/ecpg/test/expected/connect-test1.stderr src/interfaces/ecpg/test/expected/connect-test2.c src/interfaces/ecpg/test/expected/connect-test3.c src/interfaces/ecpg/test/expected/connect-test4.c src/interfaces/ecpg/test/expected/connect-test5.c src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.c src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.c src/interfaces/ecpg/test/expected/pgtypeslib-num_test.c src/interfaces/ecpg/test/expected/pgtypeslib-num_test2.c src/interfaces/ecpg/test/expected/preproc-comment.c src/interfaces/ecpg/test/expected/preproc-define.c src/interfaces/ecpg/test/expected/preproc-init.c src/interfaces/ecpg/test/expected/preproc-type.c src/interfaces/ecpg/test/expected/preproc-variable.c src/interfaces/ecpg/test/expected/preproc-whenever.c src/interfaces/ecpg/test/expected/sql-array.c src/interfaces/ecpg/test/expected/sql-binary.c src/interfaces/ecpg/test/expected/sql-code100.c src/interfaces/ecpg/test/expected/sql-copystdout.c src/interfaces/ecpg/test/expected/sql-define.c src/interfaces/ecpg/test/expected/sql-desc.c src/interfaces/ecpg/test/expected/sql-dynalloc.c src/interfaces/ecpg/test/expected/sql-dynalloc2.c src/interfaces/ecpg/test/expected/sql-dyntest.c src/interfaces/ecpg/test/expected/sql-execute.c src/interfaces/ecpg/test/expected/sql-fetch.c src/interfaces/ecpg/test/expected/sql-func.c src/interfaces/ecpg/test/expected/sql-indicators.c src/interfaces/ecpg/test/expected/sql-quote.c src/interfaces/ecpg/test/expected/sql-show.c src/interfaces/ecpg/test/expected/thread-thread.c src/interfaces/ecpg/test/expected/thread-thread_implicit.c src/interfaces/ecpg/test/pg_regress.sh src/interfaces/libpq/bcc32.mak
-
由 Heikki Linnakangas 提交于
This merges the changes to the planner-to-executor API, so that the planner tells the executor which comparison operators to use. This doesn't have any user visible changes, but paves the way for future changes. This turned out to be laborious to port to GPDB, because there are a lot of extra code and changes to aggregates, to support Window functions and GROUPING SETS. Many GPDB-specific node types and code now need to also carry around the operator OIDs associated with a list of grouping columns. I'm not 100% if this behaves correctly for all cases if you use USING <op> syntax for sorting, window functions etc. But this passes regression tests, and is necessary for implementing USING correctly anyway. Conflicts: src/backend/executor/execGrouping.c src/backend/executor/nodeAgg.c src/backend/executor/nodeGroup.c src/backend/executor/nodeMergejoin.c src/backend/nodes/copyfuncs.c src/backend/nodes/outfuncs.c src/backend/optimizer/path/joinpath.c src/backend/optimizer/plan/createplan.c src/backend/optimizer/plan/planner.c src/backend/optimizer/plan/subselect.c src/backend/optimizer/util/pathnode.c src/include/nodes/plannodes.h src/include/nodes/relation.h src/include/optimizer/pathnode.h src/include/optimizer/planmain.h
-
由 Heikki Linnakangas 提交于
Rearrange code so that we can keep indentation etc. identical to upstream. Makes merging easier.
-
由 Abhijit Subramanya 提交于
The 4.3.JSON file is used by gpcheckcat to figure out the foreign keys for catalog tables. After making catalog changes, this file has to be generated by running tidycat.pl and then copied over to gpMgmt/bin/gppylib/data/ directory. If this file is not updated correctly to reflect the catalog changes it will cause gpcheckcat to fail to identify foreign key inconsistencies.
-
由 Esmaeil Amini 提交于
Close #151
-
- 06 12月, 2015 2 次提交
-
-
由 Heikki Linnakangas 提交于
There is some overhead for every statement executed, so we can shave a few seconds from regression tests by using multi-line INSERTS instead of inserting each row in a separate statement. Also remove some dummy SELECTs from heapscan1 test while we're at it.
-
由 Heikki Linnakangas 提交于
-
- 05 12月, 2015 5 次提交
-
-
由 Pengcheng Tang 提交于
The typo is from the dumping based on object types(i.e, index/function/trigger/table/data), but currently gpdb does not support this feature ported from postgres. Initially planned to remove the related dead code, but as we do the merge of the upstream postgres, I decide to save the code to minimize the diff and effort in case we want to support such in future.
-
由 Abhijit Subramanya 提交于
auxiliary tables to not get shrunk and generate a notice to the user. The AppendOnlyCompaction_IsRelationEmpty() function incorrectly assumed that the column number for tupcount column was the same in pg_aoseg and pg_aocsseg tables. This cause it to incorrectly return true even when the CO relation was not empty. This method is used in vacuum to determine if the auxiliary relations need to be vacuumed. Due to the bug, vacuum would update the pg_aocsseg relation and vacuum it within the same transaction and hence generate the NOTICE that it can't shrink the relation because transaction is already in progress and would not shrink the relation. Also make sure that we do a vacuum on the auxiliary relations only in two cases :- 1. Vacuum cleanup phase 2. Relation is empty and we are in prepare phase Otherwise we will end up with the same issue above if some of the segments have zero rows
-
由 Abhijit Subramanya 提交于
pg_regress uses a tool called gpdiff.pl in order to compare diffs between expected and actual result files in installcheck-good. pg_regress was hard coded to always invoke gpdiff.pl to ignore NOTICE statements. Instead it would be better to selectively ignore some NOTICE statements which are harmless and which show up very often and compare the rest. This patch causes pg_regress to invoke gpdiff.pl with an init_file which contains patterns that are to be ignored.
-
-
由 Atri Sharma 提交于
-
- 04 12月, 2015 5 次提交
-
-
由 Heikki Linnakangas 提交于
pathnode_copy_node() was dead. The freeze_outer_path argument was always passed as false. Remove it. Make some functions that are only called within the same .c file static. And revert some whitespace changes vs. upstream. All of these changes reduce the diff against upstream slightly, reducing merge conflicts in the future.
-
由 Heikki Linnakangas 提交于
They belong in headers. Otherwise, if the function's signature changes, the compiler will not warn you.
-
由 Heikki Linnakangas 提交于
Makes merging easier.
-
由 Heikki Linnakangas 提交于
It's no longer needed, as Params carry a typmod now.
-
由 Xin Zhang 提交于
-
- 03 12月, 2015 10 次提交
-
-
由 Heikki Linnakangas 提交于
This adds the log_temp_files GUC. All the other changes in this batch we had backported already. Conflicts: contrib/adminpack/adminpack.c contrib/pgbench/pgbench.c doc/README.mb.big5 doc/TODO doc/src/FAQ/TODO.html doc/src/sgml/Makefile doc/src/sgml/charset.sgml doc/src/sgml/config.sgml doc/src/sgml/docguide.sgml src/backend/access/common/heaptuple.c src/backend/access/heap/heapam.c src/backend/storage/file/fd.c src/backend/utils/misc/postgresql.conf.sample src/include/access/heapam.h src/include/access/htup.h src/include/utils/guc.h src/tools/copyright src/tools/msvc/build.bat src/tools/msvc/gendef.pl
-
由 Heikki Linnakangas 提交于
Revert those.
-
由 Heikki Linnakangas 提交于
I suspect these files used DOS line endings at some point, and they got mangled into two newlines. I did this for select.sgml as part of previous merge commit already.
-
由 Heikki Linnakangas 提交于
This adds support for NULLS FIRST/LAST. Also bump the ORCA version number, as ORCA had to be slightly modified to support NULLS FIRST. There is a change to the behaviour of NULL constants in a UNION. This used to work in Greenplum: "select 1 union select distinct null", but now it throws an error because the datatype of the NULL is not not known. It has always thrown an error in PostgreSQL, and I couldn't figure out if it was an intentional change in Greenplum, or something that fell out of other changes by accident. I'm not sure what part of this patch caused that change in behaviour. If that was intentional, we might have to change it again, but for now I changed the expected output of regression tests to match the upstream behaviour. Conflicts: doc/TODO doc/src/FAQ/TODO.html doc/src/sgml/catalogs.sgml doc/src/sgml/queries.sgml doc/src/sgml/ref/create_index.sgml doc/src/sgml/sql.sgml doc/src/sgml/xindex.sgml src/backend/access/hash/README src/backend/access/nbtree/README src/backend/access/nbtree/nbtsearch.c src/backend/catalog/index.c src/backend/catalog/toasting.c src/backend/commands/analyze.c src/backend/commands/indexcmds.c src/backend/executor/nodeAgg.c src/backend/executor/nodeSort.c src/backend/nodes/copyfuncs.c src/backend/nodes/outfuncs.c src/backend/optimizer/path/allpaths.c src/backend/optimizer/plan/createplan.c src/backend/optimizer/util/clauses.c src/backend/parser/analyze.c src/backend/parser/gram.y src/backend/parser/keywords.c src/backend/parser/parse_clause.c src/backend/parser/parser.c src/backend/utils/adt/ruleutils.c src/backend/utils/adt/selfuncs.c src/backend/utils/cache/lsyscache.c src/backend/utils/sort/tuplesort.c src/include/catalog/catversion.h src/include/catalog/pg_am.h src/include/nodes/plannodes.h src/include/nodes/relation.h src/include/parser/parse_clause.h src/include/utils/tuplesort.h src/test/regress/expected/create_index.out src/test/regress/expected/select.out src/test/regress/sql/geometry.sql src/test/regress/sql/select.sql src/tools/msvc/README src/tools/msvc/mkvcbuild.pl
-
由 Shang Shujie 提交于
-
由 Yandong Yao 提交于
-
由 Entong Shen 提交于
This reverts commit 82216def.
-
由 Entong Shen 提交于
-
由 Nikos Armenatzoglou 提交于
Function pinv, and not its caller, should be responsible for initiating the entries of the result table. Actually, we move the fix of commit 5d870156 inside pinv.
-
由 Heikki Linnakangas 提交于
This was causing a segfault when compiling with -O3 on Centos 7 (gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-9)). I'm not 100% if that was actually a compiler bug, but unaligned access would definitely be wrong on architectures that are strict on alignment anyway.
-
- 02 12月, 2015 2 次提交
-
-
由 Gang Xiong 提交于
When there are too many constant predicates in IN (NOT IN) clause, signal is not handled in the loop of calling predicate_refuted_by_recurse.
-
由 Gang Xiong 提交于
Alter partitioned table set distributed by will dispatch information from QD to QEs, the information is not correctly coded and decoded on both sides when: 1. reorganize = false. 2. table have index. 3. partition table have "with" option.
-