Skip to content
Snippets Groups Projects
  1. Nov 06, 2005
  2. Oct 18, 2005
  3. Sep 22, 2005
  4. Jun 30, 2005
  5. Jun 29, 2005
  6. Jun 28, 2005
  7. Jun 27, 2005
    • Teodor Sigaev's avatar
      Concurrency for GiST · e8cab5fe
      Teodor Sigaev authored
      - full concurrency for insert/update/select/vacuum:
              - select and vacuum never locks more than one page simultaneously
              - select (gettuple) hasn't any lock across it's calls
              - insert never locks more than two page simultaneously:
                      - during search of leaf to insert it locks only one page
                        simultaneously
                      - while walk upward to the root it locked only parent (may be
                        non-direct parent) and child. One of them X-lock, another may
                        be S- or X-lock
      - 'vacuum full' locks index
      - improve gistgetmulti
      - simplify XLOG records
      
      Fix bug in index_beginscan_internal: LockRelation may clean
        rd_aminfo structure, so move GET_REL_PROCEDURE after LockRelation
      e8cab5fe
  8. Jun 20, 2005
  9. Jun 14, 2005
  10. Jun 06, 2005
  11. May 17, 2005
    • Neil Conway's avatar
      Cleanup GiST header files. Since GiST extensions are often written as · c891e05f
      Neil Conway authored
      external projects, we should be careful about what parts of the GiST
      API are considered implementation details, and which are part of the
      public API. Therefore, I've moved internal-only declarations into
      gist_private.h -- future backward-incompatible changes to gist.h should
      be made with care, to avoid needlessly breaking external GiST extensions.
      
      Also did some related header cleanup: remove some unnecessary #includes
      from gist.h, and remove some unused definitions: isAttByVal(), _gistdump(),
      and GISTNStrategies.
      c891e05f
    • Neil Conway's avatar
      GiST improvements: · eda6dd32
      Neil Conway authored
      - make sure we always invoke user-supplied GiST methods in a short-lived
        memory context. This means the backend isn't exposed to any memory leaks
        that be in those methods (in fact, it is probably a net loss for most
        GiST methods to bother manually freeing memory now). This also means
        we can do away with a lot of ugly manual memory management in the
        GiST code itself.
      
      - keep the current page of a GiST index scan pinned, rather than doing a
        ReadBuffer() for each tuple produced by the scan. Since ReadBuffer() is
        expensive, this is a perf. win
      
      - implement dead tuple killing for GiST indexes (which is easy to do, now
        that we keep a pin on the current scan page). Now all the builtin indexes
        implement dead tuple killing.
      
      - cleanup a lot of ugly code in GiST
      eda6dd32
  12. May 15, 2005
  13. May 11, 2005
  14. Mar 21, 2005
    • Tom Lane's avatar
      Convert index-related tuple handling routines from char 'n'/' ' to bool · ee4ddac1
      Tom Lane authored
      convention for isnull flags.  Also, remove the useless InsertIndexResult
      return struct from index AM aminsert calls --- there is no reason for
      the caller to know where in the index the tuple was inserted, and we
      were wasting a palloc cycle per insert to deliver this uninteresting
      value (plus nontrivial complexity in some AMs).
      I forced initdb because of the change in the signature of the aminsert
      routines, even though nothing really looks at those pg_proc entries...
      ee4ddac1
  15. Dec 31, 2004
    • PostgreSQL Daemon's avatar
      · 2ff50159
      PostgreSQL Daemon authored
      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
  16. Aug 29, 2004
  17. Mar 30, 2004
  18. Feb 10, 2004
    • Tom Lane's avatar
      Centralize implementation of delay code by creating a pg_usleep() · 58f337a3
      Tom Lane authored
      subroutine in src/port/pgsleep.c.  Remove platform dependencies from
      miscadmin.h and put them in port.h where they belong.  Extend recent
      vacuum cost-based-delay patch to apply to VACUUM FULL, ANALYZE, and
      non-btree index vacuuming.
      
      By the way, where is the documentation for the cost-based-delay patch?
      58f337a3
  19. Jan 07, 2004
  20. Nov 29, 2003
    • PostgreSQL Daemon's avatar
      · 969685ad
      PostgreSQL Daemon authored
      $Header: -> $PostgreSQL Changes ...
      969685ad
  21. Aug 04, 2003
  22. Jul 21, 2003
  23. May 27, 2003
  24. Mar 10, 2003
  25. Feb 24, 2003
  26. Feb 22, 2003
    • Tom Lane's avatar
      More infrastructure for btree compaction project. Tree-traversal code · 799bc58d
      Tom Lane authored
      now knows what to do upon hitting a dead page (in theory anyway, it's
      untested...).  Add a post-VACUUM-cleanup entry point for index AMs, to
      provide a place for dead-page scavenging to happen.
      Also, fix oversight that broke btpo_prev links in temporary indexes.
      initdb forced due to additions in pg_am.
      799bc58d
  27. Nov 13, 2002
  28. Nov 11, 2002
  29. Nov 10, 2002
  30. Sep 04, 2002
  31. Jun 20, 2002
  32. May 28, 2002
  33. May 24, 2002
    • Tom Lane's avatar
      Mark index entries "killed" when they are no longer visible to any · 3f4d4880
      Tom Lane authored
      transaction, so as to avoid returning them out of the index AM.  Saves
      repeated heap_fetch operations on frequently-updated rows.  Also detect
      queries on unique keys (equality to all columns of a unique index), and
      don't bother continuing scan once we have found first match.
      
      Killing is implemented in the btree and hash AMs, but not yet in rtree
      or gist, because there isn't an equally convenient place to do it in
      those AMs (the outer amgetnext routine can't do it without re-pinning
      the index page).
      
      Did some small cleanup on APIs of HeapTupleSatisfies, heap_fetch, and
      index_insert to make this a little easier.
      3f4d4880
  34. May 21, 2002
    • Tom Lane's avatar
      Restructure indexscan API (index_beginscan, index_getnext) per · 44fbe20d
      Tom Lane authored
      yesterday's proposal to pghackers.  Also remove unnecessary parameters
      to heap_beginscan, heap_rescan.  I modified pg_proc.h to reflect the
      new numbers of parameters for the AM interface routines, but did not
      force an initdb because nothing actually looks at those fields.
      44fbe20d
  35. Mar 06, 2002
    • Bruce Momjian's avatar
      Change made to elog: · 92288a1c
      Bruce Momjian authored
      o  Change all current CVS messages of NOTICE to WARNING.  We were going
      to do this just before 7.3 beta but it has to be done now, as you will
      see below.
      
      o Change current INFO messages that should be controlled by
      client_min_messages to NOTICE.
      
      o Force remaining INFO messages, like from EXPLAIN, VACUUM VERBOSE, etc.
      to always go to the client.
      
      o Remove INFO from the client_min_messages options and add NOTICE.
      
      Seems we do need three non-ERROR elog levels to handle the various
      behaviors we need for these messages.
      
      Regression passed.
      92288a1c
  36. Mar 05, 2002
    • Bruce Momjian's avatar
      I was digging through the GiST code, and figured I'd fix up some of the · 276fc7ce
      Bruce Momjian authored
      "bad smell" in that code. Stuff like function parameters that aren't
      used, typos in the comments, comparison between signed and unsigned
      ints, etc.
      
      Attached is a pretty trivial patch; it compiles, but beyond that
      completely untested. Unless anyone sees any problems, please apply for
      7.3.
      
      Neil Conway
      276fc7ce
  37. Mar 02, 2002
    • Bruce Momjian's avatar
      Commit to match discussed elog() changes. Only update is that LOG is · a033daf5
      Bruce Momjian authored
      now just below FATAL in server_min_messages.  Added more text to
      highlight ordering difference between it and client_min_messages.
      
      ---------------------------------------------------------------------------
      
      REALLYFATAL => PANIC
      STOP => PANIC
      New INFO level the prints to client by default
      New LOG level the prints to server log by default
      Cause VACUUM information to print only to the client
      NOTICE => INFO where purely information messages are sent
      DEBUG => LOG for purely server status messages
      DEBUG removed, kept as backward compatible
      DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1 added
      DebugLvl removed in favor of new DEBUG[1-5] symbols
      New server_min_messages GUC parameter with values:
              DEBUG[5-1], INFO, NOTICE, ERROR, LOG, FATAL, PANIC
      New client_min_messages GUC parameter with values:
              DEBUG[5-1], LOG, INFO, NOTICE, ERROR, FATAL, PANIC
      Server startup now logged with LOG instead of DEBUG
      Remove debug_level GUC parameter
      elog() numbers now start at 10
      Add test to print error message if older elog() values are passed to elog()
      Bootstrap mode now has a -d that requires an argument, like postmaster
      a033daf5
Loading