pgsql: Avoid uselessly looking up old LOCK_ONLY multixacts

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Avoid uselessly looking up old LOCK_ONLY multixacts
Date: 2014-07-29 19:44:42
Message-ID: E1XCDKE-0003Ll-EM@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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(dot)GM7240(at)alap2(dot)anarazel(dot)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(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Bruce Momjian 2014-07-30 02:09:21 pgsql: pg_upgrade: improve C comment wording
Previous Message Heikki Linnakangas 2014-07-29 14:27:19 Re: pgsql: Treat 2PC commit/abort the same as regular xacts in recovery.