Hi. > All accesses are validated with asserts certainly.
Maybe I am missing something, but the extra asserts and wrapper functions being proposed seem unnecessary for this purpose. We know the total number of procs, so we just need to make this available to all code paths that need to index by pgprocno. If that calculation ever changes, code like multixact.c will not need to care. This can be done, as mentioned earlier, by defining the total number of procs in proc.h, which can then be used by both multixact.c and InitProcGlobal. ``` #define TOTAL_PROCS (MaxBackends + NUM_AUXILIARY_PROCS + max_prepared_xacts) ``` and to calculate where the prepared transaction procs start: ``` PreparedXactProcs = &procs[TOTAL_PROCS - max_prepared_xacts]; ``` What do you think? With regards to v3, I got a compilation warning that `GetOldestVisibleMXactId` is an unused function. -- Sami Imseih Amazon Web Services (AWS)
