Re: Snapshot synchronization, again...

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Kevin Grittner <kevin(dot)grittner(at)wicourts(dot)gov>, Joachim Wieland <joe(at)mcknight(dot)de>, Noah Misch <noah(at)leadboat(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Snapshot synchronization, again...
Date: 2011-02-22 00:19:54
Message-ID: 1298333744-sup-4262@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Excerpts from Tom Lane's message of lun feb 21 21:00:19 -0300 2011:
> Alvaro Herrera <alvherre(at)commandprompt(dot)com> writes:
> > Actually this seems rather difficult to do, because in order to invoke
> > the function that imports the snapshot, you have to call SELECT, which
> > acquires a snapshot beforehand. So when we actually import the
> > passed-in snapshot, there's already a snapshot set. This is odious but
> > I don't see a way around that -- other than adding special grammar
> > support which seems overkill.
>
> No, I don't think it is. The alternative is semantics that are
> at least exceedingly ugly, and very possibly flat-out broken.
> To take just one point, you have no way at all of preventing the
> transaction from having done something else using its original
> snapshot.

That's true too. So let's discuss the syntax. Maybe
START TRANSACTION SNAPSHOT '\xdeadbeef';

This kind of extension seems ugly though; maybe we should consider
START TRANSACTION (snapshot='\xdeadbeef');
(like VACUUM, EXPLAIN and COPY) or some such?

I don't think we need another "top-level" command for this.

--
Álvaro Herrera <alvherre(at)commandprompt(dot)com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2011-02-22 00:39:40 Re: Snapshot synchronization, again...
Previous Message Tom Lane 2011-02-22 00:00:19 Re: Snapshot synchronization, again...