1. 26 7月, 2018 16 次提交
  2. 25 7月, 2018 7 次提交
  3. 24 7月, 2018 4 次提交
  4. 23 7月, 2018 3 次提交
    • B
      Change from IMMUTABLE to VOLATILE, conform to the upstream (#5288) · 23664553
      BaiShaoqi 提交于
      Spotted by Heikki Linnakangas.
      23664553
    • Z
      Enable update on distribution column in legacy planner. · 6be0a32a
      Zhenghua Lyu 提交于
      Before, we cannot update distribution column in legacy planner, because the OLD tuple
      and NEW tuple maybe belong to different segments. We enable this by borrowing ORCA's
      logic, namely, split each update operation into delete and insert. The delete operation is hashed
      by OLD tuple attributes, and insert operation is hashed by NEW tuple attributes. This change
      includes following items:
      * We need push missed OLD attributes to sub plan tree so that that attribute could be passed to top Motion.
      * In addition, if the result relation has oids, we also need to put oid in the targetlist.
      * If result relation is partitioned, we should special treat it because resultRelations is partition tables instead of root table, but that is true for normal Insert.
      * Special treats for update triggers, because trigger cannot be executed across segments.
      * Special treatment in nodeModifyTable, so that it can process Insert/Delete for update purpose.
      * Proper initialization of SplitUpdate.
      
      There are still TODOs:
      * We don't handle cost gracefully, because we add SplitUpdate node after plan generated. Already added a FIXME for this
      * For deletion, we could optimize in just sending distribution columns instead of all columns
      
      
      Author: Xiaoran Wang <xiwang@pivotal.io>
      Author: Max Yang <myang@pivotal.io>
      Author: Shujie Zhang <shzhang@pivotal.io>
      Author: Zhenghua Lyu <zlv@pivotal.io>
      6be0a32a
    • H
      support fast_match option in gpload config file (#5310) · d240a284
      Huiliang.liu 提交于
      - add fast_match option in gpload config file. If both reuse_tables
      and fast_match are true, gpload will try fast match external
      table(without checking columns). If reuse_tables is false and
      fast_match is true, it will print warning message.
      d240a284
  5. 21 7月, 2018 8 次提交
    • L
      docs - correct log file locations in best practices (#5307) · 926a644e
      Lisa Owen 提交于
      * docs - correct log file locations in best practices
      
      * edit requested by david
      926a644e
    • A
      Fix ci failure and add more asserts. · bebce8b4
      Ashwin Agrawal 提交于
      bebce8b4
    • A
      Exclude root and internal parent partitions from age calculation. · 44f97760
      Ashwin Agrawal 提交于
      Root partition and internal parent partitions do not contain any data. But since
      currently these tables still have valid relfrozenxid, their age keeps
      growing. The problem it poses is to bring the age down need to run vacuum on
      root, which trickles down and vacuum's each and every child partition as
      well. Instead if only leaf if getting modified those can be vacuumed in
      isolation and bring the age down and avoid overhead of vacuuming the full
      hierarchy.
      
      So, similar to AO, CO, external tables, etc.. for root and parent partitions
      record relfrozenxid as 0 (InvalidTransaction) during table creation. This works
      since these tables will never store any xids. This would skip them from age
      calculation hence eliminate forced need for vacuum on them. Ideally same can be
      achieved by defining root and internal parent partition as AO tables but its lot
      more work and ddls need modifications.
      44f97760
    • A
      Remove guc gp_setwith_alter_storage. · b3d85b70
      Ashwin Agrawal 提交于
      Alter table change storage type feature is hidden under this guc.  The syntax
      ALTER TABLE <tablename> SET WITH (appendonly=true/false) is not documented as
      well, since seems this feature is not full ready for primetime. Hence remove the
      guc and keep it disabled, anytime in future can code the feature fully and
      expose the same.
      
      Github issue #5300 tracks to full enable the feature.
      b3d85b70
    • A
      Remove tests for gp_setwith_alter_storage. · f11dc049
      Ashwin Agrawal 提交于
      This feature is not ready for primetime yet, so no point testing the same by
      enabling the guc. Hence for now removing the tests whenever in future we expose
      this feature add and enable tests for the same.
      
      Github issue #5300 tracks to full enable the feature.
      f11dc049
    • A
      Flush error state before making a retry attempt in DTM · 90e66f0c
      Asim R P 提交于
      Each DTM retry needs a clean error state because the previous error is
      already written to csv log and is handled by subsequent retry.
      90e66f0c
    • A
      Test case for DTM retry error handling · ab0f3296
      Asim R P 提交于
      The test hits the PG_CATCH() block in DTM retry logic.  It uncovers a
      bug in that part of the code, leading to PANIC due to
      ERRORDATA_STACK_SIZE exceeded.
      
      The upper limit on dtx_phase2_retry_count is increased to 15.  That
      allows to keep the test simpler by avoiding PANIC due to max retry count
      reached.
      ab0f3296
    • A
      Let dispatcher raise error when a DTM broadcast fails · 49fc2332
      Asim R P 提交于
      There already is a PG_TRY() ... PG_CATCH() block to handle such errors
      in the DTM retry logic.  This change makes it easier to test the error
      handling in the retry logic.
      
      The patch also fixes a bug in dispatcher that invoked CopyErrorData
      interface incorrectly, without switching to a memory context other that
      ErrorContext.
      49fc2332
  6. 20 7月, 2018 2 次提交
    • D
      Fix typo · cbee6d14
      Daniel Gustafsson 提交于
      Getting our own abbreviation right seems like a good thing.
      cbee6d14
    • D
      Remove unnecessary pg_config.h includes · 79c6c87f
      Daniel Gustafsson 提交于
      pg_config.h is already included via c.h from postgres.h, individual
      files in the backend should not include it separately (especially
      not for improved editor support as some comments alluded to).
      79c6c87f