Re: Challenges preventing us moving to 64 bit transaction id (XID)?

From: Alexander Korotkov <a(dot)korotkov(at)postgrespro(dot)ru>
To: Ildar Musin <i(dot)musin(at)postgrespro(dot)ru>
Cc: Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, Craig Ringer <craig(at)2ndquadrant(dot)com>, Ashutosh Bapat <ashutosh(dot)bapat(at)enterprisedb(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Tianzhou Chen <tianzhouchen(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Challenges preventing us moving to 64 bit transaction id (XID)?
Date: 2017-09-14 12:48:54
Message-ID: CAPpHfdu1Ycoa8BxxLHPnh7bhgM4BLkXEwU9Xo+C1A9KB0C4B_Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi, Ildar!

On Tue, Sep 5, 2017 at 12:55 PM, Ildar Musin <i(dot)musin(at)postgrespro(dot)ru> wrote:

> On 22.06.2017 18:36, Alexander Korotkov wrote:
>
>> On Wed, Jun 7, 2017 at 11:33 AM, Alexander Korotkov
>> <a(dot)korotkov(at)postgrespro(dot)ru <mailto:a(dot)korotkov(at)postgrespro(dot)ru>> wrote:
>>
>
> 0002-heap-page-special-1.patch
>> Putting xid and multixact bases into PageHeaderData would take extra 16
>> bytes on index pages too. That would be waste of space for indexes.
>> This is why I decided to put bases into special area of heap pages.
>> This patch adds special area for heap pages contaning prune xid and
>> magic number. Magic number is different for regular heap page and
>> sequence page.
>>
>
> We've discussed it earlier but it worth mentioning here too. You have
> pd_prune_xid of type TransactionId which is treated elsewhere as
> ShortTransactionId (see HeapPageGetPruneXid() and HeapPageSetPruneXid())
> and hence introduces redundant 4 bytes. Could you please fix it?

Thank you for pointing.
Updated patchset is attached.

------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company

Attachment Content-Type Size
0001-64bit-guc-relopt-2.patch application/octet-stream 24.9 KB
0002-heap-page-special-2.patch application/octet-stream 20.3 KB
0003-64bit-xid-2.patch application/octet-stream 591.2 KB
0004-base-values-for-testing-2.patch application/octet-stream 16.9 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Stehule 2017-09-14 12:53:37 Re: Re: issue: record or row variable cannot be part of multiple-item INTO list
Previous Message Jesper Pedersen 2017-09-14 12:34:08 Re: Fix performance degradation of contended LWLock on NUMA