1. 09 12月, 2015 22 次提交
    • H
      Don't recreate 'world' test tables in with_clause test. · 99d1cbf8
      Heikki Linnakangas 提交于
      Loading the tables takes a few seconds, so let's not duplicate that work.
      99d1cbf8
    • H
      Remove unnecessary queries from aggfunc and DMLstmnt tests. · b677127a
      Heikki Linnakangas 提交于
      The ones that remain don't seem too useful either, but this commit only
      removes the obviously unnecessary ones. Some of them were producing
      syntax errors, some were cases that are clearly covered by tests in the
      main suite.
      b677127a
    • H
      Remove broken 'golden_query' test. · 31f17003
      Heikki Linnakangas 提交于
      None of the test tables existed, and the expected output contained just
      "relation does not exist" errors, so it wasn't testing much at all. Looking
      at the queries, I don't think they were trying to test anything too
      interesting in the first place. I'm pretty sure we have similar aggregate
      queries in other test cases. So just remove this.
      31f17003
    • H
      52b077dd
    • H
      Remove a few redundant tables from test cases. · fb78311f
      Heikki Linnakangas 提交于
      fb78311f
    • H
      Remove unnecessary cruft from test case. · 13fce543
      Heikki Linnakangas 提交于
      I'm trying to speed up the regression tests. This doesn't buy us very
      much, but every little helps, and makes the test readable anyway.
      13fce543
    • H
      Refactor explain.pl into a perl module. · ff24a897
      Heikki Linnakangas 提交于
      This further speeds up the diff phase of the regression suit. In
      particular, the 'table_functions' regression test.
      ff24a897
    • H
      Refactor atmsort.pl into a module. · eef5013c
      Heikki Linnakangas 提交于
      All the logic is in atmsort.pm now, but atmsort.pl remains as a wrapper
      script. In gpdiff.pl, instead of building a command line and invoking a
      new process, use atmsort.pm as a perl module. This greatly reduces the
      overhead, making gpdiff.pl invocations a lot faster.
      eef5013c
    • D
      Merge commit '5b4a0889' from PostgreSQL 8.3 · b8ef30cf
      Daniel Gustafsson 提交于
      HEAD version picked in all cases, only comment changes pulled in from
      upstream.
      b8ef30cf
    • A
      Add README comment about minimal lockfile and pip · 7f4e2b16
      Andreas Scherbaum 提交于
      version for Python module
      7f4e2b16
    • H
      Fix typos in gpinitsystem log messages. · d7751258
      Heikki Linnakangas 提交于
      d7751258
    • H
      Merge commit 'eddbf397' from PostgreSQL 8.3. · 8055f920
      Heikki Linnakangas 提交于
      Most of the commits included in this merge we had backported already.
      One ForgetDatabaseFsyncRequests() call was missing from dropdb(), and an
      error check was added to width_bucket_numeric. Also, add pg_proc entry
      for width_bucket_float8; the code was backported already. Update 'numeric'
      regression test, per the merged commit.
      
      Since we changed the catalogs, bump catversion, and recreate 4.3.json file.
      
      Conflicts:
      	doc/TODO
      	doc/src/FAQ/TODO.html
      	doc/src/sgml/func.sgml
      	src/backend/catalog/information_schema.sql
      	src/backend/commands/dbcommands.c
      	src/backend/postmaster/bgwriter.c
      	src/backend/storage/smgr/md.c
      	src/backend/utils/adt/float.c
      	src/backend/utils/adt/numeric.c
      	src/include/catalog/catversion.h
      	src/include/storage/smgr.h
      	src/include/utils/builtins.h
      	src/test/regress/expected/numeric.out
      	src/test/regress/sql/numeric.sql
      	src/tools/msvc/Project.pm
      	src/tools/msvc/README
      	src/tools/msvc/Solution.pm
      	src/tools/msvc/build.bat
      	src/tools/msvc/mkvcbuild.pl
      	src/tools/msvc/pgbison.bat
      	src/tools/msvc/pgflex.bat
      8055f920
    • H
      Backport the 5 second wait if a database is in use. · f042e3e8
      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.
      f042e3e8
    • H
      Merge commit '10a5e334' · f853758e
      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
      f853758e
    • A
      Update the gp_optimizer_1.out answer file. · 6d0e1d3d
      Abhijit Subramanya 提交于
      This file got left over from the commit 29cccef6.
      6d0e1d3d
    • H
      Refactor mock test Makefiles to only mock backend files as needed. · fbe20ae7
      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.
      fbe20ae7
    • H
      In mock tests, link real version of every backend object file by default. · 8748fe5f
      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.
      8748fe5f
    • H
      Use real memory manager for mock tests. · 6d2de179
      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.
      6d2de179
    • H
      Simplify mock test Makefiles. · 0e27dff3
      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.
      0e27dff3
    • H
      Divide backend-specific mock stuff to separate Makefile. · ee17fd1d
      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.
      ee17fd1d
    • H
      Avoid assertions in mock test, rather than suppress them. · 3ff32602
      Heikki Linnakangas 提交于
      Seems cleaner.
      3ff32602
    • H
      Clean up mock tests in src/bin with "make clean" · 4134ed9c
      Heikki Linnakangas 提交于
      4134ed9c
  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 次提交