Re: Add 64-bit XIDs into PostgreSQL 15

From: Maxim Orlov <orlovmg(at)gmail(dot)com>
To: Zhang Mingli <zmlpostgres(at)gmail(dot)com>
Cc: Michael Paquier <michael(at)paquier(dot)xyz>, Justin Pryzby <pryzby(at)telsasoft(dot)com>, Dilip Kumar <dilipbalaut(at)gmail(dot)com>, Pavel Borisov <pashkin(dot)elfe(at)gmail(dot)com>, Aleksander Alekseev <aleksander(at)timescale(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org, Stephen Frost <sfrost(at)snowman(dot)net>, Alexander Korotkov <aekorotkov(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Ilya Anfimov <ilan(at)tzirechnoy(dot)com>
Subject: Re: Add 64-bit XIDs into PostgreSQL 15
Date: 2022-11-03 08:11:33
Message-ID: CACG=ezaR-b=oHriU5y0NH5B7TrOjy_kb3N_3aQv=PcHeToREPw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi!

I attach an additional V48-0009 patch as they are just comments, apply it
> if you want to.
>
Big thank you for your review. I've applied your addition in the recent
patch set below.

Besides, mentioned above, next changes are made:
- rename HeapTupleCopyBaseFromPage to HeapTupleCopyXidsFromPage, since this
old name came from the time when еру "t_xid_base" was stored in tuple,
and not correspond to recent state of the code;
- replace ToastTupleHeader* calls with HeapHeader* with the "is_toast"
argument. This reduces diff and make the code more readable;
- put HeapTupleSetZeroXids calls in several places for the sake of
redundancy;
- in heap_tuple_would_freeze add case to reset xmax without reading clog;
- rename SeqTupleHeaderSetXmax/Xmin to SeqTupleSetXmax/min and refactoring
of the function; Now it will set HeapTuple and HeapTupleHeader xmax;
- add case of int64 values in check_GUC_init;
- massive refactoring in htup_details.h to use inline functions with type
control over macro;
- reorder code in htup_details.h to reduce overall diff.

As always, reviews and opinions are very welcome!

--
Best regards,
Maxim Orlov.

Attachment Content-Type Size
v49-0004-Use-64-bit-pages-representation-in-SLRU-callers.patch application/octet-stream 23.7 KB
v49-0001-Use-64-bit-numbering-of-SLRU-pages.patch application/octet-stream 24.5 KB
v49-0005-Add-initdb-option-to-initialize-cluster-with-non.patch application/octet-stream 24.4 KB
v49-0002-Use-64-bit-format-to-output-XIDs.patch application/octet-stream 123.1 KB
v49-0003-Use-64-bit-FullTransactionId-instead-of-Epoch-xi.patch application/octet-stream 18.8 KB
v49-0006-README.XID64.patch application/octet-stream 7.2 KB
v49-0007-Use-64-bit-GUCs.patch application/octet-stream 25.7 KB
v49-0008-Use-64-bit-XIDs.patch application/octet-stream 755.6 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Maxim Orlov 2022-11-03 08:15:43 Re: XID formatting and SLRU refactorings (was: Add 64-bit XIDs into PostgreSQL 15)
Previous Message Ian Lawrence Barwick 2022-11-03 07:51:13 Re: XID formatting and SLRU refactorings (was: Add 64-bit XIDs into PostgreSQL 15)