Hi! As were discussed in [0] our overall goal is to make Postgres 64 bit XIDs. It's obvious, that such a big patch set couldn't possible to commit "at once". SLUR patch set [1] was committed a short while ago as a first significant step in this direction.
This thread is a next step in this enterprise. My objective here is to commit some changes, which were mandatory, as far as I understand, for any type of 64 XIDs implementation. And I'm sure there will be points for discussion here. My original intention was to make PGPROC->xmin, PGPROC->xid and PROC_HDR->xids 64bit. But in reality, it turned out to be much more difficult than I expected. On the one hand, the patch became too big and on the other hand, it's heavily relayed on epoch and XID "adjustment" to FXID. Therefore, for now, I decided to limit myself to more atomic and independent changes. However, as I said above, these changes are required for any implementation of 64bit XIDs. So, PFA patches to make switch PGPROC->xid and XLogRecord->xl_xid to FullTransactionId. As always, any opinions are very welcome! [0] https://www.postgresql.org/message-id/CACG=ezZe1NQSCnfHOr78AtAZxJZeCvxrts0ygrxYwe=pyyj...@mail.gmail.com [1] https://www.postgresql.org/message-id/flat/CAJ7c6TPDOYBYrnCAeyndkBktO0WG2xSdYduTF0nxq%2BvfkmTF5Q%40mail.gmail.com -- Best regards, Maxim Orlov.
v1-0002-Switch-to-FullTransactionId-for-XLogRecord-xl_xid.patch
Description: Binary data
v1-0001-Switch-to-FullTransactionId-for-PGPROC-xid.patch
Description: Binary data