Using MyDatabaseId in SET_LOCKTAG_APPLY_TRANSACTION - Mailing list pgsql-hackers

From Maxim Orlov
Subject Using MyDatabaseId in SET_LOCKTAG_APPLY_TRANSACTION
Date
Msg-id CACG=ezYRM-qKnQdYvt+M-AiW7ziwBF54r4MKmFQj5o0TnRtniA@mail.gmail.com
Whole thread Raw
List pgsql-hackers
Hi!

While working on a patch to implement 64-bit transaction IDs in
PostgreSQL, I ran into a small problem. The
LockApplyTransactionForSession/UnlockApplyTransactionForSession
functions utilize the SET_LOCKTAG_APPLY_TRANSACTION macro, which
assumes XIDs are 32-bits.

In my case, the transaction IDs are growing twice as large, and we don't
have enough space to store them. I could simply resize the LOCKTAG
structure, extending it by 32 bits, but this is not the best solution.

However, I noticed that the MyDatabaseId field in
SET_LOCKTAG_APPLY_TRANSACTION appears unnecessary. As far as I
understand, the suboid should already uniquely identify the
subscription. Is the MyDatabaseId field truly necessary? Will only the
suboid suffice? I would be pleased to hear your thoughts on this.

--
Best regards,
Maxim Orlov.

pgsql-hackers by date:

Previous
From: Álvaro Herrera
Date:
Subject: weird ON CONFLICT clauses
Next
From: Peter Geoghegan
Date:
Subject: Re: weird ON CONFLICT clauses