Avoid uselessly looking up old LOCK_ONLY multixacts
Commit 0ac5ad5134f2 removed an optimization in multixact.c that skipped
fetching members of MultiXactId that were older than our
OldestVisibleMXactId value. The reason this was removed is that it is
possible for multixacts that contain updates to be older than that
value. However, if the caller is certain that the multi does not
contain an update (because the infomask bits say so), it can pass this
info down to GetMultiXactIdMembers, enabling it to use the old
optimization.
Pointed out by Andres Freund in 20131121200517.GM7240@alap2.anarazel.de
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/05315498012530d44cd89a209242a243374e274d
Modified Files
--------------
contrib/pgrowlocks/pgrowlocks.c | 3 ++-
src/backend/access/heap/heapam.c | 33 +++++++++++++++++++++-----------
src/backend/access/transam/multixact.c | 31 ++++++++++++++++++++++++------
src/backend/utils/time/tqual.c | 16 +++++++++++-----
src/include/access/multixact.h | 4 ++--
5 files changed, 62 insertions(+), 25 deletions(-)