Re: old_snapshot_threshold allows heap:toast disagreement
| От | Robert Haas |
|---|---|
| Тема | Re: old_snapshot_threshold allows heap:toast disagreement |
| Дата | |
| Msg-id | CA+TgmoY0UEEtFw9+9v3iLmUSAjtJPT0wpUk=zPcGr8mJ1QNz3g@mail.gmail.com обсуждение исходный текст |
| Ответ на | Re: old_snapshot_threshold allows heap:toast disagreement (Amit Kapila <amit.kapila16@gmail.com>) |
| Ответы |
Re: old_snapshot_threshold allows heap:toast disagreement
|
| Список | pgsql-hackers |
On Sat, Jul 30, 2016 at 8:17 AM, Amit Kapila <amit.kapila16@gmail.com> wrote:
> On Fri, Jul 29, 2016 at 1:10 AM, Robert Haas <robertmhaas@gmail.com> wrote:
>> On Wed, Jul 27, 2016 at 7:26 PM, Andres Freund <andres@anarazel.de> wrote:
>>
>> New version attached.
>
> +static inline void
> +InitToastSnapshot(Snapshot snapshot, XLogRecPtr lsn)
> +{
> + snapshot->satisfies = HeapTupleSatisfiesToast;
> + snapshot->lsn = lsn;
> +}
>
> Here, don't you need to initialize whenTaken as that is also used in
> TestForOldSnapshot_impl() to report error "snapshot too old".
Hmm, yeah. This is actually a bit confusing. We want the "oldest"
snapshot, but there are three different notions of "oldest":
1. Smallest LSN.
2. Smallest whenTaken.
3. Smallest xmin.
Which one do we use?
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
В списке pgsql-hackers по дате отправления: