1. 21 Sep, 2001 1 commit
    • Tom Lane's avatar
      Add an overall timeout on the client authentication cycle, so that · 35b7601b
      Tom Lane authored
      a hung client or lost connection can't indefinitely block a postmaster
      child (not to mention the possibility of deliberate DoS attacks).
      Timeout is controlled by new authentication_timeout GUC variable,
      which I set to 60 seconds by default ... does that seem reasonable?
      35b7601b
  2. 07 Sep, 2001 1 commit
  3. 04 Sep, 2001 2 commits
  4. 06 Jul, 2001 1 commit
  5. 16 Jun, 2001 1 commit
    • Tom Lane's avatar
      Tweak startup sequence so that running out of PROC array slots is · 2917f0a5
      Tom Lane authored
      detected sooner in backend startup, and is treated as an expected error
      (it gives 'Sorry, too many clients already' now).  This allows us not
      to have to enforce the MaxBackends limit exactly in the postmaster.
      Also, remove ProcRemove() and fold its functionality into ProcKill().
      There's no good reason for a backend not to be responsible for removing
      its PROC entry, and there are lots of good reasons for the postmaster
      not to be touching shared-memory data structures.
      2917f0a5
  6. 25 May, 2001 2 commits
  7. 22 Mar, 2001 2 commits
  8. 26 Jan, 2001 1 commit
  9. 25 Jan, 2001 1 commit
  10. 24 Jan, 2001 1 commit
  11. 22 Jan, 2001 1 commit
    • Tom Lane's avatar
      Clean up lockmanager data structures some more, in preparation for planned · e84c4290
      Tom Lane authored
      rewrite of deadlock checking.  Lock holder objects are now reachable from
      the associated LOCK as well as from the owning PROC.  This makes it
      practical to find all the processes holding a lock, as well as all those
      waiting on the lock.  Also, clean up some of the grottier aspects of the
      SHMQueue API, and cause the waitProcs list to be stored in the intuitive
      direction instead of the nonintuitive one.  (Bet you didn't know that
      the code followed the 'prev' link to get to the next waiting process,
      instead of the 'next' link.  It doesn't do that anymore.)
      e84c4290
  12. 16 Jan, 2001 2 commits
  13. 14 Jan, 2001 1 commit
  14. 12 Jan, 2001 1 commit
    • Tom Lane's avatar
      Add more critical-section calls: all code sections that hold spinlocks · 6162432d
      Tom Lane authored
      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
  15. 09 Jan, 2001 1 commit
  16. 22 Dec, 2000 1 commit
    • Tom Lane's avatar
      Revise lock manager to support "session level" locks as well as "transaction · 6cc842ab
      Tom Lane authored
      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
  17. 18 Dec, 2000 2 commits
  18. 11 Dec, 2000 2 commits
  19. 28 Nov, 2000 1 commit
    • Tom Lane's avatar
      Significant cleanups in SysV IPC handling (shared mem and semaphores). · c715fdea
      Tom Lane authored
      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
  20. 07 Oct, 2000 1 commit
    • Bruce Momjian's avatar
      The beos port in the source tree doesn't even compile. and even · 7ea8403c
      Bruce Momjian authored
      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
  21. 03 Oct, 2000 1 commit
    • Bruce Momjian's avatar
      New diff that now covers the entire tree. Applying this gets postgresql · 87c0e623
      Bruce Momjian authored
      working on the VERY latest version of BeOS.  I'm sure there will be
      alot of comments, but then if there weren't I'd be disappointed!
      
      Thanks for your continuing efforts to get this into your tree.
      
      Haven't bothered with the new files as they haven't changed.
      
      BTW Peter, the compiler is "broken" about the bool define and so on.
      I'm filing a bug report to try and get it addressed.  Hopefully then we
      can tidy up the code a bit.
      
      I await the replies with interest :)
      
      David Reid
      87c0e623
  22. 02 Oct, 2000 2 commits
  23. 29 Aug, 2000 1 commit
  24. 27 Aug, 2000 1 commit
  25. 31 Jul, 2000 1 commit
  26. 28 Jun, 2000 1 commit
    • Tom Lane's avatar
      First phase of memory management rewrite (see backend/utils/mmgr/README · 1aebc361
      Tom Lane authored
      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
  27. 15 Jun, 2000 1 commit
  28. 31 May, 2000 1 commit
    • Peter Eisentraut's avatar
      The heralded `Grand Unified Configuration scheme' (GUC) · 6a68f426
      Peter Eisentraut authored
      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
  29. 30 May, 2000 1 commit
  30. 12 Apr, 2000 1 commit
  31. 10 Apr, 2000 1 commit
  32. 24 Feb, 2000 1 commit
  33. 22 Feb, 2000 1 commit