1. 26 7月, 2019 9 次提交
  2. 25 7月, 2019 12 次提交
  3. 24 7月, 2019 7 次提交
  4. 23 7月, 2019 8 次提交
    • L
      docs - revisit citext module doc contents (#8120) · cc2bd393
      Lisa Owen 提交于
      cc2bd393
    • A
      Add --tablespace-dir option to pg_regress · 7a6ea5e8
      Adam Berlin 提交于
      This allows a user to specify regress options to consistently make
      isolation2 tests for pg_basebackup_with_tablespaces pass.
      
      Currently, the tests fail if the user's source directory creates
      a tablespace location directory path that is longer than the 100
      character limit for pg_basebackup to add a tablespace location
      directory to the backup.
      7a6ea5e8
    • A
      Remove pipeline that is not being used. · f9d8eb1c
      Adam Berlin 提交于
      f9d8eb1c
    • Z
      Refactor and improve cdbpath_motion_for_join · e2731add
      Zhenghua Lyu 提交于
      This commit refactor the function `cdbpath_motion_for_join` to make
      it clear and generate better plan for some cases.
      
      In distributed computing system, to gather distributed data into a
      singleQE should always be the last choice. Previous code for general
      and segmentgeneral, when they are not ok_to_replicate, will try to
      gather other locus to singleQD. This commit improves this by firstly
      trying to add redistributed motion.
      
      The logic for the join result's locus (outer's locus is general):
        1. if outer is ok to replicated, then result's locus is the same
           as inner's locus
        2. if outer is not ok to replicated (like left join or wts cases)
           2.1 if inner's locus is hashed or hashOJ, we try to redistribute
               outer as the inner, if fails, make inner singleQE
           2.2 if inner's locus is strewn, we try to redistribute
               outer and inner, if fails, make inner singleQE
           2.3 just return the inner's locus, no motion is needed
      
      The logic for the join results' locus (outer's locus is segmentgenral):
      - if both are SegmentGeneral:
           1. if both locus are equal, no motion needed, simply return
           2. For update cases. If resultrelation
              is SegmentGeneral, the update must execute
              on each segment of the resultrelation, if resultrelation's
              numsegments is larger, the only solution is to broadcast
              other
           3. no motion is needed, change both numsegments to common
             - if only one of them is SegmentGeneral:
               1. consider update case, if resultrelation is SegmentGeneral,
                  the only solution is to broadcast the other
               2. if other's locus is singleQE or entry, make SegmentGeneral
                  to other's locus
               3. the remaining possibility of other's locus is partitioned
                  3.1 if SegmentGeneral is not ok_to_replicate, try to
                      add redistribute motion, if fails gather each to
                      singleQE
                  3.2 if SegmentGeneral's numsegments is larger, just return
                      other's locus
                  3.3 try to add redistribute motion, if fails, gather each
                      to singleQE
      e2731add
    • Z
      Remove Replicated Locus in cdbpath_motion_for_join · 20248a31
      Zhenghua Lyu 提交于
      Locus type Replicated can only be generated by join operation.
      And in the function cdbpathlocus_join there is a rule:
          `<any locus type> join <Replicated> => any locus type`
      
      Proof by contradiction, it shows that when code arrives here,
      it is impossible that any of the two input paths' locus
      is Replicated. So we add two asserts here.
      20248a31
    • A
      Re-enable `COPY (query) TO` on utility mode · 41a8cf29
      Adam Lee 提交于
      It was disabled by accident several months ago while implementing
      `COPY (query) TO ON SEGMENT`, re-enable it.
      
      ```
      commit bad6cebc
      Author: Jinbao Chen <jinchen@pivotal.io>
      Date:   Tue Nov 13 12:37:13 2018 +0800
      
          Support 'copy (select statement) to file on segment' (#6077)
      ```
      
      WARNING: there are no safety protections on utility mode, it's not
      recommended except disaster recovery situation.
      Co-authored-by: NWeinan WANG <wewang@pivotal.io>
      41a8cf29
    • D
      Behave CLI tests: use n1-standard-2 for ccp clusters · d26a2d65
      David Krieger 提交于
      The recent sysctl changes(42930ed1) modified the ccp nodes.
      Somehow, this causes memory issues on our ccp nodes for
      Behave.  There was a recent, similar modification for
      gpexpand(6f494638).
      d26a2d65
    • W
      Rid resource group on hashagg spill evaluation (#8199) · 40d955d6
      Weinan WANG 提交于
      Resource group believe memory access speed always faster than disk,
      and it adds hashagg executor node spill mechanism into its memory management.
      If the hash table size overwhelms `max_mem`, in resource group model, the hash
      table does not spill and fan out data. Resource group wants to grant more memory
      for the hash table. However, this strategy impact hash collision rate, so that
      some performance regression in some OLAP query.
      
      We rid resource group guc when hashagg evaluate if it needs to spill.
      Co-authored-by: NAdam Li <ali@pivotal.io>
      40d955d6
  5. 22 7月, 2019 4 次提交
    • A
      Fix memory quota calculation of aggregation · 79c83ea1
      Adam Lee 提交于
      MemoryAccounting_RequestQuotaIncrease() returns a number in bytes, but
      here expects kB.
      79c83ea1
    • tubocurarine's avatar
      Fix compile issue for PyGreSQL on MacOS. · 0acc22e1
      tubocurarine 提交于
      When building file `_pg.so` on MacOS platform, distutil will invoke
      clang compiler with arguments `-arch x86_64 -arch i386`. But type
      `int128` is not available for i386 architecture, thus following error occurs:
      
      ```
      In file included from pgmodule.c:32:
      In file included from include/postgres.h:47:
      include/c.h:427:9: error: __int128 is not supported on this target
      typedef PG_INT128_TYPE int128
              ^
      include/pg_config.h:838:24: note: expanded from macro 'PG_INT128_TYPE'
                             ^
      In file included from pgmodule.c:32:
      In file included from include/postgres.h:47:
      include/c.h:433:18: error: __int128 is not supported on this target
      ```
      
      By adding `['-arch', 'x86_64']` into `extra_compile_args`, distutil will
      remove `-arch i386` from compiler arguments, thus fixes compile error.
      0acc22e1
    • A
      Refactor to remove raw_buf_done from external scan · 585e90b6
      Adam Lee 提交于
      scan->raw_buf_done was used for custom external table only, refactor
      to remove the MERGE_FIXME.
      
      cstate->raw_buf_len is safe to use since we operate pstate->raw_buf
      directly in this case.
      585e90b6
    • A
      Remove some unnecessary MERGE_FIXMEs · b6afd44c
      Adam Lee 提交于
      About the `isjoininner`, I searched the history commit in merge branch,
      it was removed by "e2fa76d8 - Use parameterized paths to generate
      inner indexscans more flexibly" on upstream from 9.2, that MERGE_FIXME
      was there because at that time functions which rely on `isjoininner`
      refused to compile.
      b6afd44c