Re: AtEOXact_Snapshot timing

2019-11-13 Thread Robert Haas
On Mon, Nov 11, 2019 at 2:12 PM Andres Freund wrote: > Hm. I feel like there's plenty reasons to get a snapshot in extensions - > there's plenty APIs one cannot really call without doing so? Sure, I don't disagree with that. > What I'm > worried about is not primarily that GetSnapshotData() is b

Re: AtEOXact_Snapshot timing

2019-11-11 Thread Andres Freund
Hi, On 2019-09-06 10:25:22 -0400, Robert Haas wrote: > On Thu, Sep 5, 2019 at 5:32 PM Andres Freund wrote: > > On 2019-09-05 14:50:50 -0400, Robert Haas wrote: > > > The best way that I've been able to come up with to enforce this rule > > > after a little bit of thought is to add Assert(IsTransa

Re: AtEOXact_Snapshot timing

2019-09-06 Thread Robert Haas
On Thu, Sep 5, 2019 at 5:32 PM Andres Freund wrote: > On 2019-09-05 14:50:50 -0400, Robert Haas wrote: > > The best way that I've been able to come up with to enforce this rule > > after a little bit of thought is to add Assert(IsTransactionState()) > > to a bunch of functions in snapmgr.c, most n

Re: AtEOXact_Snapshot timing

2019-09-05 Thread Andres Freund
Hi, On 2019-09-05 14:50:50 -0400, Robert Haas wrote: > The best way that I've been able to come up with to enforce this rule > after a little bit of thought is to add Assert(IsTransactionState()) > to a bunch of functions in snapmgr.c, most notably > GetTransactionSnapshot and GetCatalogSnapshot.

AtEOXact_Snapshot timing

2019-09-05 Thread Robert Haas
Way back in 2011, commit 57eb009092684e6e1788dd0dae641ccee1668b10 moved AbortTransaction's AtEOXact_Snapshot call to CleanupTransaction to fix a problem when a ROLLBACK statement was prepared at the protocol level and executed in a transaction with REPEATABLE READ or higher isolation. RevalidateCac