From: | Peter Geoghegan <pg(at)bowt(dot)ie> |
---|---|
To: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
Cc: | pgsql-committers <pgsql-committers(at)postgresql(dot)org> |
Subject: | Re: pgsql: Fix traversal of half-frozen update chains |
Date: | 2017-10-17 19:23:19 |
Message-ID: | CAH2-Wz=wQKZ9q9XV5FufSrObHgv1Ld18vPBx0_Jw73VZvY4Rag@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers pgsql-hackers |
On Tue, Oct 17, 2017 at 3:40 AM, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> wrote:
> Peter Geoghegan wrote:
>
>> Wouldn't this last "if" test, to cover the pg_upgrade case, be better
>> targeted by comparing *raw* xmin to FrozenTransactionId? You're using
>> the potentially distinct xmin value returned by
>> HeapTupleHeaderGetXmin() for the test here. I think we should be
>> directly targeting tuples frozen on or before 9.4 (prior to
>> pg_upgrade) instead.
>
> I also realized we can stop checking (i.e. don't compare xmin to
> frozenxid) if the XMIN_FROZEN bits are set -- because in that case the
> tuple cannot possibly come from 9.3 frozen. So I think this should do
> it.
>
> (New HeapTupleUpdateXmaxMatchesXmin() implementation)
Yeah, this is what I had in mind, too.
--
Peter Geoghegan
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Geoghegan | 2017-10-17 19:24:58 | Re: pgsql: Fix traversal of half-frozen update chains |
Previous Message | Alvaro Herrera | 2017-10-17 16:52:11 | Re: [COMMITTERS] pgsql: Implement table partitioning. |
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Geoghegan | 2017-10-17 19:24:58 | Re: pgsql: Fix traversal of half-frozen update chains |
Previous Message | Joshua D. Drake | 2017-10-17 18:40:09 | Re: Determine state of cluster (HA) |