1. 30 Nov, 2011 4 commits
  2. 29 Nov, 2011 12 commits
  3. 28 Nov, 2011 7 commits
    • Bruce Momjian's avatar
      Pgindent clauses.c, per request from Tom. · 269755ef
      Bruce Momjian authored
      269755ef
    • Tom Lane's avatar
      Convert eval_const_expressions's long series of IsA tests into a switch. · a04161f2
      Tom Lane authored
      This function has now grown enough cases that a switch seems appropriate.
      This results in a measurable speed improvement on some platforms, and
      should certainly not hurt.  The code's in need of a pgindent run now,
      though.
      
      Andres Freund
      a04161f2
    • Tom Lane's avatar
      Remove erroneous claim about use of pg_locks.objid for advisory locks. · 5943d401
      Tom Lane authored
      The correct information appears in the text, so just remove the statement
      in the table, where it did not fit nicely anyway.  (Curiously, the correct
      info has been there much longer than the erroneous table entry.)
      Resolves problem noted by Daniele Varrazzo.
      
      In HEAD and 9.1, also do a bit of wordsmithing on other text on the page.
      5943d401
    • Tom Lane's avatar
      Fix some bogosities in pg_dump's foreign-table support. · 9761ad67
      Tom Lane authored
      The server name for a foreign table was not quoted at need, as per report
      from Ronan Dunklau.  Also, queries related to FDW options were inadequately
      schema-qualified in places where the search path isn't just pg_catalog, and
      were inconsistently formatted everywhere, and we didn't always check that
      we got the expected number of rows from them.
      9761ad67
    • Magnus Hagander's avatar
      Add libpq connection option to disable SSL compression · 64aea1eb
      Magnus Hagander authored
      This can be used to remove the overhead of SSL compression on
      fast networks.
      
      Laurenz Albe
      64aea1eb
    • Tom Lane's avatar
      Ensure that whole-row junk Vars are always of composite type. · dd3bab5f
      Tom Lane authored
      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
    • Andrew Dunstan's avatar
      Make pg_dumpall build with the right object files under MSVC. · 91572ee0
      Andrew Dunstan authored
      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
  4. 27 Nov, 2011 6 commits
    • Tom Lane's avatar
      Use IEEE infinity, not 1e10, for null-and-not-null case in gistpenalty(). · 9f4563f7
      Tom Lane authored
      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
    • Tom Lane's avatar
      Improve GiST range-contained-by searches by adding a flag for empty ranges. · c66e4f13
      Tom Lane authored
      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
    • Peter Eisentraut's avatar
      Add pg_upgrade test suite · 08da2d28
      Peter Eisentraut authored
      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
    • Tom Lane's avatar
      Use the proper macro to convert a bool to a Datum. · 8722a1a0
      Tom Lane authored
      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
    • Andrew Dunstan's avatar
      Fix MSVC builds broken by xsubpp change · 4a901813
      Andrew Dunstan authored
      4a901813
    • Bruce Momjian's avatar
      Move pg_dump memory routines into pg_dumpmem.c/h and restore common.c · 9a7d49d1
      Bruce Momjian authored
      with its original functions.  The previous function migration would
      cause too many difficulties in back-patching.
      9a7d49d1
  5. 26 Nov, 2011 8 commits
  6. 25 Nov, 2011 3 commits