1. 25 7月, 2019 1 次提交
  2. 24 7月, 2019 1 次提交
  3. 22 7月, 2019 1 次提交
    • tubocurarine's avatar
      Fix compile issue for PyGreSQL on MacOS. · 0acc22e1
      tubocurarine 提交于
      When building file `_pg.so` on MacOS platform, distutil will invoke
      clang compiler with arguments `-arch x86_64 -arch i386`. But type
      `int128` is not available for i386 architecture, thus following error occurs:
      
      ```
      In file included from pgmodule.c:32:
      In file included from include/postgres.h:47:
      include/c.h:427:9: error: __int128 is not supported on this target
      typedef PG_INT128_TYPE int128
              ^
      include/pg_config.h:838:24: note: expanded from macro 'PG_INT128_TYPE'
                             ^
      In file included from pgmodule.c:32:
      In file included from include/postgres.h:47:
      include/c.h:433:18: error: __int128 is not supported on this target
      ```
      
      By adding `['-arch', 'x86_64']` into `extra_compile_args`, distutil will
      remove `-arch i386` from compiler arguments, thus fixes compile error.
      0acc22e1
  4. 12 7月, 2019 1 次提交
  5. 10 7月, 2019 1 次提交
  6. 09 7月, 2019 1 次提交
    • D
      Remove variable self-assignment in gpload · d6239081
      Daniel Gustafsson 提交于
      Setting a variable to itself is a no-op which can be removed. This
      may have been introduced in error and instead masking a real bug,
      but if it so then we have lived with it for two years so I'm opting
      for removing.
      
      Reviewed-by: Asim R P and Bhuvnesh Chaudhary
      d6239081
  7. 05 7月, 2019 1 次提交
    • H
      Re-enable gppkg behave test for both centos and ubuntu (#8066) · af73aca6
      Hao Wu 提交于
      * Revert "CI: skip CLI behave tests that currently fail on ubuntu18.04"
      
      This reverts commit 6a0cb2c6.
      This commit is to re-enable behave test for centos/ubuntu
      
      * Ouput the same error message format
      
      gppkg for rpm and deb outputs error messages when consistency is broken, but
      the message is not the same, which make a pipeline fail.
      
      * Update gppkg for behave test and fix some minor error in gppkg
      
      Now, the binary sample.gppkg is removed, instead we add sample-*.rpm and sample-*.deb.
      Because sample.gppkg is platform specific and GP major version sensitive. The uploaded
      rpm/deb files are available unless the rpm/deb file is incompatible on the specific
      platform. GP_MAJORVERSION is dynamically retrieved from a makefile installed in the gpdb
      folder, so the gp major version in the gppkg will be always correct.
      sample.gppkg will only be generated when gppkg tag is provided
      af73aca6
  8. 25 6月, 2019 1 次提交
  9. 07 6月, 2019 1 次提交
  10. 05 6月, 2019 1 次提交
  11. 31 5月, 2019 1 次提交
    • C
      Revert "Skip analyzing root partitions by default in analyzedb (#7081)" · dd2f2576
      Chris Hajas 提交于
      This reverts commit 9fa19b76.
      
      Analyze should update the statistics on the root partition when all the
      leaf partitions have been analyzed. However, analyzedb runs analyze on
      the leaf partitions in parallel and does not update the stats on the
      root partition. Without the correct stats on the root partition, ORCA
      ends up picking a bad plan.
      
      Additionally, add tests to analyzedb to ensure root stats are updated.
      In master/6X, the relpages/reltuples of a root partition table is not
      updated in pg_class, rather this is calculated during planning time.
      Therefore, the tests check that columns statistics in pg_statistic are
      populated.
      
      This will be backported to 6X_STABLE.
      dd2f2576
  12. 30 5月, 2019 2 次提交
    • D
      parseutils: cluster management input file refactoring · 66448a3c
      David Krieger 提交于
      We simplify and refactor the parsing for gpaddmirrors, gpmovemirrors,
      gprecoverseg and gpexpand.  This eliminates a few hundred lines of code.
      In addition, this commit changes the format of the input lines for the
      input files to these routines.  The separator is now '|' instead of ':'.
      
      <Co-Authored-By> Mark Sliva <msliva@pivotal.io>
      <Co-Authored-By> Jamie McCatamney <jmcatamney@pivotal.io>
      66448a3c
    • J
      gp_bash_functions: Improve PING_HOST logging · 6fe75453
      Jamie McAtamney 提交于
      Previously, PING_HOST swallowed any log messages from ping, and now we
      display those messages in the error message.
      Co-authored-by: NShoaib Lari <slari@pivotal.io>
      6fe75453
  13. 29 5月, 2019 3 次提交
  14. 28 5月, 2019 2 次提交
    • D
      Remove dead code and variables from bash library · 9f5b4005
      Daniel Gustafsson 提交于
      The gp_bash_functions Bash library had accumulated some dead code
      variables, left over from earlier refactorings and removal of utils.
      Remove and perform a little bit of cleaning.
      
      Reviewed-by: Jacob Champion
      9f5b4005
    • X
      Optimize explicit transactions · b43629be
      xiong-gang 提交于
      Currently, explicit 'BEGIN' creates a full-size writer gang and starts a transaction
      on it, the following 'END' will commit the transaction in a two-phase way. It can be
      optimized for some cases:
      case 1:
      BEGIN;
      SELECT * FROM pg_class;
      END;
      
      case 2:
      BEGIN;
      SELECT * FROM foo;
      SELECT * FROM bar;
      END;
      
      case 3:
      BEGIN;
      INSERT INTO foo VALUES(1);
      INSERT INTO bar VALUES(2);
      END;
      
      For case 1, it's unnecessary to create a gang and no need to have two-phase commit.
      For case 2, it's unnecessary to have two-phase commit as the executors don't write
      any XLOG.
      For case 3, don't have to create a full-size writer gang and do two-phase commit on
      a full-size gang.
      Co-authored-by: NJialun Du <jdu@pivotal.io>
      b43629be
  15. 22 5月, 2019 1 次提交
  16. 21 5月, 2019 1 次提交
  17. 19 5月, 2019 1 次提交
    • Z
      Correctly handle tablespace for GPexpand · 90357195
      Zhenghua Lyu 提交于
      GPexpand should take tablespaces into consideration. This means:
      
      1. during the interview step stage, if there are user-created
           tablespaces in GreeplumDB cluster, we should generate a
           tablespace input file for GPexpand. User can modify it to
           use customized tablespace location on each new segment (Since
           we support create tablespace ... with (contentid=loc) syntax).
      
        2. during the template generatition stage, we should pack tablespace
           files generated by pg_basebackup into the template, and saves the
           restore paths into a json config file which is also a part of the
           template.
      
        3. During the stage of config a new segment, we should restore the
           tablespace files for primary. For mirrors, we just invoke pg_basebackup
           which has already handled tablespace cases.
      
      An example of the whole process is shown below:
      
        * suppose there are tablespaces in the GreenplumDB cluster
        * tbs1 (oid1) -> location1; tbs2 (oid2) -> location2
        * and new segments are dbid1(primary), dbid2(mirror)
      
      The tablespace input file will be:
      ```
        line1: tableSpaceNameOrders=tbs1:tbs2
        line2: tableSpaceOidOrders=oid1:oid2
        dbid1:loc1:loc2
      ```
      
      The template's pg_tblspc dir will be:
        oid1
        oid2
        dumps
           |_ oid1
           |     |__ xxx_dbDummyID
           |
           |_ oid2
                 |__ xxx_dbDummyID
        newTableSpaceInfo.json
      90357195
  18. 17 5月, 2019 2 次提交
  19. 10 5月, 2019 1 次提交
    • W
      Declare a whitelist in gpstop for bgworker (#7455) · ea7d8ec3
      Weinan WANG 提交于
      At present, `gpstop` check `pg_stat_activity` table before stop cluster in smart model. However, we need to ignore those background workers that are part of the database implementation itself. For this purpose, we maintain a whitelist using its `application_name` field.
      ea7d8ec3
  20. 08 5月, 2019 1 次提交
  21. 04 5月, 2019 1 次提交
    • J
      Remove gpseginstall · 64014685
      Jamie McAtamney 提交于
      Now that the enterprise version of GPDB is only provided via RPM, including
      gpseginstall in the distribution would cause conflicts if users try to install
      GPDB with RPMs and with gpseginstall on the same cluster.  While it could be
      preserved for use by the OSS community, there are several standard tools for
      copying GPDB files to segment hosts in a cluster, and recommendations for using
      one or more of those tools will be included in the GPDB documentation.
      
      In addition to removing gpseginstall itself, this commit removes references to
      it in other utilities' documentation and removes code in gppylib that was only
      called by gpseginstall.
      Co-authored-by: NJamie McAtamney <jmcatamney@pivotal.io>
      Co-authored-by: NKalen Krempely <kkrempely@pivotal.io>
      64014685
  22. 02 5月, 2019 1 次提交
  23. 25 4月, 2019 2 次提交
  24. 13 4月, 2019 2 次提交
  25. 12 4月, 2019 2 次提交
  26. 10 4月, 2019 1 次提交
  27. 06 4月, 2019 5 次提交
  28. 05 4月, 2019 1 次提交
    • J
      UtilsTestCase: improve test reporting for flake · 0fe07f49
      Jacob Champion 提交于
      test_RemoteOperation_logger_debug() has been flaking out on the CI
      pipeline, and there's no indication of what is going wrong. Replace the
      assertTrue() call, which gives no indication of the difference between
      actual and expected, with mock.assert_has_calls(), which will tell us
      exactly what the calls were in case of failure.
      
      It's possible that this will fix the flake entirely. The previous test
      implementation depended on logger.debug() to be called *first* with our
      expected output, but given the poor isolation of our global logger
      system, it's entirely possible that some other code occasionally calls
      debug(). (That this is an issue at all indicates that this isn't really
      a unit test, but that's not something to tackle here.) assert_has_calls()
      doesn't mind how many other calls happen as long as the one we're
      looking for is eventually made, and I think that matches the intent of
      the test better anyway.
      
      Backport to 6X_STABLE.
      0fe07f49