At Thu, 17 Mar 2022 19:25:00 +0300, Maxim Orlov <orlo...@gmail.com> wrote in > Hi! > > Here is the v20 patch. 0001 and 0002 are proposed into PG15 as > discussed above. > The whole set of patches is added into [1] to be committed into PG16. > > In this version we've made a major revision related to printf/elog format > compatible with localization > as was proposed above. > > We also think of adding 0003 patch related to 64 bit GUC's into this > thread. Suppose it also may be delivered > into PG15. > > Aleksander Alekseev, we've done this major revision mentioned above and you > are free to continue working on this patch set. > > Reviews and proposals are very welcome!
(I'm afraid that this thread is not for the discussion of the patch?:) > [1] > https://www.postgresql.org/message-id/flat/CACG%3DezZe1NQSCnfHOr78AtAZxJZeCvxrts0ygrxYwe%3DpyyjVWA%40mail.gmail.com +/* printf/elog format compatible with 32 and 64 bit xid. */ +typedef unsigned long long XID_TYPE; ... + errmsg_internal("found multixact %llu from before relminmxid %llu", + (XID_TYPE) multi, (XID_TYPE) relminmxid))); "(XID_TYPE) x" is actually equivalent to "(long long) x" here, but the point here is "%llu in format string accepts (long long)" so we should use literally (or bare) (long long) and the maybe-all precedents does that. And.. You looks like applying the change to some inappropriate places? - elog(DEBUG2, "deleted page from block %u has safexid %u", - blkno, opaque->btpo_level); + elog(DEBUG2, "deleted page from block %u has safexid %llu", + blkno, (XID_TYPE) opaque->btpo_level); regards. -- Kyotaro Horiguchi NTT Open Source Software Center