1. 15 10月, 2005 1 次提交
  2. 13 10月, 2005 1 次提交
  3. 12 10月, 2005 1 次提交
  4. 20 9月, 2005 1 次提交
  5. 21 8月, 2005 1 次提交
    • T
      Convert the arithmetic for shared memory size calculation from 'int' · 0007490e
      Tom Lane 提交于
      to 'Size' (that is, size_t), and install overflow detection checks in it.
      This allows us to remove the former arbitrary restrictions on NBuffers
      etc.  It won't make any difference in a 32-bit machine, but in a 64-bit
      machine you could theoretically have terabytes of shared buffers.
      (How efficiently we could manage 'em remains to be seen.)  Similarly,
      num_temp_buffers, work_mem, and maintenance_work_mem can be set above
      2Gb on a 64-bit machine.  Original patch from Koichi Suzuki, additional
      work by moi.
      0007490e
  6. 08 8月, 2005 1 次提交
    • T
      Cause ShutdownPostgres to do a normal transaction abort during backend · 7117cd3a
      Tom Lane 提交于
      exit, instead of trying to take shortcuts.  Introduce some additional
      shutdown callback routines to eliminate kluges like having ProcKill
      be responsible for shutting down the buffer manager.  Ensure that the
      order of operations during shutdown is predictable and what you would
      expect given the module layering.
      7117cd3a
  7. 01 8月, 2005 1 次提交
  8. 18 6月, 2005 1 次提交
  9. 15 6月, 2005 1 次提交
    • T
      Simplify shared-memory lock data structures as per recent discussion: · 8563ccae
      Tom Lane 提交于
      it is sufficient to track whether a backend holds a lock or not, and
      store information about transaction vs. session locks only in the
      inside-the-backend LocalLockTable.  Since there can now be but one
      PROCLOCK per lock per backend, LockCountMyLocks() is no longer needed,
      thus eliminating some O(N^2) behavior when a backend holds many locks.
      Also simplify the LockAcquire/LockRelease API by passing just a
      'sessionLock' boolean instead of a transaction ID.  The previous API
      was designed with the idea that per-transaction lock holding would be
      important for subtransactions, but now that we have subtransactions we
      know that this is unwanted.  While at it, add an 'isTempObject' parameter
      to LockAcquire to indicate whether the lock is being taken on a temp
      table.  This is not used just yet, but will be needed shortly for
      two-phase commit.
      8563ccae
  10. 20 5月, 2005 1 次提交
  11. 15 4月, 2005 1 次提交
  12. 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
  13. 17 10月, 2004 1 次提交
    • T
      Give the ResourceOwner mechanism full responsibility for releasing buffer · fdd13f15
      Tom Lane 提交于
      pins at end of transaction, and reduce AtEOXact_Buffers to an Assert
      cross-check that this was done correctly.  When not USE_ASSERT_CHECKING,
      AtEOXact_Buffers is a complete no-op.  This gets rid of an O(NBuffers)
      bottleneck during transaction commit/abort, which recent testing has shown
      becomes significant above a few tens of thousands of shared buffers.
      fdd13f15
  14. 29 9月, 2004 1 次提交
  15. 29 8月, 2004 2 次提交
  16. 28 8月, 2004 1 次提交
    • T
      Introduce local hash table for lock state, as per recent proposal. · 1785aceb
      Tom Lane 提交于
      PROCLOCK structs in shared memory now have only a bitmask for held
      locks, rather than counts (making them 40 bytes smaller, which is a
      good thing).  Multiple locks within a transaction are counted in the
      local hash table instead, and we have provision for tracking which
      ResourceOwner each count belongs to.  Solves recently reported problem
      with memory leakage within long transactions.
      1785aceb
  17. 17 7月, 2004 1 次提交
    • T
      Invent ResourceOwner mechanism as per my recent proposal, and use it to · fe548629
      Tom Lane 提交于
      keep track of portal-related resources separately from transaction-related
      resources.  This allows cursors to work in a somewhat sane fashion with
      nested transactions.  For now, cursor behavior is non-subtransactional,
      that is a cursor's state does not roll back if you abort a subtransaction
      that fetched from the cursor.  We might want to change that later.
      fe548629
  18. 01 7月, 2004 1 次提交
  19. 30 5月, 2004 1 次提交
    • T
      Separate out bgwriter code into a logically separate module, rather · 076a055a
      Tom Lane 提交于
      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
  20. 19 2月, 2004 1 次提交
  21. 09 2月, 2004 1 次提交
    • N
      Win32 signals cleanup. Patch by Magnus Hagander, with input from Claudio · f06e7952
      Neil Conway 提交于
      Natoli and Bruce Momjian (and some cosmetic fixes from Neil Conway).
      Changes:
      
          - remove duplicate signal definitions from pqsignal.h
      
          - replace pqkill() with kill() and redefine kill() in Win32
      
          - use ereport() in place of fprintf() in some error handling in
            pqsignal.c
      
          - export pg_queue_signal() and make use of it where necessary
      
          - add a console control handler for Ctrl-C and similar handling
            on Win32
      
          - do WaitForSingleObjectEx() in CHECK_FOR_INTERRUPTS() on Win32;
            query cancelling should now work on Win32
      
          - various other fixes and cleanups
      f06e7952
  22. 27 1月, 2004 1 次提交
    • B
      Here's the latest win32 signals code, this time in the form of a patch · 50491963
      Bruce Momjian 提交于
      against the latest shapshot. It also includes the replacement of kill()
      with pqkill() and sigsetmask() with pqsigsetmask().
      
      Passes all tests fine on my linux machine once applied. Still doesn't
      link completely on Win32 - there are a few things still required. But
      much closer than before.
      
      At Bruce's request, I'm goint to write up a README file about the method
      of signals delivery chosen and why the others were rejected (basically a
      summary of the mailinglist discussions). I'll finish that up once/if the
      patch is accepted.
      
      
      Magnus Hagander
      50491963
  23. 08 1月, 2004 1 次提交
  24. 25 12月, 2003 1 次提交
  25. 21 12月, 2003 2 次提交
  26. 13 12月, 2003 1 次提交
  27. 02 12月, 2003 1 次提交
    • B
      Try to reduce confusion about what is a lock method identifier, a lock · e7ca8674
      Bruce Momjian 提交于
      method control structure, or a table of control structures.
      
      . Use type LOCKMASK where an int is not a counter.
      
      . Get rid of INVALID_TABLEID, use INVALID_LOCKMETHOD instead.
      
      . Use INVALID_LOCKMETHOD instead of (LOCKMETHOD) NULL, because
        LOCKMETHOD is not a pointer.
      
      . Define and use macro LockMethodIsValid.
      
      . Rename LOCKMETHOD to LOCKMETHODID.
      
      . Remove global variable LongTermTableId in lmgr.c, because it is
        never used.
      
      . Make LockTableId static in lmgr.c, because it is used nowhere else.
        Why not remove it and use DEFAULT_LOCKMETHOD?
      
      . Rename the lock method control structure from LOCKMETHODTABLE to
        LockMethodData.  Introduce a pointer type named LockMethod.
      
      . Remove elog(FATAL) after InitLockTable() call in
        CreateSharedMemoryAndSemaphores(), because if something goes wrong,
        there is elog(FATAL) in LockMethodTableInit(), and if this doesn't
        help, an elog(ERROR) in InitLockTable() is promoted to FATAL.
      
      . Make InitLockTable() void, because its only caller does not use its
        return value any more.
      
      . Rename variables in lock.c to avoid statements like
              LockMethodTable[NumLockMethods] = lockMethodTable;
              lockMethodTable = LockMethodTable[lockmethod];
      
      . Change LOCKMETHODID type to uint16 to fit into struct LOCKTAG.
      
      . Remove static variables BITS_OFF and BITS_ON from lock.c, because
        I agree to this doubt:
       * XXX is a fetch from a static array really faster than a shift?
      
      . Define and use macros LOCKBIT_ON/OFF.
      
      
      Manfred Koizar
      e7ca8674
  28. 30 11月, 2003 1 次提交
    • P
      · 969685ad
      PostgreSQL Daemon 提交于
      $Header: -> $PostgreSQL Changes ...
      969685ad
  29. 19 11月, 2003 1 次提交
    • J
      Background writer process · cfeca621
      Jan Wieck 提交于
      This first part of the background writer does no syncing at all.
      It's only purpose is to keep the LRU heads clean so that regular
      backends seldom to never have to call write().
      
      Jan
      cfeca621
  30. 17 10月, 2003 1 次提交
    • T
      Ensure that all places that are complaining about exhaustion of shared · 624292aa
      Tom Lane 提交于
      memory say 'out of shared memory'; some were doing that and some just
      said 'out of memory'.  Also add a HINT about increasing max_locks_per_transaction
      where relevant, per suggestion from Sean Chittenden.  (The former change
      does not break the strings freeze; the latter does, but I think it's
      worth doing anyway.)
      624292aa
  31. 12 10月, 2003 2 次提交
  32. 04 8月, 2003 2 次提交
  33. 25 7月, 2003 1 次提交
  34. 16 5月, 2003 1 次提交
    • B
      Allow Win32 to compile under MinGW. Major changes are: · 12c94238
      Bruce Momjian 提交于
              Win32 port is now called 'win32' rather than 'win'
              add -lwsock32 on Win32
              make gethostname() be only used when kerberos4 is enabled
              use /port/getopt.c
              new /port/opendir.c routines
              disable GUC unix_socket_group on Win32
              convert some keywords.c symbols to KEYWORD_P to prevent conflict
              create new FCNTL_NONBLOCK macro to turn off socket blocking
              create new /include/port.h file that has /port prototypes, move
                out of c.h
              new /include/port/win32_include dir to hold missing include files
              work around ERROR being defined in Win32 includes
      12c94238
  35. 18 2月, 2003 1 次提交
  36. 17 1月, 2003 1 次提交