1. 14 2月, 2017 1 次提交
    • H
      Remove defunct gp_hash_index GUC. · 9e27fbd3
      Heikki Linnakangas 提交于
      It hasn't done anything since 2010. If I'm reading the commit log
      correctly, it was added and deprecated only a few months apart, and
      probably hasn't done anything in any released version.
      9e27fbd3
  2. 09 2月, 2017 1 次提交
    • S
      Add GUC gp_allow_rename_relation_without_lock for renamerel(). · de4e95a6
      Shoaib Lari 提交于
      Originally, we don't hold AccessExclusiveLock while renaming relations to provide
      supportability for altering relation name while directly modifying system catalogs.
      
      However, this breaks the isolation semantics of ALTER TABLE. Hence, we add the lock
      to make it consistent with upstream behavior.  The original behavior is now
      possible with the GUC.
      Signed-off-by: NXin Zhang <xzhang@pivotal.io>
      de4e95a6
  3. 07 2月, 2017 2 次提交
  4. 24 1月, 2017 1 次提交
  5. 29 12月, 2016 1 次提交
  6. 21 12月, 2016 1 次提交
    • A
      Update SharedLocalSnapshot correctly for subtransactions · 46d9521b
      Ashwin Agrawal 提交于
      QE reader leverages SharedLocalSnapshot to perform visibility checks. QE writer
      is responsible to keep the SharedLocalSnapshot up to date. Before this fix,
      SharedLocalSnapshot was only updated by writer while acquiring the snapshot. But
      if transaction id is assigned to subtransaction after it has taken the snapshot,
      it was not reflected. Due to this when QE reader called
      TransactionIdIsCurrentTransactionId, it may get sometimes false based on timings
      for subtransaction ids used by QE writer to insert/update tuples. Hence to fix
      the situation, SharedLocalSnapshot is now updated when assigning transaction id
      and deregistered if subtransaction aborts.
      
      Also, adding faultinjector to suspend cursor QE reader instead of guc/sleep used
      in past. Moving cursor tests from bugbuster to ICG and adding deterministic test
      to exercise the behavior.
      
      Fixes #1276, reported by @pengzhout
      46d9521b
  7. 15 12月, 2016 1 次提交
  8. 13 12月, 2016 1 次提交
    • A
      Refactor distributed transaction phase 2 retry logic. · c6320c13
      Asim R P 提交于
      Refactor the phase 2 retry logic of distributed transaction so that the retry happens
      immediately after failure instead of happening inside EndCommand(). The patch also
      increases the number of retries in case of failure to 2 and introduces a guc called
      dtx_phase2_retry_count to control the number of retries.
      c6320c13
  9. 09 12月, 2016 1 次提交
  10. 22 11月, 2016 1 次提交
  11. 11 11月, 2016 1 次提交
    • D
      Tidy up spelling of email GUC descriptions · 734b03f3
      Daniel Gustafsson 提交于
      Fix wording for gp_email_to GUC and clarify the expected separator
      for the list (as it has changed).  Also use email rather than e-mail
      to be consistent with the online Greenplum documentation.
      734b03f3
  12. 02 11月, 2016 2 次提交
    • H
      Disable write support for old-format AO table segments. · 53210fb2
      Heikki Linnakangas 提交于
      Segments that are still in an old format are treated as read-only. All new
      data go to new segments, in new format. This allows us to eventually get
      rid of the old format completely.
      
      This is hypothetical until we have pg_upgrade working for GPDB 4.3 -> 5.0
      upgrade, as you can't have old-format tables or segments at all in a
      cluster that's initialized with 5.0. Stay tuned for pg_upgrade, but this
      is preparatory work for that.
      53210fb2
    • F
      Process interrupts before reserving VMEM (#1257) · 5a6f9316
      foyzur 提交于
      * Adding support for interrupt processing before reserving more vmem.
      
      * Process pending interrupts before reserving VMEM.
      
      * Adding guc to control vmem tracker checking for interrupts before reserving more vmem.
      5a6f9316
  13. 20 10月, 2016 1 次提交
    • A
      Leverage native heap delete mechanism for persistent tables. · 5bc4bb0c
      Ashwin Agrawal 提交于
      Persistent tables historically implemented different mechanism
      to maintain free tuples by using on-disk freelist chain of itself.
      It proved extremely hard to maintain this free-list and required
      lot of supporting code to maintain and validate its integrity.
      Hence this commit leverages the native heap delete and vacuum
      framework to manage tuple deletion for persistent tables as well.
      5bc4bb0c
  14. 08 10月, 2016 1 次提交
  15. 30 9月, 2016 2 次提交
  16. 23 9月, 2016 2 次提交
    • S
      Prevent inconsistent update to persistent info in relcache entry. · bef29242
      Shoaib Lari 提交于
      As part of creating a new relfile node, for example during reindex, the
      persistent TID and the serial number in the relation descriptor used to be
      updated with new values immediately.
      
      This commit prevents such updates leaving the description unchanged.  Instead,
      the relation descriptor will be udpated upon next cache invalidation.
      
      The new ICG test is added to its own file and not in gp_create_table.sql
      because reindex of pg_class index seems to affect planner, causing other tests
      to fail with "insufficient memory reserved for statement" error.
      bef29242
    • S
      Validate persistent information in relcache entry. · fe39e7eb
      Shoaib Lari 提交于
      We have observed that the persistent TID and serial number associated with a
      relfilenode in a relation descriptor may be updated to a new value before
      relfilenode is updated.  If an XLog record is written with such a relation
      descriptor, then the XLog record fails to apply during recovery.
      
      This commit adds a check to validate sanity of persistent information in a
      relation descriptor by fetching persistent information using relfilenode from
      gp_relation_node.
      
      The validation is controlled by a new GUC, gp_validate_pt_info_relcache.
      fe39e7eb
  17. 14 9月, 2016 1 次提交
  18. 10 9月, 2016 1 次提交
    • H
      Added a new GUC gp_enable_relsize_collection to enable stats collection. (#1110) · 0ea740cf
      Haisheng Yuan 提交于
      Currently, when the stats are not existing for a relation, planner
      relies on default values instead of running pg_relation_size to save
      time. However, this causes planner to produce bad plans. Earlier, the
      code had the feature to collect stats for planner if the table did not
      had any stats, but it was removed.
      
      This fix re-introduces the feature with the GUC to control whether to use
      default values or run pg_relation_size to get actual stats if stats are
      not present. By default, the GUC is turned off.
      
      [#129570829]
      0ea740cf
  19. 01 9月, 2016 1 次提交
  20. 31 8月, 2016 1 次提交
  21. 25 8月, 2016 2 次提交
    • H
      Remove gp_flush_buffer_pages_when_evicted GUC. · 668d4af8
      Heikki Linnakangas 提交于
      Looking at old git history, this was added back in 2009. The related
      ticket on adding it said:
      
          Add GUC that make every buffer page from the buffer pool flushed on
          eviction.
      
          Note that this will NOT necessarily flush all buffer pages when the
          postmaster is shutdown. I think this is acceptable for our purposes.
      
          (Our purpose is to make sure that overwrites of the buffer pages are not
          lost and instead are always written to disk so we can catch errors)
      
      I'm not sure what errors that was meant to catch, or how, but I don't
      think we have any regression tests or anything that uses it anymore.
      Let's remove it, to make merging with upstream easier.
      668d4af8
    • H
      Remove CaQL. · 1a2a02a6
      Heikki Linnakangas 提交于
      The previous commits have removed all usage of CaQL. It's no longer
      needed.
      1a2a02a6
  22. 18 8月, 2016 1 次提交
  23. 17 8月, 2016 1 次提交
    • A
      Add GUC to easily test appendonly writer hash eviction behavior · 73dc0ecb
      Ashwin Agrawal 提交于
      Currenty, there is no easy way to evict entry from appendonly writer hash
      table, most of current tests reduce the value of max_appendonly_tables which
      needs database restart to take effect and then need to actually create that
      many concurrent AO table inserts to evict the hash table entry. Using this
      GUC can easily tests the eviction behavior.
      73dc0ecb
  24. 10 8月, 2016 1 次提交
    • M
      Adds a GUC to enable array constraint derivation. · 8ba520bd
      Marc Spehlmann 提交于
      This fixes the naming in c85f858e
      
      A new feature of ORCA is to more efficiently handle array constraints.
      It includes a new preprocessing stage, and a new way of internally
      representing array constraints. This feature can be enabled by use of
      this GUC.
      8ba520bd
  25. 09 8月, 2016 1 次提交
    • M
      Adds a GUC to enable array constraint derivation. · c85f858e
      Marc Spehlmann 提交于
      A new feature of ORCA is to more efficiently handle array constraints.
      It includes a new preprocessing stage, and a new way of internally
      representing array constraints. This feature can be enabled by use of
      this GUC.
      c85f858e
  26. 06 8月, 2016 1 次提交
  27. 03 8月, 2016 1 次提交
  28. 28 7月, 2016 1 次提交
    • H
      Add ORCA optimizer GUC optimizer_parallel_union for parallel append (#977) · 86e49e51
      Haisheng Yuan 提交于
      This GUC is disabled by default.
      
      Currently, when users run an `UNION ALL` query, such as
      ```sql
      SELECT a FROM foo UNION ALL SELECT b FROM bar
      ```,
      GPDB will parallelize the execution across all the segments, but the
      table scans on `foo` and `bar` are not executed parallel. With this GUC
      enabled, we add redistribution motion node under APPEND(UNION) operator,
      which makes all the children of APPEND(UNION) operator execute in
      parallel in every segment.
      86e49e51
  29. 17 7月, 2016 1 次提交
  30. 14 7月, 2016 1 次提交
  31. 29 6月, 2016 1 次提交
  32. 28 6月, 2016 1 次提交
  33. 25 6月, 2016 1 次提交
  34. 21 6月, 2016 1 次提交
  35. 20 6月, 2016 1 次提交
    • G
      Don't allow gp_connections_per_thread to be 0 · dc68b3d8
      Gang Xiong 提交于
      Currently gp_connections_per_thread=0 means using main thread to
      do dispatch instead of creating new threads. It's not working if
      segments report error before sending back any data.
      For example:
      create table foo(id int);
      insert into foo values(0);
      set gp_connections_per_thread=0;
      select 100/id from foo;
      
      We disable it for now and will reenable it when we have the new
      implementation of non-threaded dispatcher.
      dc68b3d8