Skip to content
Snippets Groups Projects
  1. Feb 26, 2006
  2. Feb 12, 2006
    • Tom Lane's avatar
      Fix broken markup. · 1ac1526e
      Tom Lane authored
      1ac1526e
    • Bruce Momjian's avatar
      > Actually, if you submit a patch that says either "SCROLL is the · 92a26489
      Bruce Momjian authored
      default"
      > or "NO SCROLL is the default", it will be rejected as incorrect.  The
      > reason is that the default behavior is different from either of these,
      > as is explained in the NOTES section.
      
      Ok, so *that's* where the bit about the query plan being simple enough.
      Based on that, ISTM that it should be premissable for us to decide that
      a cursor requiring a sort isn't "simple enough" to support SCROLL.
      
      In any case, here's a patch that makes the non-standard behavior easier
      for people to find.
      
      Jim C. Nasby
      92a26489
  3. Jan 18, 2006
    • Neil Conway's avatar
      Add a new system view, pg_cursors, that displays the currently available · 33e06ebc
      Neil Conway authored
      cursors. Patch from Joachim Wieland, review and ediorialization by Neil
      Conway. The view lists cursors defined by DECLARE CURSOR, using SPI, or
      via the Bind message of the frontend/backend protocol. This means the
      view does not list the unnamed portal or the portal created to implement
      EXECUTE. Because we do list SPI portals, there might be more rows in
      this view than you might expect if you are using SPI implicitly (e.g.
      via a procedural language).
      
      Per recent discussion on -hackers, the query string included in the
      view for cursors defined by DECLARE CURSOR is based on
      debug_query_string. That means it is not accurate if multiple queries
      separated by semicolons are submitted as one query string. However,
      there doesn't seem a trivial fix for that: debug_query_string
      is better than nothing. I also changed SPI_cursor_open() to include
      the source text for the portal it creates: AFAICS there is no reason
      not to do this.
      
      Update the documentation and regression tests, bump the catversion.
      33e06ebc
  4. Jan 04, 2005
  5. Nov 15, 2004
  6. Jun 17, 2004
  7. Nov 29, 2003
    • PostgreSQL Daemon's avatar
      · 969685ad
      PostgreSQL Daemon authored
      $Header: -> $PostgreSQL Changes ...
      969685ad
  8. Sep 22, 2003
  9. Sep 12, 2003
  10. Sep 11, 2003
  11. Aug 31, 2003
  12. Aug 24, 2003
  13. May 04, 2003
  14. Apr 29, 2003
  15. Apr 07, 2003
  16. 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
  17. Mar 21, 2003
  18. Mar 10, 2003
    • Tom Lane's avatar
      Restructure parsetree representation of DECLARE CURSOR: now it's a · aa83bc04
      Tom Lane authored
      utility statement (DeclareCursorStmt) with a SELECT query dangling from
      it, rather than a SELECT query with a few unusual fields in it.  Add
      code to determine whether a planned query can safely be run backwards.
      If DECLARE CURSOR specifies SCROLL, ensure that the plan can be run
      backwards by adding a Materialize plan node if it can't.  Without SCROLL,
      you get an error if you try to fetch backwards from a cursor that can't
      handle it.  (There is still some discussion about what the exact
      behavior should be, but this is necessary infrastructure in any case.)
      Along the way, make EXPLAIN DECLARE CURSOR work.
      aa83bc04
  19. May 18, 2002
  20. Apr 21, 2002
    • Thomas G. Lockhart's avatar
      Augment the date/time examples in the User's Guide to reflect the newer · c05f29e8
      Thomas G. Lockhart authored
       capabilities of specifying time zones as intervals per SQL9x.
      Put refentrytitle contents on the same line as the tag.
       Otherwise, leading whitespace is propagated into the product, which
       (at least) messes up the ToC layout.
      Remove (some) docinfo tags containing dates. Best to omit if the dates
       are not accurate; maybe use CVS dates instead or leave them out.
      c05f29e8
  21. Mar 06, 2002
  22. Dec 08, 2001
  23. Sep 13, 2001
  24. Sep 03, 2001
  25. Feb 15, 2001
  26. Dec 26, 2000
  27. Oct 05, 2000
  28. Jun 28, 2000
    • Tom Lane's avatar
      First phase of memory management rewrite (see backend/utils/mmgr/README · 1aebc361
      Tom Lane authored
      for details).  It doesn't really do that much yet, since there are no
      short-term memory contexts in the executor, but the infrastructure is
      in place and long-term contexts are handled reasonably.  A few long-
      standing bugs have been fixed, such as 'VACUUM; anything' in a single
      query string crashing.  Also, out-of-memory is now considered a
      recoverable ERROR, not FATAL.
      Eliminate a large amount of crufty, now-dead code in and around
      memory management.
      Fix problem with holding off SIGTRAP, SIGSEGV, etc in postmaster and
      backend startup.
      1aebc361
  29. Dec 30, 1999
  30. Jul 22, 1999
  31. Jul 06, 1999
  32. Dec 29, 1998
  33. Oct 30, 1998
  34. Sep 22, 1998
  35. Sep 07, 1998
  36. Sep 01, 1998
Loading