Re: a slightly stale comment

From: Simon Riggs <simon(at)2ndQuadrant(dot)com>
To: Dan Ports <drkp(at)csail(dot)mit(dot)edu>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: a slightly stale comment
Date: 2012-03-07 07:46:32
Message-ID: CA+U5nMKjh18rCSkac5Uyr4ZLWUMHG-PO50OZtHJys_3gxKvSuA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Mar 7, 2012 at 2:05 AM, Dan Ports <drkp(at)csail(dot)mit(dot)edu> wrote:
> While mucking around in src/backend/utils/time/tqual.c today, I noticed
> the following comment attached to HeapTupleSatisfiesNow:
>
>  *      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.
>
> Much as I hate to disturb a comment just before its 19th birthday, the
> bit about two-phase locking and serializability hasn't been correct
> since around 1999 (when MVCC was added). :-)

There is much wisdom there and much wisdom in leaving ancient warnings
as we find them.

Are these the words you object to?

"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."

--
 Simon Riggs                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Simon Riggs 2012-03-07 08:15:03 Re: elegant and effective way for running jobs inside a database
Previous Message Fujii Masao 2012-03-07 07:07:37 Re: Scaling XLog insertion (was Re: Moving more work outside WALInsertLock)