1. 17 1月, 2001 1 次提交
  2. 16 1月, 2001 1 次提交
  3. 14 1月, 2001 1 次提交
  4. 13 1月, 2001 1 次提交
    • T
      Add more critical-section calls: all code sections that hold spinlocks · 6162432d
      Tom Lane 提交于
      are now critical sections, so as to ensure die() won't interrupt us while
      we are munging shared-memory data structures.  Avoid insecure intermediate
      states in some code that proc_exit will call, like palloc/pfree.  Rename
      START/END_CRIT_CODE to START/END_CRIT_SECTION, since that seems to be
      what people tend to call them anyway, and make them be called with () like
      a function call, in hopes of not confusing pg_indent.
      I doubt that this is sufficient to make SIGTERM safe anywhere; there's
      just too much code that could get invoked during proc_exit().
      6162432d
  5. 09 1月, 2001 1 次提交
  6. 22 12月, 2000 1 次提交
    • T
      Revise lock manager to support "session level" locks as well as "transaction · 6cc842ab
      Tom Lane 提交于
      level" locks.  A session lock is not released at transaction commit (but it
      is released on transaction abort, to ensure recovery after an elog(ERROR)).
      In VACUUM, use a session lock to protect the master table while vacuuming a
      TOAST table, so that the TOAST table can be done in an independent
      transaction.
      
      I also took this opportunity to do some cleanup and renaming in the lock
      code.  The previously noted bug in ProcLockWakeup, that it couldn't wake up
      any waiters beyond the first non-wakeable waiter, is now fixed.  Also found
      a previously unknown bug of the same kind (failure to scan all members of
      a lock queue in some cases) in DeadLockCheck.  This might have led to failure
      to detect a deadlock condition, resulting in indefinite waits, but it's
      difficult to characterize the conditions required to trigger a failure.
      6cc842ab
  7. 19 12月, 2000 1 次提交
  8. 18 12月, 2000 1 次提交
  9. 12 12月, 2000 1 次提交
  10. 11 12月, 2000 1 次提交
  11. 29 11月, 2000 1 次提交
    • T
      Significant cleanups in SysV IPC handling (shared mem and semaphores). · c715fdea
      Tom Lane 提交于
      IPC key assignment will now work correctly even when multiple postmasters
      are using same logical port number (which is possible given -k switch).
      There is only one shared-mem segment per postmaster now, not 3.
      Rip out broken code for non-TAS case in bufmgr and xlog, substitute a
      complete S_LOCK emulation using semaphores in spin.c.  TAS and non-TAS
      logic is now exactly the same.
      When deadlock is detected, "Deadlock detected" is now the elog(ERROR)
      message, rather than a NOTICE that comes out before an unhelpful ERROR.
      c715fdea
  12. 07 10月, 2000 1 次提交
    • B
      The beos port in the source tree doesn't even compile. and even · 7ea8403c
      Bruce Momjian 提交于
      after that dynamic loading isn't working and shared memory handling is
      broken.
      
              Attached with this message, there is a Zip file which contain :
      
              * beos.diff = patch file generated with difforig
              * beos = folder with beos support files which need to be moved in /
      src/backend/port
              * expected = foler with three file for message and precision
      difference in regression test
              * regression.diff = rule problem (need to kill the backend manualy)
              * dynloader = dynloader files (they are also in the pacth files,
      but there is so much modification that I have join full files)
      
              Everything works except a problem in 'rules' Is there some problems
      with rules in the current tree ? It used to works with last week tree.
      
      Cyril VELTER
      7ea8403c
  13. 03 10月, 2000 3 次提交
  14. 29 8月, 2000 1 次提交
  15. 28 8月, 2000 1 次提交
  16. 31 7月, 2000 1 次提交
  17. 28 6月, 2000 1 次提交
    • T
      First phase of memory management rewrite (see backend/utils/mmgr/README · 1aebc361
      Tom Lane 提交于
      for details).  It doesn't really do that much yet, since there are no
      short-term memory contexts in the executor, but the infrastructure is
      in place and long-term contexts are handled reasonably.  A few long-
      standing bugs have been fixed, such as 'VACUUM; anything' in a single
      query string crashing.  Also, out-of-memory is now considered a
      recoverable ERROR, not FATAL.
      Eliminate a large amount of crufty, now-dead code in and around
      memory management.
      Fix problem with holding off SIGTRAP, SIGSEGV, etc in postmaster and
      backend startup.
      1aebc361
  18. 15 6月, 2000 1 次提交
  19. 31 5月, 2000 1 次提交
    • P
      The heralded `Grand Unified Configuration scheme' (GUC) · 6a68f426
      Peter Eisentraut 提交于
      That means you can now set your options in either or all of $PGDATA/configuration,
      some postmaster option (--enable-fsync=off), or set a SET command. The list of
      options is in backend/utils/misc/guc.c, documentation will be written post haste.
      
      pg_options is gone, so is that pq_geqo config file. Also removed were backend -K,
      -Q, and -T options (no longer applicable, although -d0 does the same as -Q).
      
      Added to configure an --enable-syslog option.
      
      changed all callers from TPRINTF to elog(DEBUG)
      6a68f426
  20. 30 5月, 2000 1 次提交
  21. 13 4月, 2000 1 次提交
  22. 10 4月, 2000 1 次提交
  23. 24 2月, 2000 1 次提交
  24. 22 2月, 2000 1 次提交
  25. 21 2月, 2000 1 次提交
    • H
      fix the TODO · a60c9e33
      Hiroshi Inoue 提交于
      * Allow PQrequestCancel() to terminate when in waiting-for-lock state
      Changes are limited to BACKEND,however.
      a60c9e33
  26. 26 1月, 2000 1 次提交
    • B
      Add: · 5c25d602
      Bruce Momjian 提交于
        * Portions Copyright (c) 1996-2000, PostgreSQL, Inc
      
      to all files copyright Regents of Berkeley.  Man, that's a lot of files.
      5c25d602
  27. 17 1月, 2000 1 次提交
    • H
      · 1500e262
      Hiroshi Inoue 提交于
      Fix for TODO item * spinlock stuck problem when elog(FATAL)
      and elog(ERROR) inside bufmgr.
      1500e262
  28. 16 12月, 1999 1 次提交
  29. 08 11月, 1999 1 次提交
  30. 12 10月, 1999 1 次提交
  31. 07 10月, 1999 1 次提交
  32. 24 9月, 1999 1 次提交
    • T
      Several changes here, not very related but touching some of the same files. · e812458b
      Tom Lane 提交于
      * Buffer refcount cleanup (per my "progress report" to pghackers, 9/22).
      * Add links to backend PROC structs to sinval's array of per-backend info,
      and use these links for routines that need to check the state of all
      backends (rather than the slow, complicated search of the ShmemIndex
      hashtable that was used before).  Add databaseOID to PROC structs.
      * Use this to implement an interlock that prevents DESTROY DATABASE of
      a database containing running backends.  (It's a little tricky to prevent
      a concurrently-starting backend from getting in there, since the new
      backend is not able to lock anything at the time it tries to look up
      its database in pg_database.  My solution is to recheck that the DB is
      OK at the end of InitPostgres.  It may not be a 100% solution, but it's
      a lot better than no interlock at all...)
      * In ALTER TABLE RENAME, flush buffers for the relation before doing the
      rename of the physical files, to ensure we don't get failures later from
      mdblindwrt().
      * Update TRUNCATE patch so that it actually compiles against current
      sources :-(.
      You should do "make clean all" after pulling these changes.
      e812458b
  33. 18 7月, 1999 1 次提交
  34. 16 7月, 1999 2 次提交
  35. 26 5月, 1999 2 次提交
  36. 13 5月, 1999 1 次提交
    • B
      Hi, Bruce! · 564842a6
      Bruce Momjian 提交于
      These are my last changes to lmgr fixing deadlock handling.
      Please apply them to cvs...
      
      Vadim
      564842a6