Tom Lane wrote:
> The proposed behavior of txid_current_snapshot would defeat any possibility
> of such an optimization, because we'd have to keep around the xact's oldest
> snapshot on the off chance that txid_current_snapshot would be called later
> in the xact.
>
> I think txid_current_snapshot should read ActiveSnapshot. If the user wants
> to get a beginning-of-xact rather than beginning-of-statement snapshot from
> it, he should be required to call it in a serializable transaction.
Hm... does txid require that the snapshot it uses a valid in the sense that
its xmin follows OldestXmin? If not, we could keep the snapshot around for txid,
but still update our published xmin - which seems to be the main reason we care
about getting rid of old snapshots at all.
greetings, Florian Pflug