Remove bogus comment from HeapTupleSatisfiesNow.
authorRobert Haas <rhaas@postgresql.org>
Wed, 18 Apr 2012 15:50:45 +0000 (11:50 -0400)
committerRobert Haas <rhaas@postgresql.org>
Wed, 18 Apr 2012 15:50:45 +0000 (11:50 -0400)
This has been wrong for a really long time.  We don't use two-phase
locking to protect against serialization anomalies.

Per discussion on pgsql-hackers about 2011-03-07; original report
by Dan Ports.

src/backend/utils/time/tqual.c

index 31791a744f14bf161eb3cf2ec06308b33445ff9c..c1c78c389cb84d99e4324f3ace8000a2341f1fcf 100644 (file)
@@ -323,16 +323,6 @@ HeapTupleSatisfiesSelf(HeapTupleHeader tuple, Snapshot snapshot, Buffer buffer)
  *      (Xmax != my-transaction &&         the row was deleted by another transaction
  *       Xmax is not committed))))         that has not been committed
  *
- *     mao says 17 march 1993:  the tests in this routine are correct;
- *     if you think they're not, you're wrong, and you should think
- *     about it again.  i know, it happened to me.  we don't need to
- *     check commit time against the start time of this transaction
- *     because 2ph locking protects us from doing the wrong thing.
- *     if you mess around here, you'll break serializability.  the only
- *     problem with this code is that it does the wrong thing for system
- *     catalog updates, because the catalogs aren't subject to 2ph, so
- *     the serializability guarantees we provide don't extend to xacts
- *     that do catalog accesses.  this is unfortunate, but not critical.
  */
 bool
 HeapTupleSatisfiesNow(HeapTupleHeader tuple, Snapshot snapshot, Buffer buffer)