Re: Strange Behavior with Serializable Transcations - Mailing list pgsql-general

From Qingqing Zhou
Subject Re: Strange Behavior with Serializable Transcations
Date
Msg-id e82190$1jpk$1@news.hub.org
Whole thread Raw
In response to Strange Behavior with Serializable Transcations  (Brad Nicholson <bnichols@ca.afilias.info>)
Responses Re: Strange Behavior with Serializable Transcations
List pgsql-general
"Tom Lane" <tgl@sss.pgh.pa.us> wrote
>
> Right, the snapshot does not become set until you do a non-utility
> command (normally, SELECT/INSERT/UPDATE/DELETE).  This is a feature, not
> a bug, because it lets the transaction take table locks before its
> snapshot becomes set.
>

Hm, mostly I understand it as an optimization. What do you mean by "it lets
the transaction take table locks before its snapshot becomes set"?  If we
take a snapshot at BEGIN, then the transaction can't take table locks?

test=# begin;select count(*) from k;
BEGIN
 count
-------
  9999
(1 row)

test=# lock table k;
LOCK TABLE

Regards,
Qingqing



pgsql-general by date:

Previous
From: Tim Hart
Date:
Subject: Re: User privileges in web database applications
Next
From: Tom Lane
Date:
Subject: Re: Strange Behavior with Serializable Transcations