Thread: pgsql: Fix TransactionIdIsCurrentTransactionId() to use binary search

pgsql: Fix TransactionIdIsCurrentTransactionId() to use binary search

From
tgl@postgresql.org (Tom Lane)
Date:
Log Message:
-----------
Fix TransactionIdIsCurrentTransactionId() to use binary search instead of
linear search when checking child-transaction XIDs.  This makes for an
important speedup in transactions that have large numbers of children,
as in a recent example from Craig Ringer.  We can also get rid of an
ugly kluge that represented lists of TransactionIds as lists of OIDs.

Heikki Linnakangas

Modified Files:
--------------
    pgsql/src/backend/access/transam:
        twophase.c (r1.39 -> r1.40)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/twophase.c?r1=1.39&r2=1.40)
        xact.c (r1.258 -> r1.259)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/xact.c?r1=1.258&r2=1.259)
    pgsql/src/include/nodes:
        pg_list.h (r1.57 -> r1.58)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/nodes/pg_list.h?r1=1.57&r2=1.58)