Re: Transaction Snapshot Cloning

From: "Florian G(dot) Pflug" <fgp(at)phlo(dot)org>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Chris Browne <cbbrowne(at)acm(dot)org>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Transaction Snapshot Cloning
Date: 2008-01-16 16:07:04
Message-ID: 478E2BA8.8060004@phlo.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Tom Lane wrote:
> Chris Browne <cbbrowne(at)acm(dot)org> writes:
>> Note that we required that the "provider transaction" have the
>> attributes IsXactIsoLevelSerializable and XactReadOnly both being
>> true, so we have the mandates that the resultant backend process:
>
>> a) Is in read only mode, and
>> b) Is in serializable mode.
>
> If XactReadOnly were a "hard" read only constraint, that argument
> might be worth the electrons it's written on. I quote TFM:
>
> Now I think someone was looking into a "hard" read only mode for
> use in doing read-only queries against a PITR slave; if that
> ever happens it might be adaptable to serve this purpose too.
> But we haven't got it today.

That would haven been me then ;-)

I think that lazy xid assignment actually got us 90% of the way towards
a "hard" transaction read-only constraint - nearly all data-modfying
operation surely depend on the xact having an xid assigned, no? (The
only exception might be nextval() and friends).

I seem to remember there being some pushback to the idea of changing the
semantics of "set transaction isolation read only" from "soft" to "hard"
semantics though - on the basis that it might break existing
applications. If that has changed (or my memory tricks me ;-) ) I'd
volunteer to create a patch for 8.4 to make "set transaction read only"
a hard constraint.

regards, Florian Pflug

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Roberts, Jon 2008-01-16 16:17:39 Re: Password policy
Previous Message D'Arcy J.M. Cain 2008-01-16 15:39:21 Re: Password policy