1. 30 11月, 2017 16 次提交
    • H
      Fix reversed flags to pull_up_clause(). · 44367278
      Heikki Linnakangas 提交于
      Looks like you can't actually get here with any aggregates or placeholders
      in the start/end offsets, or we would've gotten errors.
      44367278
    • A
      Remove non deterministic tests · 44f8f90f
      Abhijit Subramanya 提交于
      The uao drop_while_vacuum tests are non deterministic they way they are
      currently written. For now we want to remove these tests to make the CI more
      stable. The tests will be replaced with a more deterministic version later.
      
      Author: Abhijit Subramanya <asubramanya@pivotal.io>
      Author: Taylor Vesely <tvesely@pivotal.io>
      44f8f90f
    • J
      Add to isolation2 .gitignore files · b2c636d6
      Jimmy Yih 提交于
      These were missed out and need to be ignored.
      
      Author: Jimmy Yih <jyih@pivotal.io>
      Author: Asim R Praveen <apraveen@pivotal.io>
      b2c636d6
    • J
      Enable synchronous WAL replication when primary first detects mirror up · 13889e32
      Jimmy Yih 提交于
      When a primary segment first detects mirror is up, primary will
      automatically turn on synchronous WAL replication by directly setting
      WalSndCtl->sync_standbys_defined to true during FTS probe handling
      (bypassing the need to have postmaster reload and Checkpointer process
      doing the update). The state will be persisted by inserting
      synchronous_standby_names="*" into gp_replication.conf in case of
      segment crash.
      13889e32
    • J
      Restrain replay of MMXLOG and smgr xlog records · 08f4e145
      Jimmy Yih 提交于
      MMXLOG records should only be replayed in standby mode and smgr create
      xlog records should not do anything until persistent tables and MMXLOG
      records are removed from Greenplum.
      
      Author: Jimmy Yih <jyih@pivotal.io>
      Author: Asim Praveen <apraveen@pivotal.io>
      08f4e145
    • J
      fix mocker.py for mocking guc_gp.c · e2d8afa9
      Jimmy Yih 提交于
      There was a hack to exclude guc.c from doing single-line comment (//)
      removal when creating mock c files. The hack is no longer needed in
      guc.c but is now needed in guc_gp.c since the offending line was moved
      to guc_gp.c.
      e2d8afa9
    • J
      isolation2 enhancement and fixes · 2295c1fd
      Jimmy Yih 提交于
      1. When forked command is not blocking, give the output that the pipe
         received to see why it did not block.
      2. Fix utility mode quit so that a utility mode connection can be
         restarted when connection is closed by postmaster.
      3. Fix ! shell commands by processing -- as part of the shell command
         instead of the start of a SQL comment
      2295c1fd
    • J
      Only allow fts probe process to touch fts probe pause GUC · c7c5b6d2
      Jimmy Yih 提交于
      Some master processes were calling gpvars_assign_gp_fts_probe_pause
      when they should not. This was found when the new stats collecter
      process errored out on this function call. We also move it to fts.c
      where it will live alongside the other fts code.
      
      Also, check for interrupts in fts sleep loop so that fts probe process
      can process SIGHUP properly.
      c7c5b6d2
    • A
      dbcommands: fix maybe-unitialized warning from upstream · 999359d0
      Amil Khanzada 提交于
      Prior to this commit, the below warnings were occurring with GCC versions 6.2.0
      on CentOS 6 and 6.3.0 on Ubuntu 14.
      These are actually invalid because the `get_dbinfo()` call will always fill in
      those variables but the compiler is not smart enough to detect this.
      
      The code change of this commit has not happened on the latest upstream Postgres
      (10.1), so there will be merge conflicts in future, but we decided as a team
      in #3871 that it was better to fix the warnings.
      
      In file included from ../../../src/include/postgres.h:53:0,
                       from dbcommands.c:22:
      dbcommands.c: In function ‘createdb’:
      ../../../src/include/utils/elog.h:184:4: error: ‘src_ctype’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
          errfinish rest; \
          ^~~~~~~~~
      dbcommands.c:616:11: note: ‘src_ctype’ was declared here
        char    *src_ctype;
                 ^~~~~~~~~
      In file included from ../../../src/include/postgres.h:53:0,
                       from dbcommands.c:22:
      ../../../src/include/utils/elog.h:184:4: error: ‘src_collate’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
          errfinish rest; \
          ^~~~~~~~~
      dbcommands.c:615:11: note: ‘src_collate’ was declared here
        char    *src_collate;
                 ^~~~~~~~~~~
      Signed-off-by: NDavid Sharp <dsharp@pivotal.io>
      999359d0
    • D
      walrep: Fix maybe-unitialized warnings in test_receive_and_verify() · 10cc6108
      David Sharp 提交于
      Prior to this commit, the below warnings were occurring on GCC 6.2.0.
      
      The warnings seem valid but unlikely, so we just NULL initialize
      logStreamStart, which would most likely still land in the correct error
      case.
      
      gcc -O3 -std=gnu99  -Wall -Wmissing-prototypes -Wpointer-arith -Werror=uninitialized -Wendif-labels -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -fno-aggressive-loop-optimizations -Wno-unused-but-set-variable -Wno-address  -fpic -I. -I. -I../../../src/include -D_GNU_SOURCE -I/usr/include/libxml2   -c -o gplibpq.o gplibpq.c
      In file included from ../../../src/include/postgres.h:53:0,
                       from gplibpq.c:7:
      gplibpq.c: In function 'test_receive_and_verify':
      ../../../src/include/utils/elog.h:311:3: error: 'logStreamStart.xrecoff' may be used uninitialized in this function [-Werror=maybe-uninitialized]
         elog_finish(elevel, __VA_ARGS__); \
         ^~~~~~~~~~~
      gplibpq.c:140:15: note: 'logStreamStart.xrecoff' was declared here
          XLogRecPtr logStreamStart;
                     ^~~~~~~~~~~~~~
      In file included from ../../../src/include/postgres.h:53:0,
                       from gplibpq.c:7:
      ../../../src/include/utils/elog.h:311:3: error: 'logStreamStart.xlogid' may be used uninitialized in this function [-Werror=maybe-uninitialized]
         elog_finish(elevel, __VA_ARGS__); \
         ^~~~~~~~~~~
      gplibpq.c:140:15: note: 'logStreamStart.xlogid' was declared here
          XLogRecPtr logStreamStart;
                     ^~~~~~~~~~~~~~
      Signed-off-by: NAmil Khanzada <akhanzada@pivotal.io>
      10cc6108
    • A
      2c1ace7a
    • H
      Remove some code that was duplicated by a mis-merge. · 8b60e44d
      Heikki Linnakangas 提交于
      Harmless, but clearly useless and unintentional.
      8b60e44d
    • T
      Add missing reset of need_initialization in reloptions code. · fb32b601
      Tom Lane 提交于
      This resulted in useless extra work during every call of parseRelOptions,
      but no bad effects other than that.  Noted by Alvaro.
      
      (Cherry-picked from PostgreSQL commit eb9954e362)
      fb32b601
    • H
      Fix initialization of GPDB-specific AO reloptions. · a22deb9f
      Heikki Linnakangas 提交于
      The options should only be registered once. Surprisingly, the duplicates
      seem to be harmless, because everything worked, but the accumulation of
      more and more reloptions was slowing down tests that created a lot of
      tables.
      a22deb9f
    • J
      pg_dumpall: fix uninitialized variable warning · e8e7cc4a
      Jacob Champion 提交于
      A bad 8.4 merge resolution on my part. We may not support older
      server_versions in GPDB's pg_dump, but that doesn't mean we should use
      uninitialized memory if we come across one.
      
      error_unsupported_server_version() comes from pg_dump.c; this commit is
      a companion to b4c5a618.
      e8e7cc4a
    • J
      106bc290
  2. 29 11月, 2017 10 次提交
    • H
      Remove extra logging from cdb_dump_agent. · 0ef5ea65
      Heikki Linnakangas 提交于
      We were inconsistent with what's logged and what's not. And some objects
      were logged with the GPDB-specific timestamp headers, while others were
      not. Make it consistent, by removing the extra logging altogether, making
      it consistent with the upstream. The status messages are now only logged in
      verbose mode, and there are no timestamps on them. Use 'ts' or similar if
      you wish to have timestamps in your logs.
      
      Author: Karen Huddleston <khuddleston@pivotal.io>
      0ef5ea65
    • H
      Remove unnecessary reset() function. · 1eb2a5cb
      Heikki Linnakangas 提交于
      It was only used at the end of cdb_dump_agent, shortly before it calls
      exit(). There's no need to reset variables or free memory if we're just
      about to exit the whole process. pg_dump leaves behind a lot of small
      allocations, this was just the tip of the iceberg. Better to be identical
      to the upstream, to avoid merge conflicts. (reset() was an awfully generic
      name for a function anyway, BTW)
      
      In the passing, also mark buildIndexArray() function as static, like it is
      in the upstream.
      1eb2a5cb
    • A
      Update answer files for default storage parameters test. · 84cd6f85
      Abhijit Subramanya 提交于
      Commit 8e6aed42 changed the format of the error
      messages for reloptions but missed updating the answer files for the default
      storage parameters test.
      
      Author: Abhijit Subramanya <asubramanya@pivotal.io>
      Author: Taylor Vesely <tvesely@pivotal.io>
      84cd6f85
    • T
      Fix a violation of WAL coding rules in the recent patch to include an · 5c02798f
      Tom Lane 提交于
      "all tuples visible" flag in heap page headers.  The flag update *must*
      be applied before calling XLogInsert, but heap_update and the tuple
      moving routines in VACUUM FULL were ignoring this rule.  A crash and
      replay could therefore leave the flag incorrectly set, causing rows
      to appear visible in seqscans when they should not be.  This might explain
      recent reports of data corruption from Jeff Ross and others.
      
      In passing, do a bit of editorialization on comments in visibilitymap.c.
      
      (This is a cherry-pick of upstream PostgreSQL commit fedb166549. We bumped
      into this bug in the "test_crash_recovery_schema_topology.py" tests in the
      concourse pipeline.)
      5c02798f
    • A
      Remove unused external declaration · acea41eb
      Asim R P 提交于
      The function DefineForeignRelation referenced in utility.c was removed
      in 601c58c3.
      Signed-off-by: NTaylor Vesely <tvesely@pivotal.io>
      acea41eb
    • T
      Rename README to README.md · c9405d2d
      Taylor Vesely 提交于
      Signed-off-by: NXin Zhang <xzhang@pivotal.io>
      c9405d2d
    • J
      Replace -1 exit code with 255 · acb25812
      Jesse Zhang 提交于
      This is more portable, as some compliant shells don't understand
      "exit -1".
      
      To quote POSIX 2008:
      
      > The exit status shall be n, if specified, except that the behavior is
      > unspecified if n is not an unsigned decimal integer or is greater than
      > 255.
      acb25812
    • J
      Replace 'echo -e' with printf · b52158ce
      Jesse Zhang 提交于
      This commit replaces invocation of `echo -e` with printf.
      
      echo as defined by POSIX only supports -n. "echo -e" is a GNU-ism and
      Bashism.  Noticeably /bin/echo -e behaves very differently on macOS vs
      on GNU/Linux.
      b52158ce
    • J
      remove command-not-found tests for COPY · 139a065d
      Jesse Zhang 提交于
      After commit 2b51c16b Greenplum diverged
      from the upstream behavior of using `popen`, and instead captures the
      stderr of the COPY PROGRAM and prints that out in case of error (read:
      non-zero return status).
      
      This means that we no longer specially handle the case of return status
      127 and use `wait_result_to_str` to tell the user "command not found".
      Instead, we output whatever is in the stderr of the standard shell
      /bin/sh.
      
      That means a command-not-found is completely indistinguishable from the
      case where the program invoked returning non-zero status and printing
      something into its stderr. Moreover, the output of command-not-found is
      not portable, and not really controlled by Greenplum/Postgres.
      
      We already have coverage for cases involving returning stderr from
      segments and master to the user, and the command not found cases are not
      only redundant coverage, they are also brittle.
      
      This commit removes the test cases for command-not-found and updates the
      expected test output.
      139a065d
    • J
      Revert "Ignore differences between Ubuntu and Centos in gpcopy tests" · c1cac08c
      Jesse Zhang 提交于
      This reverts commit 6fed381d .
      c1cac08c
  3. 28 11月, 2017 11 次提交
  4. 27 11月, 2017 3 次提交