Skip to content
Snippets Groups Projects
  1. Apr 22, 2003
    • Peter Eisentraut's avatar
      More editing of reference pages. · 3450fd08
      Peter Eisentraut authored
      3450fd08
    • Tom Lane's avatar
      Another round of protocol changes. Backend-to-frontend messages now all · 5ed27e35
      Tom Lane authored
      have length words.  COPY OUT reimplemented per new protocol: it doesn't
      need \. anymore, thank goodness.  COPY BINARY to/from frontend works,
      at least as far as the backend is concerned --- libpq's PQgetline API
      is not up to snuff, and will have to be replaced with something that is
      null-safe.  libpq uses message length words for performance improvement
      (no cycles wasted rescanning long messages), but not yet for error
      recovery.
      5ed27e35
  2. Apr 20, 2003
  3. Apr 19, 2003
  4. Apr 18, 2003
  5. Apr 17, 2003
  6. Apr 16, 2003
  7. Apr 15, 2003
  8. Apr 14, 2003
  9. Apr 13, 2003
  10. Apr 11, 2003
  11. Apr 10, 2003
  12. Apr 07, 2003
  13. Apr 06, 2003
  14. Apr 04, 2003
  15. Apr 01, 2003
  16. Mar 30, 2003
  17. Mar 28, 2003
  18. Mar 27, 2003
    • Bruce Momjian's avatar
      This patch implements holdable cursors, following the proposal · 54f7338f
      Bruce Momjian authored
      (materialization into a tuple store) discussed on pgsql-hackers earlier.
      I've updated the documentation and the regression tests.
      
      Notes on the implementation:
      
      - I needed to change the tuple store API slightly -- it assumes that it
      won't be used to hold data across transaction boundaries, so the temp
      files that it uses for on-disk storage are automatically reclaimed at
      end-of-transaction. I added a flag to tuplestore_begin_heap() to control
      this behavior. Is changing the tuple store API in this fashion OK?
      
      - in order to store executor results in a tuple store, I added a new
      CommandDest. This works well for the most part, with one exception: the
      current DestFunction API doesn't provide enough information to allow the
      Executor to store results into an arbitrary tuple store (where the
      particular tuple store to use is chosen by the call site of
      ExecutorRun). To workaround this, I've temporarily hacked up a solution
      that works, but is not ideal: since the receiveTuple DestFunction is
      passed the portal name, we can use that to lookup the Portal data
      structure for the cursor and then use that to get at the tuple store the
      Portal is using. This unnecessarily ties the Portal code with the
      tupleReceiver code, but it works...
      
      The proper fix for this is probably to change the DestFunction API --
      Tom suggested passing the full QueryDesc to the receiveTuple function.
      In that case, callers of ExecutorRun could "subclass" QueryDesc to add
      any additional fields that their particular CommandDest needed to get
      access to. This approach would work, but I'd like to think about it for
      a little bit longer before deciding which route to go. In the mean time,
      the code works fine, so I don't think a fix is urgent.
      
      - (semi-related) I added a NO SCROLL keyword to DECLARE CURSOR, and
      adjusted the behavior of SCROLL in accordance with the discussion on
      -hackers.
      
      - (unrelated) Cleaned up some SGML markup in sql.sgml, copy.sgml
      
      Neil Conway
      54f7338f
    • Bruce Momjian's avatar
      * Make pg_get_triggerdef documentation consistent with other pg_get_ · 64c1399d
      Bruce Momjian authored
      functions
      * Document pg_conversion_is_visible() which was created in one of my
      previous patches and didn't get documented for some reason
      
      Christopher Kings-Lynne
      64c1399d
    • Bruce Momjian's avatar
      to_char fixes, Karel Zak · 7a3e7b64
      Bruce Momjian authored
      7a3e7b64
  19. Mar 25, 2003
  20. Mar 24, 2003
  21. Mar 23, 2003
Loading