1. 28 1月, 2005 1 次提交
  2. 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
  3. 14 11月, 2004 1 次提交
  4. 27 10月, 2004 1 次提交
  5. 01 10月, 2004 1 次提交
  6. 29 8月, 2004 2 次提交
  7. 06 6月, 2004 1 次提交
  8. 26 5月, 2004 1 次提交
    • N
      Reimplement the linked list data structure used throughout the backend. · d0b4399d
      Neil Conway 提交于
      In the past, we used a 'Lispy' linked list implementation: a "list" was
      merely a pointer to the head node of the list. The problem with that
      design is that it makes lappend() and length() linear time. This patch
      fixes that problem (and others) by maintaining a count of the list
      length and a pointer to the tail node along with each head node pointer.
      A "list" is now a pointer to a structure containing some meta-data
      about the list; the head and tail pointers in that structure refer
      to ListCell structures that maintain the actual linked list of nodes.
      
      The function names of the list API have also been changed to, I hope,
      be more logically consistent. By default, the old function names are
      still available; they will be disabled-by-default once the rest of
      the tree has been updated to use the new API names.
      d0b4399d
  9. 24 5月, 2004 1 次提交
  10. 09 5月, 2004 1 次提交
    • T
      Get rid of rd_nblocks field in relcache entries. Turns out this was · 4af34211
      Tom Lane 提交于
      costing us lots more to maintain than it was worth.  On shared tables
      it was of exactly zero benefit because we couldn't trust it to be
      up to date.  On temp tables it sometimes saved an lseek, but not often
      enough to be worth getting excited about.  And the real problem was that
      we forced an lseek on every relcache flush in order to update the field.
      So all in all it seems best to lose the complexity.
      4af34211
  11. 16 2月, 2004 1 次提交
    • T
      First steps towards statistics on expressional (nee functional) indexes. · f0c9397f
      Tom Lane 提交于
      This commit teaches ANALYZE to store such stats in pg_statistic, but
      nothing is done yet about teaching the planner to use 'em.
      Also, repair longstanding oversight in separate ANALYZE command: it
      updated the pg_class.relpages and reltuples counts for the table proper,
      but not for indexes.
      f0c9397f
  12. 13 2月, 2004 2 次提交
  13. 10 2月, 2004 1 次提交
    • T
      Centralize implementation of delay code by creating a pg_usleep() · 58f337a3
      Tom Lane 提交于
      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
  14. 07 1月, 2004 1 次提交
    • N
      Code cleanup, mostly in the smgr: · dfc7e7b7
      Neil Conway 提交于
           - Update comment in IsReservedName() to the present day
      
           - Improve some variable & function names in commands/vacuum.c. I
             was planning to rewrite this to avoid lappend(), but since I
             still intend to do the list rewrite, there's no need for that.
      
           - Update some smgr comments which seemed to imply that we still
             forced all dirty pages to disk at commit-time.
      
           - Replace some #ifdef DIAGNOSTIC code with assertions.
      
           - Make the distinction between OS-level file descriptors and
             virtual file descriptors a little clearer in a few comments
      
           - Other minor comment improvements in the smgr code
      dfc7e7b7
  15. 30 11月, 2003 1 次提交
    • P
      · 969685ad
      PostgreSQL Daemon 提交于
      $Header: -> $PostgreSQL Changes ...
      969685ad
  16. 18 10月, 2003 1 次提交
  17. 25 9月, 2003 1 次提交
  18. 12 9月, 2003 2 次提交
  19. 26 8月, 2003 1 次提交
  20. 18 8月, 2003 1 次提交
    • T
      Create a 'type cache' that keeps track of the data needed for any particular · ec646dbc
      Tom Lane 提交于
      datatype by array_eq and array_cmp; use this to solve problems with memory
      leaks in array indexing support.  The parser's equality_oper and ordering_oper
      routines also use the cache.  Change the operator search algorithms to look
      for appropriate btree or hash index opclasses, instead of assuming operators
      named '<' or '=' have the right semantics.  (ORDER BY ASC/DESC now also look
      at opclasses, instead of assuming '<' and '>' are the right things.)  Add
      several more index opclasses so that there is no regression in functionality
      for base datatypes.  initdb forced due to catalog additions.
      ec646dbc
  21. 04 8月, 2003 2 次提交
  22. 21 7月, 2003 1 次提交
  23. 27 6月, 2003 1 次提交
  24. 28 5月, 2003 1 次提交
  25. 26 4月, 2003 1 次提交
  26. 23 3月, 2003 1 次提交
    • T
      Instead of storing pg_statistic stavalues entries as text strings, store · 8d9e025e
      Tom Lane 提交于
      them as arrays of the internal datatype.  This requires treating the
      stavalues columns as 'anyarray' rather than 'text[]', which is not 100%
      kosher but seems to work fine for the purposes we need for pg_statistic.
      Perhaps in the future 'anyarray' will be allowed more generally.
      8d9e025e
  27. 30 11月, 2002 1 次提交
  28. 13 11月, 2002 1 次提交
  29. 11 11月, 2002 1 次提交
  30. 10 11月, 2002 1 次提交
  31. 24 9月, 2002 1 次提交
  32. 05 9月, 2002 1 次提交
  33. 27 8月, 2002 2 次提交
    • T
      Increase WIDTH_THRESHOLD from 256 to 1K. This addresses recent observation · 5d6758fd
      Tom Lane 提交于
      that ANALYZE would not gather any stats for a CHAR(255) column.  I still
      think a width threshold is appropriate for the reasons mentioned in the
      code, but we can loosen it at least.
      5d6758fd
    • T
      Modify array operations to include array's element type OID in the · 5cabcfcc
      Tom Lane 提交于
      array header, and to compute sizing and alignment of array elements
      the same way normal tuple access operations do --- viz, using the
      tupmacs.h macros att_addlength and att_align.  This makes the world
      safe for arrays of cstrings or intervals, and should make it much
      easier to write array-type-polymorphic functions; as examples see
      the cleanups of array_out and contrib/array_iterator.  By Joe Conway
      and Tom Lane.
      5cabcfcc
  34. 24 8月, 2002 1 次提交
    • T
      The cstring datatype can now be copied, passed around, etc. The typlen · 976246cc
      Tom Lane 提交于
      value '-2' is used to indicate a variable-width type whose width is
      computed as strlen(datum)+1.  Everything that looks at typlen is updated
      except for array support, which Joe Conway is working on; at the moment
      it wouldn't work to try to create an array of cstring.
      976246cc
  35. 11 8月, 2002 1 次提交
    • T
      Now that we allow ANALYZE to run inside a transaction block, the locks · 2e10863b
      Tom Lane 提交于
      it takes could be held for quite awhile after the analyze step completes.
      Rethink locking of pg_statistic in light of this fact.  The original
      scheme took an exclusive lock on pg_statistic, which was okay when the
      lock could be expected to be released shortly, but that doesn't hold
      anymore.  Back off to a normal writer's lock (RowExclusiveLock).  This
      allows concurrent ANALYZE of nonoverlapping sets of tables, at the price
      that concurrent ANALYZEs of the same table may fail with 'tuple
      concurrently updated'.
      2e10863b