1. 28 10月, 2015 1 次提交
  2. 30 12月, 2009 1 次提交
    • H
      Previous fix for temporary file management broke returning a set from · 67d25e5a
      Heikki Linnakangas 提交于
      PL/pgSQL function within an exception handler. Make sure we use the right
      resource owner when we create the tuplestore to hold returned tuples.
      
      Simplify tuplestore API so that the caller doesn't need to be in the right
      memory context when calling tuplestore_put* functions. tuplestore.c
      automatically switches to the memory context used when the tuplestore was
      created. Tuplesort was already modified like this earlier. This patch also
      removes the now useless MemoryContextSwitch calls from callers.
      
      Report by Aleksei on pgsql-bugs on Dec 22 2009. Backpatch to 8.1, like
      the previous patch that broke this.
      67d25e5a
  3. 02 12月, 2008 1 次提交
    • T
      Ensure that the contents of a holdable cursor don't depend on out-of-line · d044ac30
      Tom Lane 提交于
      toasted values, since those could get dropped once the cursor's transaction
      is over.  Per bug #4553 from Andrew Gierth.
      
      Back-patch as far as 8.1.  The bug actually exists back to 7.4 when holdable
      cursors were introduced, but this patch won't work before 8.1 without
      significant adjustments.  Given the lack of field complaints, it doesn't seem
      worth the work (and risk of introducing new bugs) to try to make a patch for
      the older branches.
      d044ac30
  4. 02 1月, 2008 1 次提交
  5. 06 1月, 2007 1 次提交
  6. 27 6月, 2006 1 次提交
    • T
      Create infrastructure for 'MinimalTuple' representation of in-memory · 3f50ba27
      Tom Lane 提交于
      tuples with less header overhead than a regular HeapTuple, per my
      recent proposal.  Teach TupleTableSlot code how to deal with these.
      As proof of concept, change tuplestore.c to store MinimalTuples instead
      of HeapTuples.  Future patches will expand the concept to other places
      where it is useful.
      3f50ba27
  7. 05 3月, 2006 1 次提交
  8. 04 11月, 2005 1 次提交
  9. 17 3月, 2005 1 次提交
    • T
      Revise TupleTableSlot code to avoid unnecessary construction and disassembly · f97aebd1
      Tom Lane 提交于
      of tuples when passing data up through multiple plan nodes.  A slot can now
      hold either a normal "physical" HeapTuple, or a "virtual" tuple consisting
      of Datum/isnull arrays.  Upper plan levels can usually just copy the Datum
      arrays, avoiding heap_formtuple() and possible subsequent nocachegetattr()
      calls to extract the data again.  This work extends Atsushi Ogawa's earlier
      patch, which provided the key idea of adding Datum arrays to TupleTableSlots.
      (I believe however that something like this was foreseen way back in Berkeley
      days --- see the old comment on ExecProject.)  A test case involving many
      levels of join of fairly wide tables (about 80 columns altogether) showed
      about 3x overall speedup, though simple queries will probably not be
      helped very much.
      
      I have also duplicated some code in heaptuple.c in order to provide versions
      of heap_formtuple and friends that use "bool" arrays to indicate null
      attributes, instead of the old convention of "char" arrays containing either
      'n' or ' '.  This provides a better match to the convention used by
      ExecEvalExpr.  While I have not made a concerted effort to get rid of uses
      of the old routines, I think they should be deprecated and eventually removed.
      f97aebd1
  10. 01 1月, 2005 1 次提交
    • P
      · 2ff50159
      PostgreSQL Daemon 提交于
      Tag appropriate files for rc3
      
      Also performed an initial run through of upgrading our Copyright date to
      extend to 2005 ... first run here was very simple ... change everything
      where: grep 1996-2004 && the word 'Copyright' ... scanned through the
      generated list with 'less' first, and after, to make sure that I only
      picked up the right entries ...
      2ff50159
  11. 29 8月, 2004 1 次提交
  12. 30 11月, 2003 1 次提交
    • P
      · 969685ad
      PostgreSQL Daemon 提交于
      $Header: -> $PostgreSQL Changes ...
      969685ad
  13. 09 8月, 2003 1 次提交
  14. 07 8月, 2003 1 次提交
  15. 04 8月, 2003 2 次提交
  16. 09 5月, 2003 1 次提交
    • T
      Update 3.0 protocol support to match recent agreements about how to · c0a8c3ac
      Tom Lane 提交于
      handle multiple 'formats' for data I/O.  Restructure CommandDest and
      DestReceiver stuff one more time (it's finally starting to look a bit
      clean though).  Code now matches latest 3.0 protocol document as far
      as message formats go --- but there is no support for binary I/O yet.
      c0a8c3ac
  17. 07 5月, 2003 1 次提交
    • T
      Restructure command destination handling so that we pass around · 79913910
      Tom Lane 提交于
      DestReceiver pointers instead of just CommandDest values.  The DestReceiver
      is made at the point where the destination is selected, rather than
      deep inside the executor.  This cleans up the original kluge implementation
      of tstoreReceiver.c, and makes it easy to support retrieving results
      from utility statements inside portals.  Thus, you can now do fun things
      like Bind and Execute a FETCH or EXPLAIN command, and it'll all work
      as expected (e.g., you can Describe the portal, or use Execute's count
      parameter to suspend the output partway through).  Implementation involves
      stuffing the utility command's output into a Tuplestore, which would be
      kind of annoying for huge output sets, but should be quite acceptable
      for typical uses of utility commands.
      79913910
  18. 06 5月, 2003 1 次提交
    • T
      Implement feature of new FE/BE protocol whereby RowDescription identifies · 2cf57c8f
      Tom Lane 提交于
      the column by table OID and column number, if it's a simple column
      reference.  Along the way, get rid of reskey/reskeyop fields in Resdoms.
      Turns out that representation was not convenient for either the planner
      or the executor; we can make the planner deliver exactly what the
      executor wants with no more effort.
      initdb forced due to change in stored rule representation.
      2cf57c8f
  19. 03 5月, 2003 1 次提交
    • T
      Portal and memory management infrastructure for extended query protocol. · de28dc9a
      Tom Lane 提交于
      Both plannable queries and utility commands are now always executed
      within Portals, which have been revamped so that they can handle the
      load (they used to be good only for single SELECT queries).  Restructure
      code to push command-completion-tag selection logic out of postgres.c,
      so that it won't have to be duplicated between simple and extended queries.
      initdb forced due to addition of a field to Query nodes.
      de28dc9a
  20. 29 4月, 2003 1 次提交
  21. 28 3月, 2003 1 次提交