Skip to content
Snippets Groups Projects
  1. Aug 06, 2004
  2. Aug 01, 2004
    • Tom Lane's avatar
      Some mop-up work for savepoints (nested transactions). Store a small · efcaf1e8
      Tom Lane authored
      number of active subtransaction XIDs in each backend's PGPROC entry,
      and use this to avoid expensive probes into pg_subtrans during
      TransactionIdIsInProgress.  Extend EOXactCallback API to allow add-on
      modules to get control at subxact start/end.  (This is deliberately
      not compatible with the former API, since any uses of that API probably
      need manual review anyway.)  Add basic reference documentation for
      SAVEPOINT and related commands.  Minor other cleanups to check off some
      of the open issues for subtransactions.
      Alvaro Herrera and Tom Lane.
      efcaf1e8
  3. Jul 12, 2004
  4. Jul 01, 2004
  5. Jun 18, 2004
  6. May 31, 2004
  7. May 30, 2004
  8. May 28, 2004
    • Tom Lane's avatar
      Code review for EXEC_BACKEND changes. Reduce the number of #ifdefs by · 1a321f26
      Tom Lane authored
      about a third, make it work on non-Windows platforms again.  (But perhaps
      I broke the WIN32 code, since I have no way to test that.)  Fold all the
      paths that fork postmaster child processes to go through the single
      routine SubPostmasterMain, which takes care of resurrecting the state that
      would normally be inherited from the postmaster (including GUC variables).
      Clean up some places where there's no particularly good reason for the
      EXEC and non-EXEC cases to work differently.  Take care of one or two
      FIXMEs that remained in the code.
      1a321f26
  9. May 27, 2004
    • Tom Lane's avatar
      Get rid of the former rather baroque mechanism for propagating the values · 16974ee9
      Tom Lane authored
      of ThisStartUpID and RedoRecPtr into new backends.  It's a lot easier just
      to make them all grab the values out of shared memory during startup.
      This helps to decouple the postmaster from checkpoint execution, which I
      need since I'm intending to let the bgwriter do it instead, and it also
      fixes a bug in the Win32 port: ThisStartUpID wasn't getting propagated at
      all AFAICS.  (Doesn't give me a lot of faith in the amount of testing that
      port has gotten.)
      16974ee9
  10. May 26, 2004
    • Neil Conway's avatar
      Reimplement the linked list data structure used throughout the backend. · d0b4399d
      Neil Conway authored
      In the past, we used a 'Lispy' linked list implementation: a "list" was
      merely a pointer to the head node of the list. The problem with that
      design is that it makes lappend() and length() linear time. This patch
      fixes that problem (and others) by maintaining a count of the list
      length and a pointer to the tail node along with each head node pointer.
      A "list" is now a pointer to a structure containing some meta-data
      about the list; the head and tail pointers in that structure refer
      to ListCell structures that maintain the actual linked list of nodes.
      
      The function names of the list API have also been changed to, I hope,
      be more logically consistent. By default, the old function names are
      still available; they will be disabled-by-default once the rest of
      the tree has been updated to use the new API names.
      d0b4399d
  11. May 18, 2004
  12. May 17, 2004
  13. May 14, 2004
  14. May 11, 2004
    • 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
  15. Apr 19, 2004
    • Bruce Momjian's avatar
      * Most changes are to fix warnings issued when compiling win32 · 31338352
      Bruce Momjian authored
      * removed a few redundant defines
      * get_user_name safe under win32
      * rationalized pipe read EOF for win32 (UPDATED PATCH USED)
      * changed all backend instances of sleep() to pg_usleep
      
          - except for the SLEEP_ON_ASSERT in assert.c, as it would exceed a
      32-bit long [Note to patcher: If a SLEEP_ON_ASSERT of 2000 seconds is
      acceptable, please replace with pg_usleep(2000000000L)]
      
      I added a comment to that part of the code:
      
          /*
           *  It would be nice to use pg_usleep() here, but only does 2000 sec
           *  or 33 minutes, which seems too short.
           */
          sleep(1000000);
      
      Claudio Natoli
      31338352
  16. Mar 15, 2004
  17. Feb 10, 2004
    • 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
    • Tom Lane's avatar
      Restructure smgr API as per recent proposal. smgr no longer depends on · 87bd9563
      Tom Lane authored
      the relcache, and so the notion of 'blind write' is gone.  This should
      improve efficiency in bgwriter and background checkpoint processes.
      Internal restructuring in md.c to remove the not-very-useful array of
      MdfdVec objects --- might as well just use pointers.
      Also remove the long-dead 'persistent main memory' storage manager (mm.c),
      since it seems quite unlikely to ever get resurrected.
      87bd9563
  18. Feb 08, 2004
    • 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
  19. Feb 06, 2004
  20. Feb 03, 2004
    • 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
  21. Feb 02, 2004
    • Bruce Momjian's avatar
      Briefly, · e5e5a323
      Bruce Momjian authored
       * configure + Makefile changes
       * shared memory attaching in EXEC_BACKEND case (+ minor fix for apparent
      cygwin bug under cygwin/EXEC_BACKEND case only)
       * PATH env var separator differences
       * missing win32 rand functions added
       * placeholder replacements for sync etc under port.h
      
      
      To those who are really interested, and there are a few of you: the attached
      patch + file will allow the source base to be compiled (and, for some
      definition, "run") under MingW, with the following caveats (I wanted to
      first properly fix all but the last of these, but y'all won't quit asking
      for a patch :-):
      
              * child death: SIGCHLD not yet sent, so as a minimum, you'll need to
      put in some sort of delay after StartupDatabase, and handle setting
      StartupPID to 0 etc (ie. the stuff the reaper() signal function is supposed
      to do)
      
              * dirmod.c: comment out the elog calls
      
              * dfmgr.c: some hackage required to substitute_libpath_macro
      
              * slru/xact.c: comment out the errno checking after the readdir
      (fixed by next version of MingW)
      
      Again, this is only if you *really* want to see postgres compile and start,
      and is a nice leg-up for working on the other Win32 TODO list items. Just
      don't expect too much else from it at this point...
      
      
      Claudio Natoli
      e5e5a323
  22. Jan 28, 2004
    • Tom Lane's avatar
      Review uses of IsUnderPostmaster, change some tests to look at · 2f0d43b2
      Tom Lane authored
      whereToSendOutput instead because they are really inquiring about
      the correct client communication protocol.  Update some comments.
      This is pointing towards supporting regular FE/BE client protocol
      in a standalone backend, per discussion a month or so back.
      2f0d43b2
  23. Jan 27, 2004
    • Bruce Momjian's avatar
      Here's the latest win32 signals code, this time in the form of a patch · 50491963
      Bruce Momjian authored
      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
  24. Jan 26, 2004
  25. Jan 08, 2004
  26. Jan 06, 2004
  27. Dec 12, 2003
  28. Nov 29, 2003
    • PostgreSQL Daemon's avatar
      · 969685ad
      PostgreSQL Daemon authored
      $Header: -> $PostgreSQL Changes ...
      969685ad
  29. Nov 12, 2003
    • Tom Lane's avatar
      Cross-data-type comparisons are now indexable by btrees, pursuant to my · fa5c8a05
      Tom Lane authored
      pghackers proposal of 8-Nov.  All the existing cross-type comparison
      operators (int2/int4/int8 and float4/float8) have appropriate support.
      The original proposal of storing the right-hand-side datatype as part of
      the primary key for pg_amop and pg_amproc got modified a bit in the event;
      it is easier to store zero as the 'default' case and only store a nonzero
      when the operator is actually cross-type.  Along the way, remove the
      long-since-defunct bigbox_ops operator class.
      fa5c8a05
    • Bruce Momjian's avatar
      Cleanup for recent .exe Win32 fix. · fec809c5
      Bruce Momjian authored
      fec809c5
  30. Nov 11, 2003
  31. Nov 09, 2003
    • Tom Lane's avatar
      Add operator strategy and comparison-value datatype fields to ScanKey. · c1d62bfd
      Tom Lane authored
      Remove the 'strategy map' code, which was a large amount of mechanism
      that no longer had any use except reverse-mapping from procedure OID to
      strategy number.  Passing the strategy number to the index AM in the
      first place is simpler and faster.
      This is a preliminary step in planned support for cross-datatype index
      operations.  I'm committing it now since the ScanKeyEntryInitialize()
      API change touches quite a lot of files, and I want to commit those
      changes before the tree drifts under me.
      c1d62bfd
  32. Sep 26, 2003
Loading