"Kevin Grittner" <Kevin.Grittner@wicourts.gov> wrote:
> If the intent is that each serializable transaction sharing
> the snapshot is a separate logical transaction, it *might* hold --
I think the rules have to be that the snapshot provided to a
serializable transaction must be provided by an active serializable
transaction. That prevents the serializable global xmin from moving
backwards; which is not allowed except during recovery processing of
prepared transactions. Each transaction using the snapshot is a
logically separate transaction -- they just have a shared view of
the state of the data.
> If the intent is that the work of one logical transaction is being
> split across processes, then SSI doesn't hold up without somehow
> tying all of the processes to a single SERIALIZABLEXACT; and then
> the direct access to MySerializableXact falls apart.
Except, as discussed on a separate, concurrent thread, that a READ
ONLY transaction might find its snapshot to be safe -- at which
point it no longer uses a SERIALIZABLEXACT.
-Kevin