- 09 12月, 2015 2 次提交
-
-
由 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 7 次提交
-
-
由 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.
-
由 Heikki Linnakangas 提交于
This was put in some time ago as a work-around for detection of SSE 4.2 support. But we have pretty solid autoconf magic for that now, so that's no longer needed. Moreover, that rock-solid autoconf magic was getting confused by the way we pass compiler flags in CC rather than CFLAGS.
-
由 Lirong Jian 提交于
-
由 Jimmy Yih 提交于
Authors: Jimmy Yih and James McAtamney
-
由 Jimmy Yih 提交于
Previously, when performing an incremental restore, tuple counts on the master for all AO/CO tables would be updated, including those AO/CO tables that already existed in the target database. These counts would still be updated regardless of which tables were restored, or whether any of the restored tables were AO/CO tables. AO/CO statistics are now updated only for those AO/CO tables that are part of the incremental restore. Authors: Jimmy Yih and James McAtamney
-
由 Ed Espino 提交于
-
- 01 12月, 2015 3 次提交
-
-
由 Garrett Thornburg 提交于
This patch merges the PostgreSQL 9.5 implementation of SSE4.2 into GPDB. The SSE4.2 implementation was lifted right out of PostgreSQL without change to make merging later PostgreSQL releases easier. Update win32 configuration to support SSE4.2 runtime checks This change was pulled from "src/include/pg_config.h.win32" from the commits below. configure.in changes, determining if cpu instruction for perfomring runtime checks are availible, and moving some of the code to port SSE4.2 came from the following PostgreSQL commits: commit 3dc2d62d Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> Date: Tue Apr 14 17:05:03 2015 +0300 Use Intel SSE 4.2 CRC instructions where available. Modern x86 and x86-64 processors with SSE 4.2 support have special instructions, crc32b and crc32q, for calculating CRC-32C. They greatly speed up CRC calculation. Whether the instructions can be used or not depends on the compiler and the target architecture. If generation of SSE 4.2 instructions is allowed for the target (-msse4.2 flag on gcc and clang), use them. If they are not allowed by default, but the compiler supports the -msse4.2 flag to enable them, compile just the CRC-32C function with -msse4.2 flag, and check at runtime whether the processor we're running on supports it. If it doesn't, fall back to the slicing-by-8 algorithm. (With the common defaults on current operating systems, the runtime-check variant is what you get in practice.) Abhijit Menon-Sen, heavily modified by me, reviewed by Andres Freund. commit b4eb2d16 Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> Date: Tue Apr 14 19:56:00 2015 +0300 On gcc and clang, the _mm_crc32_u8 and _mm_crc32_u64 intrinsics are not defined at all, when not building with -msse4.2. But on icc, they are. So we cannot assume that if those intrinsics are defined, we can always use them safely, we might still need the runtime check. To fix, check if the __SSE_4_2__ preprocessor symbol is defined. That's supposed to be defined only when the compiler is targeting a processor that has SSE 4.2 support. Per buildfarm members fulmar and okapi.
-
由 Heikki Linnakangas 提交于
I already removed support from the backend and from tools in src/bin earlier, but missed these tools in contrib.
-
由 Heikki Linnakangas 提交于
I removed everything else from gpupgrade earlier, but missed this file for reason.
-