1. 30 11月, 2011 13 次提交
  2. 29 11月, 2011 11 次提交
  3. 28 11月, 2011 7 次提交
    • M
      Add libpq connection option to disable SSL compression · 64aea1eb
      Magnus Hagander 提交于
      This can be used to remove the overhead of SSL compression on
      fast networks.
      
      Laurenz Albe
      64aea1eb
    • T
      Ensure that whole-row junk Vars are always of composite type. · dd3bab5f
      Tom Lane 提交于
      The EvalPlanQual machinery assumes that whole-row Vars generated for the
      outputs of non-table RTEs will be of composite types.  However, for the
      case where the RTE is a function call returning a scalar type, we were
      doing the wrong thing, as a result of sharing code with a parser case
      where the function's scalar output is wanted.  (Or at least, that's what
      that case has done historically; it does seem a bit inconsistent.)
      
      To fix, extend makeWholeRowVar's API so that it can support both use-cases.
      This fixes Belinda Cussen's report of crashes during concurrent execution
      of UPDATEs involving joins to the result of UNNEST() --- in READ COMMITTED
      mode, we'd run the EvalPlanQual machinery after a conflicting row update
      commits, and it was expecting to get a HeapTuple not a scalar datum from
      the "wholerowN" variable referencing the function RTE.
      
      Back-patch to 9.0 where the current EvalPlanQual implementation appeared.
      
      In 9.1 and up, this patch also fixes failure to attach the correct
      collation to the Var generated for a scalar-result case.  An example:
      regression=# select upper(x.*) from textcat('ab', 'cd') x;
      ERROR:  could not determine which collation to use for upper() function
      dd3bab5f
    • A
      Make pg_dumpall build with the right object files under MSVC. · 91572ee0
      Andrew Dunstan 提交于
      This fixes a longstanding but up to now benign bug in the way pg_dumpall
      was built. The bug was exposed by recent code adjustments. The Makefile
      does not use $(OBJS) to build pg_dumpall, so this fix removes their source
      files from the pg_dumpall object and adds in the one source file it
      consequently needs.
      91572ee0
    • T
      Use IEEE infinity, not 1e10, for null-and-not-null case in gistpenalty(). · 9f4563f7
      Tom Lane 提交于
      Use of a randomly chosen large value was never exactly graceful, and
      now that there are penalty functions that are intentionally using infinity,
      it doesn't seem like a good idea for null-vs-not-null to be using something
      less.
      9f4563f7
    • T
      Improve GiST range-contained-by searches by adding a flag for empty ranges. · c66e4f13
      Tom Lane 提交于
      In the original implementation, a range-contained-by search had to scan
      the entire index because an empty range could be lurking anywhere.
      Improve that by adding a flag to upper GiST entries that says whether the
      represented subtree contains any empty ranges.
      
      Also, make a simple mod to the penalty function to discourage empty ranges
      from getting pushed into subtrees without any.  This needs more work, and
      the picksplit function should be taught about it too, but that code can be
      improved without causing an on-disk compatibility break; so we'll leave it
      for another day.
      
      Since we're breaking on-disk compatibility of range values anyway, I took
      the opportunity to reorganize the range flags bits; the unused
      RANGE_xB_NULL bits are now adjacent, which might open the door for using
      them in some other way later.
      
      In passing, remove the GiST range opclass entry for <>, which doesn't seem
      like it can really be indexed usefully.
      
      Alexander Korotkov, with some editorializing by Tom
      c66e4f13
    • P
      Add pg_upgrade test suite · 08da2d28
      Peter Eisentraut 提交于
      It runs the regression tests, runs pg_upgrade on the populated
      database, and compares the before and after dumps.  While not actually
      a cross-version upgrade, this does detect omissions and bugs in the
      involved tools from time to time.  It's also possible to do a
      cross-version upgrade by manually supplying parameters.
      08da2d28
    • T
      Use the proper macro to convert a bool to a Datum. · 8722a1a0
      Tom Lane 提交于
      The original coding was
      	var->value = (Datum) state;
      which is bogus, and then in commit 2f0f7b4b
      it was "corrected" to
      	var->value = PointerGetDatum(state);
      which is a faithful translation but still wrong.
      
      This seems purely cosmetic, though, so no need for a back-patch.
      
      Pavel Stehule
      8722a1a0
  4. 27 11月, 2011 7 次提交
  5. 26 11月, 2011 2 次提交