1. 20 10月, 2016 9 次提交
  2. 19 10月, 2016 5 次提交
  3. 18 10月, 2016 4 次提交
    • K
      Fix the concat function tests by explicit casting from int to text · ded7866b
      Kuien Liu 提交于
      This is due to the 8.3 merge removed the implicit casting to text.
      Detailed info can be found in following commit:
      
          commit a453004e
          Merge: 5dc7dda9 d13f41d2
          Author: Heikki Linnakangas <hlinnakangas@pivotal.io>
          Date:   Wed Jun 15 15:17:19 2016 +0300
      
          One big user-visible change included is the removal of implicit cast from
          other datatypes to text. When this was done in PostgreSQL, it caused a lot
          of sloppily written application queries to break. Which is a good thing in
          the long run, but it caused a lot of pain on upgrade.
      Signed-off-by: NKuien Liu <kliu@pivotal.io>
      ded7866b
    • A
      Remove obsolete relaosegrelid and relaosegidxid fields · f9c2dfcd
      Adam Lee 提交于
      Related commit:
      
          commit 9e1e324d
          Author: Heikki Linnakangas <hlinnakangas@pivotal.io>
          Date:   Tue Aug 2 00:59:25 2016 +0300
      
              Remove obsolete relaosegrelid and relaosegidxid fields from pg_class.
      
              They were not used for anything. Look at segrelid and segidxid in
              pg_appendonly instead.
      
      [#132551801]
      Signed-off-by: NXin Zhang <xzhang@pivotal.io>
      f9c2dfcd
    • S
      Add new task in perf pipeline to setup GPDB (#1204) · cc18e46f
      Shreedhar Hardikar 提交于
      * Add new task in perf pipeline to setup GPDB
      
      * Install GPDB from an installer copied over to the instance
      * Add remote_push and remote_pull for easy copying
      * Fix failure when remote_run_script is called when EXPORTS is empty
      
      Authors:
      - Shreedhar Hardikar <shardikar@pivotal.io>
      - Omer Arap <oarap@pivotal.io>
      cc18e46f
    • J
      Use relpath for ReadBuffer_common error messages. · 6331aa68
      Jimmy Yih 提交于
      This patch refactors ReadBuffer_common to remove relErrMsgString
      argument and use relpath of reln->smgr_rnode instead.
      
      Author: Jimmy Yih
      6331aa68
  4. 17 10月, 2016 2 次提交
  5. 15 10月, 2016 3 次提交
    • K
      Explicitly enable/disable codegen/orca while running installcheck-good and... · 352d8d7d
      kaknikhil 提交于
      Explicitly enable/disable codegen/orca while running installcheck-good and installcheck-bugbuster (#1213)
      
      While running installcheck , we are not explicitly setting codegen or orca to "off" . This causes confusion and also is prone to bugs where the feature may be turned "on" before running installcheck.
      
      This commit explicitly turns off the feature during installcheck-good and installcheck-bugbuster.
      
      Thanks,
      Nikhil & Nikos
      352d8d7d
    • M
      add test for gprecoverseg -r when the segments are waiting to be synchronized (#1192) · 80d1fc21
      Marbin Tan 提交于
      This is a followup test for PR #1005
      80d1fc21
    • S
      Set persistentTid and persistentSerialNum in XLog record in log_newpage(). · 2687460e
      Shoaib Lari 提交于
      The log_newpage() routine allocates an XLog record on the stack with
      uninitialized persistentTid and persistentSerialNum fields.  Insertion of these
      XLog records causes problems in XLog replay during recovery.
      
      This commit ensures that the XLog records written by log_newpage() always have
      the persistentTid and persistentSerial set correctly.
      
      This commit also makes the test
      src/test/tinc/tincrepo/mpp/gpdb/tests/storage/crashrecovery/test_reindex_pg_class.py
      pass.
      
      Signed off by: Asim Praveen <apraveen@pivotal.io>, Amil Khanzada
      <akhanzada@pivotal.io>
      2687460e
  6. 14 10月, 2016 6 次提交
  7. 13 10月, 2016 6 次提交
    • J
      Disable aggressive loop optimizations in GCC 4.8+ (#1200) · 2e387d0e
      Jesse Zhang 提交于
      Summary:
      * Properly propagate the C++ compiler from autoconf
      * Disable aggressive loop optimizations in GCC 4.8+
      
      This commit is in the spirit of postgres/postgres@105f3ef4 , but done
      for C++ code so that the GPORCA translator can properly build when the
      compiler is GCC 4.8+
      
      Fixes greenplum-db/gpdb#1186 .
      
      TL;DR, here is the additional context on what specific to GPORCA translator:
      
      GCC 6.2.0 compiler (which is required for codegen) got aggressive loop optimization to remove loop when enumerating variable length array.
      
      In code `CTranslatorRelcacheToDXL.cpp`, we have a loop to enumerate all
      the attributes of an index:
      
      ```
      INT iAttno = pgIndex->indkey.values[ul];
      ```
      
      Where `values[ul]` is of following data structure:
      
      ```
      typedef struct
      {
      ...
      	int2		values[1];		/* VARIABLE LENGTH ARRAY */
      } int2vector;					/* VARIABLE LENGTH STRUCT */
      ```
      
      This is standard way of dealing with variable length array in Postgres. However, optimizer
      thinking there is only 1 element, hence removed the loop.
      
      This caused wrong result when using GPDB with GPORCA. The repro is
      ```
      -- multi-column index
      create table index_test (a int, b int, c int, d int, e int,
        constraint index_test_pkey PRIMARY KEY (a, b, c, d));
      
      insert into index_test select i,i%2,i%3,i%4,i%5 from generate_series(1,100) i;
      
      -- expecting using index scan with index cond: c=5
      explain select * from index_test where c = 5;
      ```
      
      When compile with GCC 6.2.0, the `index scan` is not selected, but a `table scan` is chosen
      instead. The root cause is the compiler removed the loop, and only keep the first column.
      
      The fix is to add $CXXFLAG auto detection to add the
      `-fno-aggressive-loop-optimizations` for $CXX compilers if that version of compiler supporting
      such optimization. Hence to avoid having the above issue for gpopt component.
      2e387d0e
    • W
      Refactor gphdfs test cases to work with pg_regress · 6509f0fa
      Wu Ning 提交于
      6509f0fa
    • N
    • N
    • S
      Fix used_segspace counter leak · 041e0547
      Shreedhar Hardikar 提交于
      GPDB currently has 2 APIs of creating work files
        1. Using workfile_mgr :
      
          1. This uses a workfile set to contain all the related workfiles.
          2. All workfiles are created under the same directory. As a result,
             when it is time to delete the workfiles, we can simply delete the directory.
          3. There is no mechanism to control the exact name of the workfile created.
             All workfiles are referenced using an ID. `"%s/spillfile\_f%u", work\_set-\>path, file\_no);`
          4. Deletion of workiles is automatically handled in case of an exception,
             as all the files are contained in one directory, thus no counter/files are leaked.
      
        2. Using ExecWorkfile :
      
          1. There is a Create/Open/Read/Write/Flush/Close API.
          2. This is the lower-level API also used by workfile_mgr to manage the workfiles directly.
          3. Each operator is resposible to correctly close the workfile it creates.
      
        When we write to a workfile, we reserve and add the number of bytes to used_segspace,
        and add that amount to `workfile->size`. Then, we call `workfile_update_in_progress_size`.
        If the workfile has an owning workset, we update the workset's `in_progress_size` counter.
        However, if it has no such workset, we completely ignore the count -
        and this is what ultimately leaks the `used_segspace` counter.
      
        This is a fix to account for bytes written in workfiles that are not part of any workfile set -
        that is those created using the lower level API. Hence when we abort or error out,
        we subtract this amount from the `used_segspace` counter.
      
      Authors:
      Shreedhar Hardikar <shardikar@pivotal.io>
      Xin Zhang <xzhang@pivotal.io>
      Karthikeyan Jambu Rajaraman <karthi.jrk@gmail.com>
      Nikos Armenatzoglou <nikos.armenatzoglou@gmail.com>
      041e0547
    • M
      Escape distribution key when creating WET in gptransfer (#1182) · c7cd2999
      Marbin Tan 提交于
      * Escape distribution key when creating WET in gptransfer
      
      * There is an issue where when a user creates a table and the table has
        a column with CAPITAL LETTERS or quotes and that column is used as the
        distributed key, then gptransfer fails. gptransfer tries to create
        the WRITABLE EXTERNAL TABLE for gpfdist with unquoted values and
        breaks; this is because the DISTRIBUTED BY portion is not quoted properly.
      * This commit handles the quotation for the distributed key
      
      Authors: Marbin Tan & Todd Sedano
      c7cd2999
  8. 12 10月, 2016 3 次提交
  9. 11 10月, 2016 2 次提交