1. 26 11月, 2005 1 次提交
    • T
      Change seqscan logic so that we check visibility of all tuples on a page · 70f1482d
      Tom Lane 提交于
      when we first read the page, rather than checking them one at a time.
      This allows us to take and release the buffer content lock just once
      per page, instead of once per tuple.  Since it's a shared lock the
      contention penalty for holding the lock longer shouldn't be too bad.
      We can safely do this only when using an MVCC snapshot; else the
      assumption that visibility won't change over time is uncool.  Therefore
      there are now two code paths depending on the snapshot type.  I also
      made the same change in nodeBitmapHeapscan.c, where it can be done always
      because we only support MVCC snapshots for bitmap scans anyway.
      Also make some incidental cleanups in the APIs of these functions.
      Per a suggestion from Qingqing Zhou.
      70f1482d
  2. 15 10月, 2005 1 次提交
  3. 20 8月, 2005 1 次提交
    • T
      Repair problems with VACUUM destroying t_ctid chains too soon, and with · f57e3f4c
      Tom Lane 提交于
      insufficient paranoia in code that follows t_ctid links.  (We must do both
      because even with VACUUM doing it properly, the intermediate state with
      a dangling t_ctid link is visible concurrently during lazy VACUUM, and
      could be seen afterwards if either type of VACUUM crashes partway through.)
      Also try to improve documentation about what's going on.  Patch is a bit
      bulky because passing the XMAX information around required changing the
      APIs of some low-level heapam.c routines, but it's not conceptually very
      complicated.  Per trouble report from Teodor and subsequent analysis.
      This needs to be back-patched, but I'll do that after 8.1 beta is out.
      f57e3f4c
  4. 20 5月, 2005 1 次提交
  5. 21 3月, 2005 1 次提交
  6. 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
  7. 16 10月, 2004 1 次提交
  8. 17 9月, 2004 1 次提交
  9. 14 9月, 2004 1 次提交
    • T
      Redesign query-snapshot timing so that volatile functions in READ COMMITTED · b2c40712
      Tom Lane 提交于
      mode see a fresh snapshot for each command in the function, rather than
      using the latest interactive command's snapshot.  Also, suppress fresh
      snapshots as well as CommandCounterIncrement inside STABLE and IMMUTABLE
      functions, instead using the snapshot taken for the most closely nested
      regular query.  (This behavior is only sane for read-only functions, so
      the patch also enforces that such functions contain only SELECT commands.)
      As per my proposal of 6-Sep-2004; I note that I floated essentially the
      same proposal on 19-Jun-2002, but that discussion tailed off without any
      action.  Since 8.0 seems like the right place to be taking possibly
      nontrivial backwards compatibility hits, let's get it done now.
      b2c40712
  10. 12 9月, 2004 1 次提交
    • T
      Renumber SnapshotNow and the other special snapshot codes so that · 493f7260
      Tom Lane 提交于
      ((Snapshot) NULL) can no longer be confused with a valid snapshot,
      as per my recent suggestion.  Define a macro InvalidSnapshot for 0.
      Use InvalidSnapshot instead of SnapshotAny as the do-nothing special
      case for heap_update and heap_delete crosschecks; this seems a little
      cleaner even though the behavior is really the same.
      493f7260
  11. 29 8月, 2004 1 次提交
  12. 30 11月, 2003 1 次提交
    • P
      · 55b11325
      PostgreSQL Daemon 提交于
      make sure the $Id tags are converted to $PostgreSQL as well ...
      55b11325
  13. 02 10月, 2003 1 次提交
    • T
      Repair RI trigger visibility problems (this time for sure ;-)) per recent · 55d85f42
      Tom Lane 提交于
      discussion on pgsql-hackers: in READ COMMITTED mode we just have to force
      a QuerySnapshot update in the trigger, but in SERIALIZABLE mode we have
      to run the scan under a current snapshot and then complain if any rows
      would be updated/deleted that are not visible in the transaction snapshot.
      55d85f42
  14. 26 9月, 2003 1 次提交
  15. 04 8月, 2003 1 次提交
  16. 12 6月, 2003 1 次提交
  17. 24 2月, 2003 1 次提交
  18. 05 9月, 2002 1 次提交
  19. 21 6月, 2002 1 次提交
  20. 25 5月, 2002 1 次提交
    • T
      Mark index entries "killed" when they are no longer visible to any · 3f4d4880
      Tom Lane 提交于
      transaction, so as to avoid returning them out of the index AM.  Saves
      repeated heap_fetch operations on frequently-updated rows.  Also detect
      queries on unique keys (equality to all columns of a unique index), and
      don't bother continuing scan once we have found first match.
      
      Killing is implemented in the btree and hash AMs, but not yet in rtree
      or gist, because there isn't an equally convenient place to do it in
      those AMs (the outer amgetnext routine can't do it without re-pinning
      the index page).
      
      Did some small cleanup on APIs of HeapTupleSatisfies, heap_fetch, and
      index_insert to make this a little easier.
      3f4d4880
  21. 22 5月, 2002 2 次提交
    • T
      Since COPY fires triggers, it seems like a good idea for it to use · 6c6f395a
      Tom Lane 提交于
      a frozen (copied) snapshot too.  Move execMain's snapshot copying code
      out into a subroutine in case we find other places that need it.
      6c6f395a
    • T
      Remove global variable scanCommandId in favor of storing a command ID · 959e61e9
      Tom Lane 提交于
      in snapshots, per my proposal of a few days ago.  Also, tweak heapam.c
      routines (heap_insert, heap_update, heap_delete, heap_mark4update) to
      be passed the command ID to use, instead of doing GetCurrentCommandID.
      For catalog updates they'll still get passed current command ID, but
      for updates generated from the main executor they'll get passed the
      command ID saved in the snapshot the query is using.  This should fix
      some corner cases associated with functions and triggers that advance
      current command ID while an outer query is still in progress.
      959e61e9
  22. 17 1月, 2002 1 次提交
    • T
      TOAST needs to do at least minimal time-qual checking in order not to · cf97080f
      Tom Lane 提交于
      mess up after an aborted VACUUM FULL, per today's pghackers discussion.
      Add a suitable HeapTupleSatisfiesToast routine.  Remove useless special-
      case test in HeapTupleSatisfiesVisibility macro for xmax =
      BootstrapTransactionId; perhaps that was needed at one time, but it's
      a waste of cycles now, not to mention actively wrong for SnapshotAny.
      Along the way, add some much-needed comments to tqual.c, and simplify
      toast_fetch_datum, which no longer needs to assume it may see chunks
      out-of-order.
      cf97080f
  23. 06 11月, 2001 1 次提交
  24. 28 10月, 2001 1 次提交
  25. 25 10月, 2001 1 次提交
  26. 27 8月, 2001 1 次提交
  27. 24 8月, 2001 1 次提交
  28. 12 7月, 2001 1 次提交
  29. 19 6月, 2001 1 次提交
    • B
      The attached patch enables the contrib subtree to build cleanly under · 558fae16
      Bruce Momjian 提交于
      Cygwin with the possible exception of mSQL-interface.  Since I don't
      have mSQL installed, I skipped this tool.
      
      Except for dealing with a missing getopt.h (oid2name) and HUGE (seg),
      the bulk of the patch uses the standard PostgreSQL approach to deal with
      Windows DLL issues.
      
      I tested the build aspect of this patch under Cygwin and Linux without
      any ill affects.  Note that I did not actually attempt to test the code
      for functionality.
      
      The procedure to apply the patch is as follows:
      
          $ # save the attachment as /tmp/contrib.patch
          $ # change directory to the top of the PostgreSQL source tree
          $ patch -p0 </tmp/contrib.patch
      
      Jason
      558fae16
  30. 25 1月, 2001 1 次提交
  31. 13 4月, 2000 1 次提交
  32. 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
  33. 18 1月, 2000 1 次提交
  34. 10 12月, 1999 1 次提交
  35. 30 9月, 1999 1 次提交
    • J
      This is part #1 for of the DEFERRED CONSTRAINT TRIGGER support. · 1547ee01
      Jan Wieck 提交于
      Implements the CREATE CONSTRAINT TRIGGER and SET CONSTRAINTS commands.
      
      TODO:
          Generic builtin trigger procedures
          Automatic execution of appropriate CREATE CONSTRAINT... at CREATE TABLE
          Support of new trigger type in pg_dump
          Swapping of huge # of events to disk
      
      Jan
      1547ee01
  36. 16 7月, 1999 1 次提交
  37. 15 7月, 1999 1 次提交
  38. 26 5月, 1999 2 次提交