1. 02 6月, 2016 19 次提交
    • J
      Fix `partindex_test` · a9eff8c7
      Jesse Zhang and Omer Arap 提交于
      This fixes the test failure introduced in commit effc38f6
      
      fixes #809
      [delivers #120723853]
      a9eff8c7
    • N
      Create naive code-generated version of ExecQual · aae0ad3d
      Nikos Armenatzoglou 提交于
      This commit generates code for a naive code-generated version of ExecQual that simply fallbacks to regular ExecQual.
      The code-generated ExecQual is enrolled in the existing codegen framework and is called only in ExecScan.
      After the implementation of the function (i.e., generate code for expression evaluation), we can replace all calls to regular ExecQual with call_ExecQual macros.
      aae0ad3d
    • S
      Minor code quality fixes in src/backend/codegen · dce266ad
      Shreedhar Hardikar 提交于
       * Address a number of cpplint errors
       * Fix files and variable naming for ExecVariableList codegen
       * Ignore Testing directory created by ctest
      dce266ad
    • H
      Fix incorrect opcintype value for bitmap AM's varchar_pattern_ops. · 86244b64
      Heikki Linnakangas 提交于
      The 8.3 merge added a new opr_sanity test that caught that. But it's
      been broken all along, so fix it now. We'll get the regression test later,
      with the merge.
      86244b64
    • H
      Backport: Fix edge-case behavior of pg_next_dst_boundary(). · c23105a3
      Heikki Linnakangas 提交于
      Backport this bugfix from PostgreSQL 9.0, because we had backported
      src/timezone or at least localtime.c from 9.0. This brings localtime.c
      in sync with the tip of REL9_0_STABLE. (PostgreSQL 9.0 is end-of-life
      already, so there won't be any more fixes in that branch in the upstream.)
      
      commit 6b87144323fe4cf920ea4d095cce93a84c9b8922
      Author: Tom Lane <tgl@sss.pgh.pa.us>
      Date:   Wed Apr 25 17:25:30 2012 -0400
      
          Fix edge-case behavior of pg_next_dst_boundary().
      
          Due to rather sloppy thinking (on my part, I'm afraid) about the
          appropriate behavior for boundary conditions, pg_next_dst_boundary() gave
          undefined, platform-dependent results when the input time is exactly the
          last recorded DST transition time for the specified time zone, as a result
          of fetching values one past the end of its data arrays.
      
          Change its specification to be that it always finds the next DST boundary
          *after* the input time, and adjust code to match that.  The sole existing
          caller, DetermineTimeZoneOffset, doesn't actually care about this
          distinction, since it always uses a probe time earlier than the instant
          that it does care about.  So it seemed best to me to change the API to make
          the result=1 and result=0 cases more consistent, specifically to ensure
          that the "before" outputs always describe the state at the given time,
          rather than hacking the code to obey the previous API comment exactly.
      
          Per bug #6605 from Sergey Burladyan.  Back-patch to all supported versions.
      c23105a3
    • H
      Add a sanity check. · 6d908f32
      Heikki Linnakangas 提交于
      This was useful while debugging on the 8.3 merge branch. It might come
      handy in the future too, and it's cheap.
      6d908f32
    • D
      bda9c4a7
    • H
      Minor cleanup of the way relpages/reltuples are fetched in ANALYZE. · 25de0b87
      Heikki Linnakangas 提交于
      The convenience routine isn't really all that convenient. Aside from
      refactoring, this turns the NULL checks from an Assert to elog(). Seems more
      robust. (I happened to hit the assertion, while hacking on something else.)
      25de0b87
    • H
      Fix wording of error messages: "You may need ..." -> "You might need ...". · 2f9bf9bd
      Heikki Linnakangas 提交于
      This was done in the upstream earlier already, in commit 8b4ff8b6, but there
      were a few GPDB-added error messages left. Fix those too, for consistency.
      2f9bf9bd
    • H
      Remove useless Assertion. · c0818034
      Heikki Linnakangas 提交于
      This is inside an if-check that checks the same. Plus some whitespace fixes.
      Caught my eye while debugging..
      c0818034
    • H
      Remove obsolete backwards-compatibility code. · effc38f6
      Heikki Linnakangas 提交于
      There's no need to be able to read nodes generated by an old version. We're
      not going to handle upgrades that way.
      effc38f6
    • H
      Clean up overly complicated Assert. · 747724c1
      Heikki Linnakangas 提交于
      747724c1
    • H
      Convert some caql calls to SysCache lookups. · d75c0f2b
      Heikki Linnakangas 提交于
      Not strictly necessary, but couldn't resist..
      d75c0f2b
    • H
      Remove dummy support for CLUSTER VERBOSE option. · 188e7e14
      Heikki Linnakangas 提交于
      The VERBOSE option was always ignored, so this is no loss in functionality,
      you just can't add that noiseword there anymore. According to git history,
      this was added to the syntax back in 2009, for "PostgreSQL compatibility",
      but AFAICS PostgreSQL has never had VERBOSE option for CLUSTER, so I have
      no idea what that was all about. It's possibly worth noting in release
      notes as a backwards-incompatibility, though.
      188e7e14
    • H
      Remove checkpoint.h, and move the definitions in it to bgwriter.h. · a619808f
      Heikki Linnakangas 提交于
      Having a "checkpoint.h", corresponding to "checkpoint.c", makes perfect
      sense, but those function definitions are in bgwriter.h in PostgreSQL, and
      keeping the code as close to upstream as possible trumps the consistency of
      keeping definitions for "foo.c" in header file called "foo.h". Keeping
      things close to upstream makes merging easier.
      a619808f
    • H
      Replace CaQL calls with syscache lookups, to match upstream. · 4d3a6c1f
      Heikki Linnakangas 提交于
      These created merge conflicts while working on the 8.3 merge. In order to
      keep that upcoming big merge slightly smaller, cherry-pick this change to
      master now. pg_depend.c was already completely identical to the PostgreSQL
      8.3 version, except for the use of CaQL.
      
      Well, almost: there was also one instance of changing an old
      heap_formtuple() call to the new heap_form_tuple() interface. I kept that
      change. But other than that, the file is now 100% identical to upstream.
      4d3a6c1f
    • H
    • H
      Revert a solaris-specific change vs. upstream. · 3506aacf
      Heikki Linnakangas 提交于
      We don't particularly care about performance on Solaris at the moment, and
      have no Solaris systems to test on. Let's just rely on the upstream
      defaults, and revert this change to reduce our diff footprint vs. upstream.
      3506aacf
    • V
      879de2bc
  2. 01 6月, 2016 8 次提交
  3. 29 5月, 2016 3 次提交
    • H
      Lower minimum work_mem to 64kB, also on non-assert-enabled builds. · d4ec32eb
      Heikki Linnakangas 提交于
      A new regression test was added in the upstream that does work_mem='64kB',
      which used to fail without --enable-cassert. There's little reason to not
      allow a small value here, so let's just allow it. It doesn't mean that
      anyone should use such a small value in production, but that's just a
      matter of "don't do that then".
      
      The minimum was changed later in the upstream, too, to be 64 kb regardless
      of BLCKSZ.
      d4ec32eb
    • H
      Fix bug in freeGangsForPortal(). · e88fa555
      Heikki Linnakangas 提交于
      prev_item variable needs to be reset between the two loops. Otherwise,
      if the first item in the latter list (allocatedReaderGangs1) needs to
      be removed, things go wrong. I got an assertion failure with
      installcheck-good from that:
      
      FailedAssertion(""!(prev != ((void *)0) ? ((prev)->next) == cell : list_head(list) == cell)"", File: ""list.c"", Line: 616)
      
      This got broken in the recent refactoring commit 46dfa750. The rest of the
      changes in this commit, introducing the new next_item variable, wasn't
      needed for correctness, but IMHO makes the code easier to understand.
      e88fa555
    • H
      Clear MyProc->pid when an auxiliary process exits. · 071a969c
      Heikki Linnakangas 提交于
      I missed this in commit af7b1b51, which reverted the backend shutdown code
      closer to the upstream. Without it, auxiliary proc slots are never reused,
      so you run out of them fairly quickly, if any (non-permanent) auxiliary
      processes are used.
      
      Reported by Gang Xiong, who ran into this with gprecoverseg.
      071a969c
  4. 28 5月, 2016 2 次提交
    • H
      Remove Debug_check_for_invalid_persistent_tid option. · b3ec6f00
      Heikki Linnakangas 提交于
      The checks for invalid TIDs are very cheap, a few CPU instructions. It's
      better to catch bugs involving invalid TID early, so let's always check
      for them.
      
      The LOGs in storeAttrDefault() that were also tied to this GUC seemed
      oddly specific. They were probably added long time ago to hunt for some
      particular bug, and don't seem generally useful, so I just removed them.
      b3ec6f00
    • J
      Refactored argument passing in backup and restore to use a context variable. · 9d1ae66c
      Jamie McAtamney 提交于
      Previously, the functions and subclasses in gpcrondump, gpdbrestore, dump.py,
      and restore.py all required long lists of arguments to be passed around and
      required many helper functions.  This made adding new command-line options
      or new features quite time-consuming to implement and to test.
      
      Now, a Context class has been added to backup_utils.py that holds all of the
      variables used for command-line options, as well as other variables used in
      many places during backup and restore; additionally, many helper functions
      have been condensed into a few functions within Context, and in the future
      more such functions can be moved to Context as needed.  This will make it
      much easier to expand dump and restore functionality going forward.
      9d1ae66c
  5. 27 5月, 2016 5 次提交
  6. 26 5月, 2016 1 次提交
    • D
      Remove copy-paste error from gpopt Makefile · 46b5bb76
      Daniel Gustafsson 提交于
      This seems like a copy-paste error since the IDENTIFICATION marker
      is a PostgreSQL artifact and Peter Eisentraut probably didn't write
      the gpopt Makefile. Remove to make it look like the headers in other
      GPDB specific makefiles.
      46b5bb76
  7. 25 5月, 2016 2 次提交