1. 31 Oct, 2008 7 commits
  2. 30 Oct, 2008 5 commits
  3. 29 Oct, 2008 8 commits
  4. 28 Oct, 2008 5 commits
    • Tom Lane's avatar
      Extend ExecMakeFunctionResult() to support set-returning functions that return · e3e3d2a7
      Tom Lane authored
      via a tuplestore instead of value-per-call.  Refactor a few things to reduce
      ensuing code duplication with nodeFunctionscan.c.  This represents the
      reasonably noncontroversial part of my proposed patch to switch SQL functions
      over to returning tuplestores.  For the moment, SQL functions still do things
      the old way.  However, this change enables PL SRFs to be called in targetlists
      (observe changes in plperl regression results).
      e3e3d2a7
    • Tom Lane's avatar
      Change WorkTableScan to not support backward scan. The apparent support · a80a1224
      Tom Lane authored
      didn't actually work, because nodeRecursiveunion.c creates the underlying
      tuplestore with backward scan disabled; which is a decision that we shouldn't
      reverse because of performance cost.  We could imagine adding signaling from
      WorkTableScan to RecursiveUnion about whether backward scan is needed ...
      but in practice it'd be a waste of effort, because there simply isn't any
      current or plausible future scenario where WorkTableScan would be called on
      to scan backward.  So just dike out the code that claims to support it.
      a80a1224
    • Tom Lane's avatar
      Arrange to squeeze out the MINIMAL_TUPLE_PADDING in the tuple representation · d26bf23f
      Tom Lane authored
      written to temp files by tuplesort.c and tuplestore.c.  This saves 2 bytes per
      row for 32-bit machines, and 6 bytes per row for 64-bit machines, which seems
      worth the slight additional uglification of the tuple read/write routines.
      d26bf23f
    • Peter Eisentraut's avatar
      Add WITH [NO] DATA clause to CREATE TABLE AS, per SQL. · 8ecd5351
      Peter Eisentraut authored
      Also, since WITH is now a reserved word, simplify the token merging code to
      only deal with WITH_TIME.
      
      by Tom Lane and myself
      8ecd5351
    • Magnus Hagander's avatar
      Remove support for (insecure) crypt authentication. · 53a5026b
      Magnus Hagander authored
      This breaks compatibility with pre-7.2 versions.
      53a5026b
  5. 27 Oct, 2008 9 commits
  6. 26 Oct, 2008 1 commit
  7. 25 Oct, 2008 2 commits
    • Tom Lane's avatar
      Be a little smarter about qual handling for semi-joins: a qual that mentions · aa0fb530
      Tom Lane authored
      only the outer side can be pushed down rather than having to be evaluated
      at the join.
      aa0fb530
    • Tom Lane's avatar
      Add a heuristic to transformAExprIn() to make it prefer expanding "x IN (list)" · ddbe8dca
      Tom Lane authored
      into an OR of equality comparisons, rather than x = ANY(ARRAY[...]), when there
      are Vars in the right-hand side.  This avoids a performance regression compared
      to pre-8.2 releases, in cases where the OR form can be optimized into scans
      of multiple indexes.  Limit the possible downside by preferring this form only
      when the list isn't very long (I set the cutoff at 32 elements, which is a
      bit arbitrary but in the right ballpark).  Per discussion with Jim Nasby.
      
      In passing, also make it try the OR form if it cannot select a common type
      for the array elements; we've seen a complaint or two about how the OR form
      worked for such cases and ARRAY doesn't.
      ddbe8dca
  8. 24 Oct, 2008 3 commits
    • Tom Lane's avatar
      Reduce the memory footprint of large pending-trigger-event lists, as per my · 312b1a98
      Tom Lane authored
      recent proposal.  In typical cases, we now need 12 bytes per insert or delete
      event and 16 bytes per update event; previously we needed 40 bytes per
      event on 32-bit hardware and 80 bytes per event on 64-bit hardware.  Even
      in the worst case usage pattern with a large number of distinct triggers being
      fired in one query, usage is at most 32 bytes per event.  It seems to be a
      bit faster than the old code as well, due to reduction of palloc overhead.
      
      This commit doesn't address the TODO item of allowing the event list to spill
      to disk; rather it's trying to stave off the need for that.  However, it
      probably makes that task a bit easier by reducing the data structure's
      dependency on pointers.  It would now be practical to dump an event list to
      disk by "chunks" instead of individual events.
      312b1a98
    • Magnus Hagander's avatar
    • Magnus Hagander's avatar
      Remove notes from the frontend SSL source that are incorrect or · bb8c822d
      Magnus Hagander authored
      end-user documentation that lives in the actual documentation.
      bb8c822d