1. 12 4月, 2016 5 次提交
    • A
      Improve error message when $GPHOME is not set. · f0ebf876
      Andreas Scherbaum 提交于
      Along the way, fix trailing tabs and split a long error
      message into two lines.
      
      This will fix #524
      f0ebf876
    • A
      Fix XML regression tests failure · 70a857dc
      Andreas Scherbaum 提交于
      A new version of libXML changes the output format, this patch
      adapts the new "expected" file introduced in
      PostgreSQL commit 085423e3.
      Slight modifications by me.
      
      This patch will not fail the current Pulse run in any way, because
      the Pulse systems do not yet use the new libXML library, and therefore
      are happy with xml.out and xml_1.out. I stripped down the regression
      tests and this is the output without the patch:
      
      parallel group (14 tests):  limit prepare conversion xml rowtypes copy2 polymorphism sequence without_oid temp truncate domain rangefuncs alter_table
           limit                ... ok (0,24 sec)  (diff:0,07 sec)
           copy2                ... ok (2,44 sec)  (diff:0,07 sec)
           temp                 ... ok (3,83 sec)  (diff:0,07 sec)
           domain               ... ok (7,12 sec)  (diff:0,10 sec)
           rangefuncs           ... ok (12,15 sec)  (diff:0,09 sec)
           prepare              ... ok (0,49 sec)  (diff:0,06 sec)
           without_oid          ... ok (3,49 sec)  (diff:0,07 sec)
           conversion           ... ok (1,19 sec)  (diff:0,17 sec)
           truncate             ... ok (4,03 sec)  (diff:0,06 sec)
           alter_table          ... ok (27,88 sec)  (diff:0,32 sec)
           sequence             ... ok (3,18 sec)  (diff:0,08 sec)
           polymorphism         ... ok (3,13 sec)  (diff:0,11 sec)
           rowtypes             ... ok (2,17 sec)  (diff:0,09 sec)
           xml                  ... FAILED (1,69 sec)  (diff:0,39 sec)
      test variadic_parameters  ... ok (1,57 sec)  (diff:0,07 sec)
      test default_parameters   ... ok (0,68 sec)  (diff:0,07 sec)
      
      =======================
       1 of 97 tests failed.
      =======================
      
      This is the output with the patch:
      
      parallel group (14 tests):  limit prepare conversion xml rowtypes copy2 polymorphism sequence without_oid temp truncate domain rangefuncs alter_table
           limit                ... ok (0,21 sec)  (diff:0,10 sec)
           copy2                ... ok (1,95 sec)  (diff:0,06 sec)
           temp                 ... ok (3,41 sec)  (diff:0,26 sec)
           domain               ... ok (6,67 sec)  (diff:0,19 sec)
           rangefuncs           ... ok (11,55 sec)  (diff:0,09 sec)
           prepare              ... ok (0,41 sec)  (diff:0,06 sec)
           without_oid          ... ok (2,91 sec)  (diff:0,06 sec)
           conversion           ... ok (0,96 sec)  (diff:0,15 sec)
           truncate             ... ok (3,62 sec)  (diff:0,09 sec)
           alter_table          ... ok (25,79 sec)  (diff:0,22 sec)
           sequence             ... ok (2,89 sec)  (diff:0,06 sec)
           polymorphism         ... ok (2,50 sec)  (diff:0,09 sec)
           rowtypes             ... ok (1,87 sec)  (diff:0,12 sec)
           xml                  ... ok (1,54 sec)  (diff:0,30 sec)
      test variadic_parameters  ... ok (1,43 sec)  (diff:0,07 sec)
      test default_parameters   ... ok (0,43 sec)  (diff:0,07 sec)
      
      ======================
       All 97 tests passed.
      ======================
      
      Fix #550
      70a857dc
    • H
      Remove gp_disable_catalog_access_on_segment GUC. · 2e8b036d
      Heikki Linnakangas 提交于
      It didn't do anything useful AFAICS.
      2e8b036d
    • A
    • J
      Change gpconfig exit status for option parsing. · 84f2c1e3
      Jimmy Yih 提交于
      Currently, the gpconfig utility is exiting with status 0 when one of
      the option parsing checks fail.  It should return 1 instead.
      84f2c1e3
  2. 11 4月, 2016 2 次提交
    • K
      9a144323
    • K
      Support the aggregation transition datatype to be "internal" (#588) · d9496670
      Kuien Liu 提交于
      * Support the aggregation transition datatype to be "internal"
      
      Backport below commits from upstream:
      
          commit 22d9ddbb
          Author: Tom Lane <tgl@sss.pgh.pa.us>
          Date:   Sat Aug 14 15:47:13 2010 +0000
      
              Fix planner to make a reasonable assumption about the amount of memory space
              used by array_agg(), string_agg(), and similar aggregate functions that use
              "internal" as their transition datatype.  The previous coding thought this
              took *no* extra space, since "internal" is pass-by-value; but actually these
              aggregates typically consume a great deal of space.  Per bug #5608 from
              Itagaki Takahiro, and fix suggestion from Hitoshi Harada.
      
              Back-patch to 8.4, where array_agg was introduced.
      
          commit 9e0247ab
          Author: Tom Lane <tgl@sss.pgh.pa.us>
          Date:   Fri Nov 14 19:47:50 2008 +0000
      
              In CREATE AGGREGATE, allow the transition datatype to be "internal", but only
              if the user is superuser.  This makes available to extension modules the same
              sort of trick being practiced by array_agg().  The reason for the superuser
              restriction is that you could crash the system by connecting up an
              incompatible pair of internal-using functions as an aggregate.  It shouldn't
              interfere with any legitimate use, since you'd have to be superuser to create
              the internal-using transition and final functions anyway.
      
      Besides, we cannot find regression tests in above commits, so we
      add a set of tests for this feature, a part of them come from
      legacy extension "intagg" regression tests.
      
      Conflicts:
      	src/test/regress/expected/arrays.out
      	src/test/regress/sql/arrays.sql
      
      * add tests to #588: run with role of (non-)superuser
      
          #588: Support the aggregate's transype to be "internal"
      
      Normally, the aggregate's transtype can't be a pseudo-type.
      However, we can allow "internal" for functions that want to
      pass pointers to private data structures; but allow that only
      to superusers. Here we add tests to verify this constraint.
      d9496670
  3. 10 4月, 2016 1 次提交
    • D
      Remove dead code · 700b86d9
      Daniel Gustafsson 提交于
      This code was commented out without providing any useful information
      so remove to reduce clutter.
      700b86d9
  4. 09 4月, 2016 3 次提交
  5. 08 4月, 2016 7 次提交
    • A
      e2768671
    • D
      Add qp_query_execution testsuite to greenplum_schedule · 3b5a2dc8
      Daniel Gustafsson 提交于
      The qp_query_execution test was added to the tree in commit 9d19664c
      and then further updated in 29a0fec8 but it's not present in any test
      schedule. Add to the greenplum_schedule to include it when running
      installcheck-good.
      3b5a2dc8
    • K
      Backport AggCheckCallContext() (#607) · 0d748d9b
      Kuien Liu 提交于
      Backport below commit from upstream:
      
          commit d5768dce
          Author: Tom Lane <tgl@sss.pgh.pa.us>
          Date:   Mon Feb 8 20:39:52 2010 +0000
      
              Create an official API function for C functions to use to check if they are
              being called as aggregates, and to get the aggregate transition state memory
              context if needed.  Use it instead of poking directly into AggState and
              WindowAggState in places that shouldn't know so much.
      
              We should have done this in 8.4, probably, but better late than never.
      
              Revised version of a patch by Hitoshi Harada.
      
      modified:   src/backend/executor/nodeAgg.c
      modified:   src/include/fmgr.h
      0d748d9b
    • H
      Remove unused file 'fil' · f513543d
      Haisheng Yuan 提交于
      f513543d
    • S
      gpcheckcat refactoring and nomenclature changes · b57da2ea
      Stephen Wu 提交于
      - use consistent spacing
      - use spaces instead of tabs
      - update nomenclature in gpcheckcat - rename 'test' to 'check'
        This is is to be more consistent and to avoid confusion with unit/integration
        tests in the future.  We purposely did not change 'test' in stdout and logs
        because integration tests for other parts of the system that call
        gpcheckcat currently fail if our output changes.  A future commit may
        change 'test' to 'check' in stdout in addition to fixing the aforementioned
        integration tests.
      
      Authors: Chumki Roy and Stephen Wu
      b57da2ea
    • K
      drop leaked/orphan schemas before running gpcheckcat catalog checks (#595) · 41dfd82b
      kaknikhil 提交于
      * drop leaked schemas before running gpcheckcat tests
      
        1. drop any leaked/orphaned schemas before running any of the gpcheckcat tests
        2. add unit and behave tests
        3. move gpcheckcat from gpMgmt/bin/lib to gpMgmt/bin
        4. misc refactoring
      
      orphan/leaked schemas are temp schemas that are not associated with any session id.
      There used to be a check for leaked temp schemas in gpcheckcat
      which ended up creating a repair script.
      
      * drop the database at the end of the behave test
      
      * move the gpcheckcat bin to lib symlink before the copy to /Users/nikhilkak/git/gpdb/gpAux/greenplum-db-devel
      
      * fix the if check before symlinking  gpcheckcat from bin to lib
      
      closes #595  
      41dfd82b
    • H
      Bump up GPORCA version number · 6e868c20
      Haisheng Yuan 提交于
      6e868c20
  6. 07 4月, 2016 7 次提交
    • D
      Use the discovered apr-1-config binary in building gpfdist · ffaa1704
      Daniel Gustafsson 提交于
      Since we discover the apr-1-config binary during the configure stage
      we might as well simplify the gpfdist Makefile by using it during
      building. Also renames the APR_CONFIG variable to avoid colliding
      with $APR_CONFIG using the gpAux makefile.
      ffaa1704
    • H
      Fix broken query in gp_optimizer test. · 5f8d78ff
      Heikki Linnakangas 提交于
      5f8d78ff
    • A
      Remove incorrect assumption that reindex cannot happen within a · 9a09b638
      Asim R P 提交于
      transaction block.
      
      ReindexRelationList is a GPDB specific function that wraps each
      reindex table operation within a separate transaction.  If the table
      being reindexed is a partitioned table, each partition is reindexed in
      a separate transaction.  Now that we have removed the assertion,
      refactor this function to commit and start top level transcation,
      rather than leaving this burden on callers.
      
      Fixes #567.
      9a09b638
    • G
      Using zlib with palloc() for spillfiles and dispatch · 7d2d2388
      George Caragea 提交于
      This commit makes zlib to use palloc/pfree, by rewriting compress_zlib.c to utilize the API in gfile.c, and dispatcher to use palloc and pfree through a set of zlib wrapper functions. This enables our protection mechanisms (gp_vmem_protect_limit, runaway_detector_activation_percent) to keep the system stable by cleanly canceling a query which would otherwise cause us to run out of memory.
      Signed-off-by: NNikos Armenatzoglou <nikos.armenatzoglou@gmail.com>
      7d2d2388
    • F
      Fixing memory leak because of reallocation of level state per partition for... · 6d898d77
      Foyzur Rahman 提交于
      Fixing memory leak because of reallocation of level state per partition for every new partition. Instead, we now reallocate level state for every level in the makeWindowState.
      
      The following repro will consume gigabytes of memory and should run out of memory, given appropriate VMEM configuration:
      
      drop table if exists wtest;
      create table wtest
      (
          id integer,
          dt date,
          name character varying(100),
          created_dt date
      );
      
      insert into wtest select a, current_date + a, 'xyz' || a, current_date + (a % 10) from (select a from generate_series(1, 10000000) as a) as temp;
      
      select row_number() over (w) as row_num,
      id,
      dt,
      name
      from wtest
      window w as (partition by dt,
      name,
      id
      order by created_dt desc
      );
      
      After the fix the same repro should consume very little memory.
      6d898d77
    • A
      Log all filerep logs to server logs instead of separate log files. · 5c754f0e
      Abhijit Subramanya 提交于
      In some cases, the filerep processes get stuck waiting for the spin locks on an
      in memory log and the postmaster PANICs if they can't acquire a lock after
      timeout period. In order to avoid locking related issues we want to avoid
      acquiring the locks in the first place. This patch introduces a new guc which
      will cause filerep logs to be logged to server logs and will avoid logging to
      the in memory log.
      5c754f0e
    • S
      dbac31fe
  7. 06 4月, 2016 3 次提交
  8. 05 4月, 2016 5 次提交
  9. 18 3月, 2016 1 次提交
  10. 05 4月, 2016 1 次提交
    • N
      Removing code related to workfile caching · 00ce2c14
      Nikos Armenatzoglou 提交于
      Workfile caching has already been removed from master. This commit cleans up workfile manager and removes two functions (workfile_mgr_evict and acquire_entry_retry) related to workfile caching that we do not need them anymore.
      00ce2c14
  11. 02 4月, 2016 5 次提交
    • H
      Temporally fix to 'casts to/from string types for every datatype' · ead24acd
      Haozhou Wang 提交于
      Looks it falls back to legacy optimizer when running regression,
      hence we temporally comment out three tests and create a story
      on pivotaltracker #116312671 to solve it later.
      -- comment out two tests in domain.sql
      -- comment out one test in qp_misc_jiras.sql
      
        Thanks to Venkatesh Raghavan for helping
      ead24acd
    • H
      Support casts to/from string types for every datatype · d481bd72
      Haozhou Wang 提交于
      Backport below commits from upstream:
      
          commit 31edbadf
          Author: Tom Lane <tgl@sss.pgh.pa.us>
          Date:   Tue Jun 5 21:31:09 2007 +0000
      
              Downgrade implicit casts to text to be assignment-only, except for the ones
              from the other string-category types; this eliminates a lot of surprising
              interpretations that the parser could formerly make when there was no directly
              applicable operator.
      
              Create a general mechanism that supports casts to and from the standard string
              types (text,varchar,bpchar) for *every* datatype, by invoking the datatype's
              I/O functions.  These new casts are assignment-only in the to-string direction,
              explicit-only in the other, and therefore should create no surprising behavior.
              Remove a bunch of thereby-obsoleted datatype-specific casting functions.
      
              The "general mechanism" is a new expression node type CoerceViaIO that can
              actually convert between *any* two datatypes if their external text
              representations are compatible.  This is more general than needed for the
              immediate feature, but might be useful in plpgsql or other places in future.
      
              This commit does nothing about the issue that applying the concatenation
              operator || to non-text types will now fail, often with strange error messages
              due to misinterpreting the operator as array concatenation.  Since it often
              (not always) worked before, we should either make it succeed or at least give
              a more user-friendly error; but details are still under debate.
      
              Peter Eisentraut and Tom Lane
      
          commit bf940763
          Author: Tom Lane <tgl@sss.pgh.pa.us>
          Date:   Tue Mar 27 23:21:12 2007 +0000
      
              Fix array coercion expressions to ensure that the correct volatility is
              seen by code inspecting the expression.  The best way to do this seems
              to be to drop the original representation as a function invocation, and
              instead make a special expression node type that represents applying
              the element-type coercion function to each array element.  In this way
              the element function is exposed and will be checked for volatility.
              Per report from Guillaume Smet.
      d481bd72
    • F
      Adding test changes in alter_table_optimizer.out for fixing tuple descriptor... · cc599b5b
      Foyzur Rahman 提交于
      Adding test changes in alter_table_optimizer.out for fixing tuple descriptor leak in split_rows during an ALTER TABLE SPLIT PARTITION.
      cc599b5b
    • F
    • N
      add a comment explaining search_path's role in the bug · 1ac9e8fa
      Nikhil Kak 提交于
      1ac9e8fa