1. 16 5月, 2017 1 次提交
  2. 15 5月, 2017 3 次提交
    • V
      Streamline Orca Gucs · 9f2c838b
      Venkatesh Raghavan 提交于
      * Enable analyzing root partitions
      * Ensure that the name of the guc is clear
      * Remove double negation (where possible)
      * Update comments
      * Co-locate gucs that have similar purpose
      * Remove dead gucs
      * Classify them correctly so that they are no longer hidden
      9f2c838b
    • H
      Sync JSON functions with PostgreSQL 9.3.17. · 4b483ccf
      Heikki Linnakangas 提交于
      We had cherry-picked some of the PostgreSQL 9.3 functions, but not all the
      subsequent fixes to them. I believe we need at least upstream commit
      66008564 to fix github issue #2430, and surely the other bug fixes are
      needed too.
      
      Rather than cherry-pick individual commits, this replaces the JSON related
      source files with the upstream files in toto. This will make diffing and
      maintenance of these backported JSON function easier in the future.
      4b483ccf
    • P
      Make a copy of Gp_interconnect_snd_queue_depth for each interconnect setup · 7ed4a178
      Pengzhou Tang 提交于
      Formally, GPDB assumed Gp_interconnect_queue_depth was constant during the interconnect life-time which was incorrect for Cursors, if Gp_interconnect_queue_depth was changed after a Cursor was declared, a panic occurred. To avoid this, we make a copy of Gp_interconnect_queue_depth when interconnect is set up. Gp_interconnect_snd_queue_depth has no such problem because it is only used by senders and senders of Cursor will never receive the GUC change command.
      7ed4a178
  3. 13 5月, 2017 9 次提交
  4. 12 5月, 2017 6 次提交
  5. 11 5月, 2017 16 次提交
    • D
      Disable ORCA on Travis · 73119035
      Daniel Gustafsson 提交于
      Since Travis doesn't build the Orca libraries, disable Orca in the
      build since the default is now to enable Orca. This enables us to
      keep running Travis as an alternative CI, albeit with non-default
      options.
      73119035
    • C
      Glob out contentid in backup filenames. · 6c83b3b6
      Chris Hajas 提交于
      This should work with both dbid and contentid backup filenames.
      Signed-off-by: NKaren Huddleston <khuddleston@pivotal.io>
      6c83b3b6
    • K
      Limit the optimizer mdcache default size to 16MB. · 15b97158
      Karthikeyan Jambu Rajaraman 提交于
      Based on the experiments with tpch and tpcds, we found that 16MB would
      be the optimal size of mdcache.
      [#96490982].
      15b97158
    • A
      Perform cleanup phase even if open relation failed during drop phase of vacuum. · b3abb1b7
      Vacuum of AO tables happens in four phases: prepare, compact, drop and cleanup.
      When there are concurrent transactions executing vacuum on AO tables, if one of
      the vacuum transaction is executing a drop phase, the other transaction will
      not be able to open the relation if it is also executing the drop phase. When
      the relation open fails, vacuum simply exits without performing the cleanup
      phase. The relfrozenxid in pg_class is updated during the cleanup phase and
      hence the age of the table does not get reduced. This becomes a problem because
      the age of the database does not reduce and eventually the xid wraparound issue
      will be encountered.
      
      This problem is fixed by performing the cleanup phase even if the open relation
      fails during drop phase.
      b3abb1b7
    • J
      Properly get smallest eof column during ADD COLUMN on AOCO table · b1a1d190
      Jimmy Yih 提交于
      The column_to_scan function used to get the smallest eof column was
      operating incorrectly. It would loop the segfiles until it found a
      segfile with nonzero tuplecount, grab the first column that has a
      nonzero eof, and return that value. The issue here is that it did not
      iterate through all the columns to find the smallest nonzero eof. With
      this commit, we now loop through all the columns of the segfile to
      decide on a column to return. The unit tests for this function were
      also incorrect so we fix that in this commit too.
      b1a1d190
    • J
      VACUUM should cleanup aosegs/aocssegs in AOSEG_STATE_AWAITING_DROP state · cdc8172a
      Jimmy Yih 提交于
      Due to the different phases of VACUUM, compaction phase could have
      committed but the drop was cancelled. This could leave some
      aoseg/aocsseg entries in AOSEG_STATE_AWAITING_DROP state which could
      then be cleaned up in a subsequent VACUUM as expected... but it
      currently just skips. The master keeps a hash table (AppendOnlyHash)
      and uses it during VACUUM to check tuple count, state, and
      aborted/committed. Our issue here is that state checking was only
      being done against state AWAITING_DROP_READY. It was not including
      COMPACTED_AWAITING_DROP in the state check. This commit adds the check
      and updates the detailed comment block on the state transitions in
      appendonlywriter.h.
      cdc8172a
    • J
      ADD COLUMN on an AOCO table should check and drop aocssegs in await drop · 930b2c38
      Jimmy Yih 提交于
      When doing an ADD COLUMN operation on an AOCO table, the vpinfo byte
      array stored in the aocsseg auxiliary table for each column is updated
      to add an extra vpinfo index to match the relnatts value in
      pg_class. However, entries in the aocsseg auxiliary table with state 2
      (AOSEG_STATE_AWAITING_DROP) will not have their vpinfo byte array
      updated. Subsequent calls to getAOCSVPEntry function will then fail
      due to the vpinfo size does not match the relnatts value in pg_class
      (e.g. persistent table rebuild). Since we have the AccessExclusiveLock
      on the table during ADD COLUMN, we might as well schedule the drop
      before the vpinfos are updated to prevent any inconsistency issues.
      930b2c38
    • J
      Fix lazy VACUUM to not wait for AccessExclusiveLock during drop phase · 05f55e86
      Jimmy Yih 提交于
      We expect lazy VACUUM to skip drop phase if it cannot acquire the
      relation's AccessExclusiveLock. This commit properly sets the dontWait
      flag to True when calling try_relation_open during drop phase. We also
      change the dontWait part of try_relation_open to not error out because
      callers should be the ones to handle an invalid relation.
      05f55e86
    • J
      Adds a check for orca libraries [#138725549] · ad470347
      Jesse Zhang and Omer Arap 提交于
      If GPDB is configured to build with orca, this commit adds checks to
      ensure orca libraries are available.
      ad470347
    • J
      Move ORCA header checks into orca.m4 [#138725549] · 7a016999
      Jesse Zhang and Omer Arap 提交于
      We also chose more representative headers for the checks.
      7a016999
    • J
      Adds a check for Greenplum patched Xerces [#138725549] · 94afeb62
      Jesse Zhang and Omer Arap 提交于
      If gpdb is configured to build with orca it requires a Greenplum patched
      version of Xerces library. This commit adds an explicit check for the
      patched Xerces.
      
      This also gives us an opportunity to be more idiomatic in doing
      autoconf: we are replacing the manual manipulation of LIBS in
      src/backend/Makefile with `AC_CHECK_LIB` in `configure.in`.
      94afeb62
    • O
      pipeline changes to make orca default [#138725549] · b6d75a3b
      Omer Arap 提交于
      b6d75a3b
    • E
      Set optimizer GUC to on by default · 5646ada2
      Ekta Khanna 提交于
      When the GPDB is build with GPORCA, `optimizer` GUC is set to on
      by default. If GPDB is not build with GPORCA this guc is off by default.
      Signed-off-by: NOmer Arap <oarap@pivotal.io>
      5646ada2
    • E
      Compile ORCA by default in GPDB [#138725549] · 228a22f8
      Ekta Khanna 提交于
      This changes autoconf to enable orca by default. To be clear, the twin
      flags of `--enable-orca` and `--disable-orca` are already available,
      this commit merely changes the default (and help messages accordingly).
      Signed-off-by: NOmer Arap <oarap@pivotal.io>
      228a22f8
    • H
      Remove unused subplans · 574d352a
      Haisheng Yuan 提交于
      As of commit c7ff7663, subplans are initialized even they are unused. In some
      case, the generated subplan is not used, but it has motionId = 0, which breaks
      executor's sanity check. This patch fixes the issue by removing unused
      subplans.
      
      See discussions at:
      https://github.com/greenplum-db/gpdb/issues/2383
      574d352a
    • L
      clarify when MASTER_DATA_DIRECTORY is used/not (#2405) · 831b94f8
      Lisa Owen 提交于
      831b94f8
  6. 10 5月, 2017 5 次提交