1. 17 May, 2004 1 commit
  2. 13 May, 2004 1 commit
  3. 11 May, 2004 1 commit
    • Bruce Momjian's avatar
      As part of the work for making relocatable installs, I have re-factored · fda15b35
      Bruce Momjian authored
      all the code that looks for other binaries.  I move FindExec into
      port/exec.c (and renamed it to find_my_binary()).  I also added
      find_other_binary that looks for another binary in the same directory as
      the calling program, and checks the version string.
      
      The only behavior change was that initdb and pg_dump would look in the
      hard-coded bindir directory if it can't find the requested binary in the
      same directory as the caller.  The new code throws an error.  The old
      behavior seemed too error prone for version mismatches.
      fda15b35
  4. 12 Apr, 2004 1 commit
    • Bruce Momjian's avatar
      Here's an attempt at new socket and signal code for win32. · a4c40f14
      Bruce Momjian authored
      It works on the principle of turning sockets into non-blocking, and then
      emulate blocking behaviour on top of that, while allowing signals to
      run. Signals are now implemented using an event instead of APCs, thus
      getting rid of the issue of APCs not being compatible with "old style"
      sockets functions.
      
      It also moves the win32 specific code away from pqsignal.h/c into
      port/win32, and also removes the "thread style workaround" of the APC
      issue previously in place.
      
      In order to make things work, a few things are also changed in pgstat.c:
      
      1) There is now a separate pipe to the collector and the bufferer. This
      is required because the pipe will otherwise only be signalled in one of
      the processes when the postmaster goes down. The MS winsock code for
      select() must have some kind of workaround for this behaviour, but I
      have found no stable way of doing that. You really are not supposed to
      use the same socket from more than one process (unless you use
      WSADuplicateSocket(), in which case the docs specifically say that only
      one will be flagged).
      
      2) The check for "postmaster death" is moved into a separate select()
      call after the main loop. The previous behaviour select():ed on the
      postmaster pipe, while later explicitly saying "we do NOT check for
      postmaster exit inside the loop".
      The issue was that the code relies on the same select() call seeing both
      the postmaster pipe *and* the pgstat pipe go away. This does not always
      happen, and it appears that useing WSAEventSelect() makes it even more
      common that it does not.
      Since it's only called when the process exits, I don't think using a
      separate select() call will have any significant impact on how the stats
      collector works.
      
      Magnus Hagander
      a4c40f14
  5. 24 Mar, 2004 1 commit
  6. 23 Mar, 2004 1 commit
  7. 10 Feb, 2004 1 commit
    • Tom Lane's avatar
      Centralize implementation of delay code by creating a pg_usleep() · 58f337a3
      Tom Lane authored
      subroutine in src/port/pgsleep.c.  Remove platform dependencies from
      miscadmin.h and put them in port.h where they belong.  Extend recent
      vacuum cost-based-delay patch to apply to VACUUM FULL, ANALYZE, and
      non-btree index vacuuming.
      
      By the way, where is the documentation for the cost-based-delay patch?
      58f337a3
  8. 08 Feb, 2004 1 commit
    • Neil Conway's avatar
      Win32 signals cleanup. Patch by Magnus Hagander, with input from Claudio · f06e7952
      Neil Conway authored
      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
  9. 06 Feb, 2004 1 commit
  10. 03 Feb, 2004 1 commit
    • Tom Lane's avatar
      Rename SortMem and VacuumMem to work_mem and maintenance_work_mem. · 391c3811
      Tom Lane authored
      Make btree index creation and initial validation of foreign-key constraints
      use maintenance_work_mem rather than work_mem as their memory limit.
      Add some code to guc.c to allow these variables to be referenced by their
      old names in SHOW and SET commands, for backwards compatibility.
      391c3811
  11. 30 Jan, 2004 1 commit
  12. 26 Jan, 2004 3 commits
    • Bruce Momjian's avatar
      [all] Removed call to getppid in SendPostmasterSignal, replacing with a · eec08b95
      Bruce Momjian authored
      PostmasterPid variable, which gets set (early) in PostmasterMain
      getppid would not be the postmaster?
      
      [fork/exec] Implements processCancelRequest by keeping an array of
      
      pid/cancel_key structs in shared mem
      
      [fork/exec] Moves AttachSharedMemoryAndSemaphores call for backends into
      SubPostmasterMain
      
      [win32] Implements reaper/waitpid by keeping an arrays of children
      pids,handles in postmaster local mem
            - this item is largely untested, for reasons which should be
      obvious, but appears sound
      
      [win32/all] Added extern for pgpipe in Win32 case, and changed the second
      pipe call (which seems to have been missed earlier) to pgpipe
      
      [win32] #define'd ftruncate to chsize in the Win32 case
      
      [win32] PG_USLEEP for Win32 has a misplaced paren. Fixed.
      
      [win32] DLLIMPORT handling for MingW case
      
      
      Claudio Natoli
      eec08b95
    • Bruce Momjian's avatar
      ede3b762
    • Bruce Momjian's avatar
      Attached is a patch that fixes some trivial typos and alignment. Please · f4921e5c
      Bruce Momjian authored
      apply.
      
      Alvaro Herrera
      f4921e5c
  13. 22 Jan, 2004 1 commit
  14. 09 Jan, 2004 2 commits
  15. 06 Jan, 2004 2 commits
  16. 21 Dec, 2003 1 commit
    • Bruce Momjian's avatar
      Back out: · 0ea4f9c8
      Bruce Momjian authored
      >  Attached is a patch that addressed all the discussed issues
      >  that did not break backward compatability, including the
      >  ability to output ISO-8601 compliant intervals by setting
      >  datestyle to iso8601basic.
      0ea4f9c8
  17. 20 Dec, 2003 1 commit
    • Bruce Momjian's avatar
      In my mind there were two categories of open issues · 54c8e821
      Bruce Momjian authored
        a) ones that are 100% backward (such as the comment about
           outputting this format)
      and
        b) ones that aren't (such as deprecating the current
           postgresql shorthand of
               '1Y1M'::interval = 1 year 1 minute
           in favor of the ISO-8601
               'P1Y1M'::interval = 1 year 1 month.
      
      Attached is a patch that addressed all the discussed issues that
      did not break backward compatability, including the ability to
      output ISO-8601 compliant intervals by setting datestyle to
      iso8601basic.
      
      Interval values can now be written as  ISO 8601 time intervals, using
      the "Format with time-unit designators". This format always starts with
      the character 'P', followed  by a string of values followed
      by single character time-unit designators. A 'T' separates the date and
      time parts of the interval.
      
      Ron Mayer
      54c8e821
  18. 29 Nov, 2003 1 commit
    • PostgreSQL Daemon's avatar
      · 55b11325
      PostgreSQL Daemon authored
      make sure the $Id tags are converted to $PostgreSQL as well ...
      55b11325
  19. 13 Nov, 2003 3 commits
  20. 24 Sep, 2003 1 commit
    • Tom Lane's avatar
      Repair some REINDEX problems per recent discussions. The relcache is · a56a016c
      Tom Lane authored
      now able to cope with assigning new relfilenode values to nailed-in-cache
      indexes, so they can be reindexed using the fully crash-safe method.  This
      leaves only shared system indexes as special cases.  Remove the 'index
      deactivation' code, since it provides no useful protection in the shared-
      index case.  Require reindexing of shared indexes to be done in standalone
      mode, but remove other restrictions on REINDEX.  -P (IgnoreSystemIndexes)
      now prevents using indexes for lookups, but does not disable index updates.
      It is therefore safe to allow from PGOPTIONS.  Upshot: reindexing system catalogs
      can be done without a standalone backend for all cases except
      shared catalogs.
      a56a016c
  21. 26 Aug, 2003 1 commit
  22. 04 Aug, 2003 3 commits
  23. 29 Jul, 2003 1 commit
    • Tom Lane's avatar
      Apply (a somewhat revised version of) Greg Mullane's patch to eliminate · 9c2a7c22
      Tom Lane authored
      heuristic determination of day vs month in date/time input.  Add the
      ability to specify that input is interpreted as yy-mm-dd order (which
      formerly worked, but only for yy greater than 31).  DateStyle's input
      component now has the preferred spellings DMY, MDY, or YMD; the older
      keywords European and US are now aliases for the first two of these.
      Per recent discussions on pgsql-general.
      9c2a7c22
  24. 27 Jul, 2003 2 commits
  25. 17 Jul, 2003 1 commit
  26. 27 Jun, 2003 2 commits
  27. 28 May, 2003 2 commits
  28. 03 May, 2003 1 commit
  29. 02 May, 2003 1 commit