1. 14 5月, 2019 3 次提交
  2. 13 5月, 2019 5 次提交
    • T
      Do not get visibilitymap_count for AO relations · cd8bafc4
      Taylor Vesely 提交于
      The relallvisible field in pg_class contains the number of heap pages
      that are marked as all visible for any given heap relation. This value
      is used by the planner to determine the cost of running an
      IndexOnlyScan.
      
      In theory, it is possible to use the visibility map of an AO table to
      enable a index-only scan for AO tables. If there is no entry in the
      pg_aovisimap table, then all tuples in the aoseg file up to the EOF will
      be visible, and and index-only scan should not need to visit the AO
      relation. It's not clear that enabling IndexOnlyScans will buy us
      anything with AO relations, so it makes sense to just disable it for
      now.
      
      Until and unless we decide to enable index only scans of AO tables,
      always set relallvisible to 0 for AO relations. This should prevent the
      planner from choosing an index only scan for AO relations.
      
      Like heap tables, AO tables have a visibility map, but the AO
      visibilitymap serves a different purpose than the visibilitymap in heap
      tables. In Heap tables, the visibility map is an optimization used to
      determine which tuples can be returned directly from an index without
      needing to consult with the heap table. Heap visibility maps do not
      affect the visibility of tuples, but instead are used as a hint for
      whether an IndexOnlyScan needs to visit the underlying relation. The AO
      visibility map is used to track which tuples have been deleted from an
      AO table, and thus their actual visibility to a table scan. AO relations
      do not use a relation fork for a visibility map, and instead track the
      visibility of tuples in an auxiliary table.
      Co-authored-by: NAdam Berlin <aberlin@pivotal.io>
      cd8bafc4
    • A
      Add generated files to gitignore. · 891e5d56
      Adam Berlin 提交于
      891e5d56
    • H
      Waiting relation in GDD should consider lock conflict map. (#7624) · 615aafbc
      Hubert Zhang 提交于
      When determine waiting relation in global dead lock detector,
      we should also check whether the waiter's lockmode conflict with
      holder's holdmask.
      Co-authored-by: NNing Yu <nyu@pivotal.io>
      Reviewed-by: NZhenghua Lyu <zlv@pivotal.io>
      615aafbc
    • B
      Bump ORCA to 3.42.0 and update test cases · 397a80e2
      Bhuvnesh Chaudhary 提交于
      397a80e2
    • B
      Bump ORCA to v3.41.0 and update test cases · 7ccc2a07
      Bhuvnesh Chaudhary 提交于
      7ccc2a07
  3. 12 5月, 2019 2 次提交
    • D
      docs: Remove mentions of deprecated utils · a984f72d
      Daniel Gustafsson 提交于
      The utilities reference page contained (unlinked) mentions of long
      since deprecated utilities, and since they aren't shipping it's time
      to remove them:
      
      	gpsizecalc - removed in June 2010
      	gpskew - removed in October 2009
      	gprebuildsystem - removed in January 2010
      	gpchecknet - removed in April 2010
      	gpcheckos - removed in July 2016
      
      Reviewed-by: Lisa Owen
      Reviewed-by: David Yozie
      a984f72d
    • D
      Remove documentation for gpdetective · 8c4c6bad
      Daniel Gustafsson 提交于
      gpdetective was removed in 4.3.5, so it seems about time to also
      remove the documentation for it (which was unreachable due to the
      app being marked deprecated).
      
      Reviewed-by: Lisa Owen
      Reviewed-by: David Yozie
      8c4c6bad
  4. 11 5月, 2019 2 次提交
  5. 10 5月, 2019 12 次提交
  6. 09 5月, 2019 11 次提交
    • D
      Properly capitalize productname · 7bd5a879
      Daniel Gustafsson 提交于
      When referring to the product name and not a database instance running
      Greenplum, the capitalization should be "Greenplum Database".
      7bd5a879
    • A
      Fix typo in answer file, introduced by b95b5425 · 2c20242c
      Asim R P 提交于
      2c20242c
    • A
      Fix typo in Makefile for installcheck-resgroup target · 028bf0eb
      Asim R P 提交于
      The --load-extension option was misspelt as load_extension.  Resource group
      tests are difficult to run locally, neither are they run in PR pipeline.  That
      makes it difficult to catch such errors.
      028bf0eb
    • A
      Make pg_terminate_backend test more reliable · 63bed5eb
      Asim R P 提交于
      This test has failed at least once due to the terminate query being executed
      before the to be terminated 'create table' statement.  This was evident from
      master logs.  The commit makes it more reliable by injecting a fault and
      waiting for the fault to be trigggered before executing pg_terminate_backend().
      As a side benefit, we no longer need to create any additional table.
      63bed5eb
    • A
      Create gp_inject_fault extension as part of pg_regress and isolation2 · b95b5425
      Asim R P 提交于
      The extension is created by the test harness, after creating the regression /
      isolation2test databases.  Tests should directly start using the extension and
      not attempt to create it.  In addition to simplifying tests a little bit, this
      change avoids an error (duplicate key value violates unique constraint on
      pg_extension) when two or more tests execute create extension command
      concurrently.  The error is not a problem in practice, it expected because of
      the way create extension DDL works.  It is, however, unacceptable for
      regress-style tests that expect a deterministic response to each SQL command.
      b95b5425
    • S
      Bump ORCA version to v3.40.0 · 9d8565cc
      Sambitesh Dash 提交于
      9d8565cc
    • P
      Extend pg_get_expr() to hold a lock for parallel access · afd39491
      Pengzhou Tang 提交于
      In pg_get_expr(), after getting the relname, if the table that the relid tells
      is dropped, an error will raise later when opening the relation to get column
      names.
      
      pg_get_expr() is used by GPDB add-on view 'pg_partitions' which is widely used
      by regression tests for partition tables. Lots of parallel test cases issue view
      pg_partitions and drop partition tables concurrently, so those cases are very
      flaky. Serialize test cases will cost more testing time and be fragile, so GPDB
      holds a AccessShareLock here to make tests stable.
      afd39491
    • P
      Fix a permission denied issue · c5d6078d
      Pengzhou Tang 提交于
      Assume user1 has the privilege to database db1 and user2 has not, when
      user1 try to create a schema in db1 and authorize it to user2, a
      permission denied error is reported in QE. The RCA is QD set current
      user to user2 before dispatching the query to QEs, so QE will also
      set current user to user2, however, user2 has no provilege to create
      schema in database db1.
      
      To fix this, we delay setting the current user to user2 until the query
      is dispatched to QEs.
      c5d6078d
    • P
      Fix error that master and standby are never synchronized · a460975d
      Pengzhou Tang 提交于
      GPDB used to allow command like "START_REPLICATION %X/%X [SYNC]" to
      start a replication, user can specify SYNC option to skip waiting
      synchronous in replications. Now start replication command is made
      similar to upstream, the SYNC option is not supported, however, the
      internal flag "synchronous" is still used and always be false which
      make master and standby never synchronized.
      a460975d
    • K
      concourse: Remove unused orca and conan tasks and scripts · 0d8221a8
      Karen Huddleston 提交于
      Some of the task files were used by jobs in the orca pipeline, but those
      jobs have been removed so the files are not being used anymore.
      Co-authored-by: NKaren Huddleston <khuddleston@pivotal.io>
      Co-authored-by: NDavid Sharp <dsharp@pivotal.io>
      0d8221a8
    • D
      ca2f0272
  7. 08 5月, 2019 5 次提交
    • D
      Align backend/parser error messages to upstream · 8adcea8e
      Daniel Gustafsson 提交于
      Ensure that error messages in src/backend/parser follow the upstream
      guidelines for formatting, styling and content.
      
       * Start hints and details with uppercase and end with period
       * Start messages with lowercase with no ending period
       * Avoid breaking messages in code to make grepping easier
      
      This also cleans up the worst whitespace offences around error
      messages.
      Reviewed-by: NTang Pengzhou <ptang@pivotal.io>
      8adcea8e
    • D
      Fix typos in code comments · bbe1ddc3
      Daniel Gustafsson 提交于
      bbe1ddc3
    • D
      Remove C99 struct initialize to avoid warning · 155796b3
      Daniel Gustafsson 提交于
      Initializing a struct with zeroes using {0} is legal in C99, but cause
      a warning in Clang when the first member of the struct isn't a scalar
      variable:
      
      gpfdist.c:1299:44: warning: suggest braces around initialization of subobject
                         [-Wmissing-braces]
              struct fstream_filename_and_offset fos = {0};
                                                        ^
                                                        {}
      This is a bug in Clang, but we also don't want to turn off this class
      of warnings due to a this trivial false positive, as that might hide
      actual warnings somewhere. Since the struct in question is guaranteed
      to be set before being read, we can avoid the explicit initialization.
      155796b3
    • D
      Remove unused variable in ATPExecPartSplit · dd5dd346
      Daniel Gustafsson 提交于
      The value set in default_pos was never used, so remove the variable
      entirely. The consumers were most likely removed in a refactoring at
      some point.
      Reviewed-by: NJimmy Yih <jyih@pivotal.io>
      dd5dd346
    • D
      Fix potential NULL pointer dereference · 23d9b875
      Daniel Gustafsson 提交于
      Allocating memory manually with malloc() requires checking that the
      allocation was granted before dereferencing the pointer. To fix use
      pg_malloc() which is guaranteed to return a valid pointer or error
      out. Also update the reclaim to use a matching pg_free() call.
      Reviewed-by: NJimmy Yih <jyih@pivotal.io>
      23d9b875