1. 27 Sep, 2004 1 commit
  2. 16 Sep, 2004 1 commit
    • Tom Lane's avatar
      Restructure subtransaction handling to reduce resource consumption, · 8f9f1986
      Tom Lane authored
      as per recent discussions.  Invent SubTransactionIds that are managed like
      CommandIds (ie, counter is reset at start of each top transaction), and
      use these instead of TransactionIds to keep track of subtransaction status
      in those modules that need it.  This means that a subtransaction does not
      need an XID unless it actually inserts/modifies rows in the database.
      Accordingly, don't assign it an XID nor take a lock on the XID until it
      tries to do that.  This saves a lot of overhead for subtransactions that
      are only used for error recovery (eg plpgsql exceptions).  Also, arrange
      to release a subtransaction's XID lock as soon as the subtransaction
      exits, in both the commit and abort cases.  This avoids holding many
      unique locks after a long series of subtransactions.  The price is some
      additional overhead in XactLockTableWait, but that seems acceptable.
      Finally, restructure the state machine in xact.c to have a more orthogonal
      set of states for subtransactions.
      8f9f1986
  3. 29 Aug, 2004 2 commits
  4. 28 Jul, 2004 1 commit
    • Tom Lane's avatar
      Fix subtransaction behavior for large objects, temp namespace, files, · 1bf3d615
      Tom Lane authored
      password/group files.  Also allow read-only subtransactions of a read-write
      parent, but not vice versa.  These are the reasonably noncontroversial
      parts of Alvaro's recent mop-up patch, plus further work on large objects
      to minimize use of the TopTransactionResourceOwner.
      1bf3d615
  5. 26 May, 2004 1 commit
    • Neil Conway's avatar
      Reimplement the linked list data structure used throughout the backend. · d0b4399d
      Neil Conway authored
      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
  6. 06 May, 2004 1 commit
  7. 16 Mar, 2004 1 commit
  8. 25 Feb, 2004 1 commit
    • Bruce Momjian's avatar
      For application to HEAD, following community review. · c672aa82
      Bruce Momjian authored
      * Changes incorrect CYGWIN defines to __CYGWIN__
      
      * Some localtime returns NULL checks (when unchecked cause SEGVs under
      Win32
      regression tests)
      
      * Rationalized CreateSharedMemoryAndSemaphores and
      AttachSharedMemoryAndSemaphores (Bruce, I finally remembered to do it);
      requires attention.
      
      Claudio Natoli
      c672aa82
  9. 10 Feb, 2004 1 commit
    • Tom Lane's avatar
      Restructure smgr API as per recent proposal. smgr no longer depends on · 87bd9563
      Tom Lane authored
      the relcache, and so the notion of 'blind write' is gone.  This should
      improve efficiency in bgwriter and background checkpoint processes.
      Internal restructuring in md.c to remove the not-very-useful array of
      MdfdVec objects --- might as well just use pointers.
      Also remove the long-dead 'persistent main memory' storage manager (mm.c),
      since it seems quite unlikely to ever get resurrected.
      87bd9563
  10. 02 Feb, 2004 3 commits
  11. 26 Jan, 2004 1 commit
  12. 07 Jan, 2004 1 commit
  13. 29 Nov, 2003 1 commit
    • PostgreSQL Daemon's avatar
      · 969685ad
      PostgreSQL Daemon authored
      $Header: -> $PostgreSQL Changes ...
      969685ad
  14. 12 Nov, 2003 1 commit
    • Tom Lane's avatar
      Cross-data-type comparisons are now indexable by btrees, pursuant to my · fa5c8a05
      Tom Lane authored
      pghackers proposal of 8-Nov.  All the existing cross-type comparison
      operators (int2/int4/int8 and float4/float8) have appropriate support.
      The original proposal of storing the right-hand-side datatype as part of
      the primary key for pg_amop and pg_amproc got modified a bit in the event;
      it is easier to store zero as the 'default' case and only store a nonzero
      when the operator is actually cross-type.  Along the way, remove the
      long-since-defunct bigbox_ops operator class.
      fa5c8a05
  15. 09 Nov, 2003 1 commit
    • Tom Lane's avatar
      Add operator strategy and comparison-value datatype fields to ScanKey. · c1d62bfd
      Tom Lane authored
      Remove the 'strategy map' code, which was a large amount of mechanism
      that no longer had any use except reverse-mapping from procedure OID to
      strategy number.  Passing the strategy number to the index AM in the
      first place is simpler and faster.
      This is a preliminary step in planned support for cross-datatype index
      operations.  I'm committing it now since the ScanKeyEntryInitialize()
      API change touches quite a lot of files, and I want to commit those
      changes before the tree drifts under me.
      c1d62bfd
  16. 02 Oct, 2003 1 commit
  17. 29 Sep, 2003 1 commit
  18. 25 Sep, 2003 1 commit
  19. 15 Sep, 2003 1 commit
  20. 04 Aug, 2003 2 commits
  21. 01 Aug, 2003 1 commit
  22. 28 Jul, 2003 1 commit
  23. 20 Jul, 2003 1 commit
  24. 18 Jul, 2003 1 commit
  25. 27 Jun, 2003 1 commit
  26. 12 May, 2003 1 commit
  27. 27 Jan, 2003 1 commit
  28. 05 Dec, 2002 1 commit
  29. 02 Dec, 2002 1 commit
  30. 21 Oct, 2002 1 commit
  31. 14 Sep, 2002 1 commit
  32. 04 Sep, 2002 1 commit
  33. 02 Sep, 2002 1 commit
  34. 30 Aug, 2002 1 commit
  35. 25 Aug, 2002 1 commit
    • Tom Lane's avatar
      Clean up comments to be careful about the distinction between variable- · 58de4809
      Tom Lane authored
      width types and varlena types, since with the introduction of CSTRING as
      a more-or-less-real type, these concepts aren't identical.  I've tried to
      use varlena consistently to denote datatypes with typlen = -1, ie, they
      have a length word and are potentially TOASTable; while the term variable
      width covers both varlena and cstring (and, perhaps, someday other types
      with other rules for computing the actual width).  No code changes in this
      commit except for renaming a couple macros.
      58de4809
  36. 05 Aug, 2002 1 commit
    • Tom Lane's avatar
      Restructure system-catalog index updating logic. Instead of having · 15fe086f
      Tom Lane authored
      hardwired lists of index names for each catalog, use the relcache's
      mechanism for caching lists of OIDs of indexes of any table.  This
      reduces the common case of updating system catalog indexes to a single
      line, makes it much easier to add a new system index (in fact, you
      can now do so on-the-fly if you want to), and as a nice side benefit
      improves performance a little.  Per recent pghackers discussion.
      15fe086f