• H
    Merge with PostgreSQL 9.3 (up to almost 9.3beta2) · c7649f18
    Heikki Linnakangas 提交于
    Merge with PostgreSQL, up to the point where the REL9_3_STABLE branch was
    created, and 9.4 development started on the PostgreSQL master branch. That
    is almost up to 9.3beta2.
    
    Notable upstream changes, from a GPDB point of view:
    
    * LATERAL support. Mostly works in GPDB now, although performance might not
      be very good. LATERAL subqueries, except for degenerate cases that can be
      made non-LATERAL during optimization, typically use nested loop joins.
      Unless the data distribution is the same on both sides of the join, GPDB
      needs to add Motion nodes, and cannot push down the outer query parameter
      to the inner side through the motion. That is the same problem we have
      with SubPlans and nested loop joins in general, but it happens frequently
      with LATERAL. Also, there are a couple of cases, covered by the upstream
      regression tests, where the planner currently throws an error. They have
      been disabled and marked with GPDB_93_MERGE_FIXME comments, and will need
      to be investigated later. Also, no ORCA support for LATERAL yet.
    
    * Materialized views. They have not been made to work in GPDB yet. CREATE
      MATERIALIZED VIEW works, but REFRESH MATERIALIZED VIEW does not. The
      'matviews' test has been temporarily disabled, until that's fixed. There
      is a GPDB_93_MERGE_FIXME comment about this too.
    
    * Support for background worker processes. Nothing special was done about
      them in the merge, but we could now make use of them for all the various
      GPDB-specific background processes, like the FTS prober and gpmon
      processes.
    
    * Support for writable foreign tables was introduced. I believe foreign
      tables now have all the same functionality, at a high level, as external
      tables, so we could start merging the two concepts. But this merge commit
      doesn't do anything about that yet, external tables and foreign tables
      are still two entirely different beasts.
    
    * A lot of expected output churn, thanks to a few upstream changes. We no
      longer print a NOTICE on implicitly created indexes and sequences (commit
      d7c73484), and the rules on when table aliases are printed were changed
      (commit 11e13185).
    
    * Caught up to a bunch of features that we had already backported from 9.3:
      data page checksums, numeric datatype speedups, COPY FROM/TO PROGRAM, and
      pg_upgrade as whole.
    
    A couple of other noteworthy changes:
    
    * contrib/xlogdump utility is removed, in favor of the upstream
      contrib/pg_xlogdump utility.
    
    * Removed "idle session timeout" hook. The current implementation was badly
      broken by upstream refactoring of timeout handling (commit f34c68f0).
      We'll probably need to re-introduce it in some form, but it will look
      quite different, to make it fit more nicely with the new timeout APIs.
    Co-authored-by: NAshwin Agrawal <aagrawal@pivotal.io>
    Co-authored-by: NAsim R P <apraveen@pivotal.io>
    Co-authored-by: NDavid Kimura <dkimura@pivotal.io>
    Co-authored-by: NEkta Khanna <ekhanna@pivotal.io>
    Co-authored-by: NHeikki Linnakangas <hlinnakangas@pivotal.io>
    Co-authored-by: NJacob Champion <pchampion@pivotal.io>
    Co-authored-by: NJinbao Chen <jinchen@pivotal.io>
    Co-authored-by: NKalen Krempely <kkrempely@pivotal.io>
    Co-authored-by: NPaul Guo <paulguo@gmail.com>
    Co-authored-by: NRichard Guo <guofenglinux@gmail.com>
    Co-authored-by: NShaoqi Bai <sbai@pivotal.io>
    c7649f18
create_bkupdb.out 7.4 KB