1. 06 Sep, 2004 1 commit
  2. 29 Aug, 2004 2 commits
  3. 23 Aug, 2004 1 commit
    • Tom Lane's avatar
      Rearrange pg_subtrans handling as per recent discussion. pg_subtrans · 4dbb880d
      Tom Lane authored
      updates are no longer WAL-logged nor even fsync'd; we do not need to,
      since after a crash no old pg_subtrans data is needed again.  We truncate
      pg_subtrans to RecentGlobalXmin at each checkpoint.  slru.c's API is
      refactored a little bit to separate out the necessary decisions.
      4dbb880d
  4. 21 Jul, 2004 1 commit
    • Tom Lane's avatar
      Invent WAL timelines, as per recent discussion, to make point-in-time · 2042b342
      Tom Lane authored
      recovery more manageable.  Also, undo recent change to add FILE_HEADER
      and WASTED_SPACE records to XLOG; instead make the XLOG page header
      variable-size with extra fields in the first page of an XLOG file.
      This should fix the boundary-case bugs observed by Mark Kirkwood.
      initdb forced due to change of XLOG representation.
      2042b342
  5. 01 Jul, 2004 1 commit
  6. 31 May, 2004 1 commit
    • Tom Lane's avatar
      Per previous discussions, get rid of use of sync(2) in favor of · 9b178555
      Tom Lane authored
      explicitly fsync'ing every (non-temp) file we have written since the
      last checkpoint.  In the vast majority of cases, the burden of the
      fsyncs should fall on the bgwriter process not on backends.  (To this
      end, we assume that an fsync issued by the bgwriter will force out
      blocks written to the same file by other processes using other file
      descriptors.  Anyone have a problem with that?)  This makes the world
      safe for WIN32, which ain't even got sync(2), and really makes the world
      safe for Unixen as well, because sync(2) never had the semantics we need:
      it offers no way to wait for the requested I/O to finish.
      
      Along the way, fix a bug I recently introduced in xlog recovery:
      file truncation replay failed to clear bufmgr buffers for the dropped
      blocks, which could result in 'PANIC:  heap_delete_redo: no block'
      later on in xlog replay.
      9b178555
  7. 29 May, 2004 1 commit
    • Tom Lane's avatar
      Separate out bgwriter code into a logically separate module, rather · 076a055a
      Tom Lane authored
      than being random pieces of other files.  Give bgwriter responsibility
      for all checkpoint activity (other than a post-recovery checkpoint);
      so this child process absorbs the functionality of the former transient
      checkpoint and shutdown subprocesses.  While at it, create an actual
      include file for postmaster.c, which for some reason never had its own
      file before.
      076a055a
  8. 28 May, 2004 1 commit
    • Tom Lane's avatar
      Code review for EXEC_BACKEND changes. Reduce the number of #ifdefs by · 1a321f26
      Tom Lane authored
      about a third, make it work on non-Windows platforms again.  (But perhaps
      I broke the WIN32 code, since I have no way to test that.)  Fold all the
      paths that fork postmaster child processes to go through the single
      routine SubPostmasterMain, which takes care of resurrecting the state that
      would normally be inherited from the postmaster (including GUC variables).
      Clean up some places where there's no particularly good reason for the
      EXEC and non-EXEC cases to work differently.  Take care of one or two
      FIXMEs that remained in the code.
      1a321f26
  9. 23 Feb, 2004 1 commit
    • Tom Lane's avatar
      Replace opendir/closedir calls throughout the backend with AllocateDir · 7a57a672
      Tom Lane authored
      and FreeDir routines modeled on the existing AllocateFile/FreeFile.
      Like the latter, these routines will avoid failing on EMFILE/ENFILE
      conditions whenever possible, and will prevent leakage of directory
      descriptors if an elog() occurs while one is open.
      Also, reduce PANIC to ERROR in MoveOfflineLogs() --- this is not
      critical code and there is no reason to force a DB restart on failure.
      All per recent trouble report from Olivier Hubaut.
      7a57a672
  10. 17 Feb, 2004 1 commit
  11. 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
  12. 28 Jan, 2004 1 commit
    • Tom Lane's avatar
      Review uses of IsUnderPostmaster, change some tests to look at · 2f0d43b2
      Tom Lane authored
      whereToSendOutput instead because they are really inquiring about
      the correct client communication protocol.  Update some comments.
      This is pointing towards supporting regular FE/BE client protocol
      in a standalone backend, per discussion a month or so back.
      2f0d43b2
  13. 26 Jan, 2004 1 commit
  14. 29 Nov, 2003 1 commit
    • PostgreSQL Daemon's avatar
      · 969685ad
      PostgreSQL Daemon authored
      $Header: -> $PostgreSQL Changes ...
      969685ad
  15. 25 Sep, 2003 1 commit
  16. 08 Aug, 2003 2 commits
  17. 04 Aug, 2003 1 commit
  18. 28 Jul, 2003 1 commit
  19. 19 Jul, 2003 1 commit
  20. 11 Jun, 2003 1 commit
    • Bruce Momjian's avatar
      This patch extracts page buffer pooling and the simple · 0abe7431
      Bruce Momjian authored
      least-recently-used strategy from clog.c into slru.c.  It doesn't
      change any visible behaviour and passes all regression tests plus a
      TruncateCLOG test done manually.
      
      Apart from refactoring I made a little change to SlruRecentlyUsed,
      formerly ClogRecentlyUsed:  It now skips incrementing lru_counts, if
      slotno is already the LRU slot, thus saving a few CPU cycles.  To make
      this work, lru_counts are initialised to 1 in SimpleLruInit.
      
      SimpleLru will be used by pg_subtrans (part of the nested transactions
      project), so the main purpose of this patch is to avoid future code
      duplication.
      
      Manfred Koizar
      0abe7431