1. 09 12月, 2015 2 次提交
  2. 08 12月, 2015 6 次提交
    • H
      Merge commit '02609893' from PostgreSQL 8.3. · 0728c12b
      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
      0728c12b
    • H
      Merge commit '5b88b85c' from PostgreSQL 8.3. · fbb0f23e
      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
      fbb0f23e
    • H
      Merge commit 'a191a169' · 1f4ad703
      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
      1f4ad703
    • H
      Revert some unnecessary changes vs upstream. · d5a9ba46
      Heikki Linnakangas 提交于
      Rearrange code so that we can keep indentation etc. identical to upstream.
      Makes merging easier.
      d5a9ba46
    • A
      Update the 4.3.JSON file. · 2d48297e
      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.
      2d48297e
    • E
      Copying libyaml to shared library directories · 0cfacf2e
      Esmaeil Amini 提交于
      Close #151
      0cfacf2e
  3. 06 12月, 2015 2 次提交
  4. 05 12月, 2015 5 次提交
    • P
      Fix the typo for external table dump · 7c0f07c9
      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.
      7c0f07c9
    • A
      Fix the case where VACUUM FULL on an appendonly table would cause its · 65400193
      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
      65400193
    • A
      Fix pg_regress to only ignore NOTICES specified by the init_file. · 29cccef6
      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.
      29cccef6
    • K
    • A
  5. 04 12月, 2015 5 次提交
  6. 03 12月, 2015 10 次提交
    • H
      Merge commit '5f6d7353' from PostgreSQL 8.3 · 660e89c1
      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
      660e89c1
    • H
      de19a733
    • H
      Remove extra newlines from doc sources. · 8f3d0426
      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.
      8f3d0426
    • H
      Merge commit '1e0bf904' from PostgreSQL 8.3 · c8e6f23e
      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
      c8e6f23e
    • S
      a5ec7c78
    • Y
      857f1e10
    • E
      Revert "Clean up gpopt directory. Remove unused files." · 45a45f07
      Entong Shen 提交于
      This reverts commit 82216def.
      45a45f07
    • E
      Clean up gpopt directory. Remove unused files. · 82216def
      Entong Shen 提交于
      82216def
    • N
      Initiate the entries of the result table of function pinv inside pinv. · 6ec6830a
      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.
      6ec6830a
    • H
      Fix alignment in FileRep_CalculateParity. · 8ece83bb
      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.
      8ece83bb
  7. 02 12月, 2015 7 次提交
  8. 01 12月, 2015 3 次提交
    • G
      Rework SSE42 implementation and runtime logic to be more similar to PostgreSQL 9.5 · 6c025b52
      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.
      6c025b52
    • H
      Remove remnants of support for reading WAL files from old gpdb versions. · 2c8bce0f
      Heikki Linnakangas 提交于
      I already removed support from the backend and from tools in src/bin
      earlier, but missed these tools in contrib.
      2c8bce0f
    • H
      Remove gpmodcontrol.c · c36564fa
      Heikki Linnakangas 提交于
      I removed everything else from gpupgrade earlier, but missed this file
      for reason.
      c36564fa