Re: Re: [COMMITTERS] pgsql: Avoid extra locks in GetSnapshotData if old_snapshot_threshold <
От | Amit Kapila |
---|---|
Тема | Re: Re: [COMMITTERS] pgsql: Avoid extra locks in GetSnapshotData if old_snapshot_threshold < |
Дата | |
Msg-id | CAA4eK1JuPpk+ShSfabtGjBBdXOA05+GCbsrq=eUy0Y92a_JQQQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Re: [COMMITTERS] pgsql: Avoid extra locks in GetSnapshotData if old_snapshot_threshold < (Andres Freund <andres@anarazel.de>) |
Ответы |
Re: Re: [COMMITTERS] pgsql: Avoid extra locks in GetSnapshotData if old_snapshot_threshold <
|
Список | pgsql-hackers |
On Wed, Jul 20, 2016 at 5:02 AM, Andres Freund <andres@anarazel.de> wrote: > On 2016-07-19 18:09:59 -0500, Kevin Grittner wrote: >> As far as I can see, to do this the way that Andres and Amit >> suggest involves tying in to indexam.c and other code in incredibly >> ugly ways. > > Could you explain the problem you're seing? > > Isn't pretty much all all that we need to do: > 1) add a InitSnapshotToast(Snapshot originMVCCSnap), which sets SnapshotData->lsn > to the the origin snapshot's lsn > 2) adapt TestForOldSnapshot() to accept both HeapTupleSatisfiesMVCC and > HeapTupleSatisfiesToast? > I also think so. However, it is not clear what is the best place to initialize toast snapshot. One idea could be to do it in GetSnapshotData() after capturing the required information for the valid value of old_snapshot_threshold. Do you have something else in mind? -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: