1. 10 1月, 2007 2 次提交
  2. 06 1月, 2007 1 次提交
  3. 07 11月, 2006 1 次提交
  4. 04 10月, 2006 1 次提交
  5. 24 8月, 2006 1 次提交
  6. 30 5月, 2006 1 次提交
  7. 05 3月, 2006 2 次提交
  8. 18 1月, 2006 1 次提交
  9. 08 12月, 2005 1 次提交
  10. 02 12月, 2005 1 次提交
  11. 23 11月, 2005 1 次提交
  12. 15 10月, 2005 1 次提交
  13. 08 8月, 2005 2 次提交
  14. 04 7月, 2005 1 次提交
    • T
      Arrange for the postmaster (and standalone backends, initdb, etc) to · eb5949d1
      Tom Lane 提交于
      chdir into PGDATA and subsequently use relative paths instead of absolute
      paths to access all files under PGDATA.  This seems to give a small
      performance improvement, and it should make the system more robust
      against naive DBAs doing things like moving a database directory that
      has a live postmaster in it.  Per recent discussion.
      eb5949d1
  15. 20 6月, 2005 1 次提交
    • T
      Simplify uses of readdir() by creating a function ReadDir() that · 3f749924
      Tom Lane 提交于
      includes error checking and an appropriate ereport(ERROR) message.
      This gets rid of rather tedious and error-prone manipulation of errno,
      as well as a Windows-specific bug workaround, at more than a dozen
      call sites.  After an idea in a recent patch by Heikki Linnakangas.
      3f749924
  16. 20 5月, 2005 1 次提交
  17. 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
  18. 30 12月, 2004 1 次提交
    • T
      Refactor EXEC_BACKEND code so that postmaster child processes reattach · eee5abce
      Tom Lane 提交于
      to shared memory as soon as possible, ie, right after read_backend_variables.
      The effective difference from the original code is that this happens
      before instead of after read_nondefault_variables(), which loads GUC
      information and is apparently capable of expanding the backend's memory
      allocation more than you'd think it should.  This should fix the
      failure-to-attach-to-shared-memory reports we've been seeing on Windows.
      Also clean up a few bits of unnecessarily grotty EXEC_BACKEND code.
      eee5abce
  19. 17 9月, 2004 1 次提交
    • T
      Restructure subtransaction handling to reduce resource consumption, · 8f9f1986
      Tom Lane 提交于
      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
  20. 29 8月, 2004 2 次提交
  21. 28 7月, 2004 1 次提交
    • T
      Fix subtransaction behavior for large objects, temp namespace, files, · 1bf3d615
      Tom Lane 提交于
      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
  22. 31 5月, 2004 1 次提交
    • T
      Per previous discussions, get rid of use of sync(2) in favor of · 9b178555
      Tom Lane 提交于
      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
  23. 24 2月, 2004 2 次提交
    • T
      Replace opendir/closedir calls throughout the backend with AllocateDir · 7a57a672
      Tom Lane 提交于
      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
    • T
      Do a direct probe during postmaster startup to determine the maximum · f83356c7
      Tom Lane 提交于
      number of openable files and the number already opened.  This eliminates
      depending on sysconf(_SC_OPEN_MAX), and allows much saner behavior on
      platforms where open-file slots are used up by semaphores.
      f83356c7
  24. 27 1月, 2004 1 次提交
  25. 21 12月, 2003 1 次提交
  26. 13 12月, 2003 1 次提交
  27. 30 11月, 2003 1 次提交
    • P
      · 969685ad
      PostgreSQL Daemon 提交于
      $Header: -> $PostgreSQL Changes ...
      969685ad
  28. 25 9月, 2003 1 次提交
  29. 04 8月, 2003 2 次提交
  30. 25 7月, 2003 1 次提交
  31. 29 4月, 2003 1 次提交
  32. 05 4月, 2003 1 次提交
  33. 28 3月, 2003 1 次提交
    • B
      This patch implements holdable cursors, following the proposal · 54f7338f
      Bruce Momjian 提交于
      (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
  34. 02 9月, 2002 1 次提交
    • B
      I checked all the previous string handling errors and most of them were · a12b4e27
      Bruce Momjian 提交于
      already fixed by You. However there were a few left and attached patch
      should fix the rest of them.
      
      I used StringInfo only in 2 places and both of them are inside debug
      ifdefs. Only performance penalty will come from using strlen() like all
      the other code does.
      
      I also modified some of the already patched parts by changing
      snprintf(buf, 2 * BUFSIZE, ... style lines to
      snprintf(buf, sizeof(buf), ... where buf is an array.
      
      Jukka Holappa
      a12b4e27