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!
-- Best regards,
Maxim Orlov.