pgsql: Avoid O(N^2) overhead in repeated nocachegetattr calls when

From: tgl(at)svr1(dot)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Avoid O(N^2) overhead in repeated nocachegetattr calls when
Date: 2005-03-14 04:41:13
Message-ID: 20050314044113.75BEE5675F@svr1.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
Avoid O(N^2) overhead in repeated nocachegetattr calls when columns of
a tuple are being accessed via ExecEvalVar and the attcacheoff shortcut
isn't usable (due to nulls and/or varlena columns). To do this, cache
Datums extracted from a tuple in the associated TupleTableSlot.
Also some code cleanup in and around the TupleTable handling.
Atsushi Ogawa with some kibitzing by Tom Lane.

Modified Files:
--------------
pgsql/src/backend/access/common:
heaptuple.c (r1.96 -> r1.97)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/common/heaptuple.c.diff?r1=1.96&r2=1.97)
pgsql/src/backend/access/heap:
tuptoaster.c (r1.47 -> r1.48)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/tuptoaster.c.diff?r1=1.47&r2=1.48)
pgsql/src/backend/executor:
execJunk.c (r1.46 -> r1.47)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execJunk.c.diff?r1=1.46&r2=1.47)
execQual.c (r1.171 -> r1.172)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execQual.c.diff?r1=1.171&r2=1.172)
execTuples.c (r1.83 -> r1.84)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execTuples.c.diff?r1=1.83&r2=1.84)
pgsql/src/include/access:
heapam.h (r1.94 -> r1.95)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/heapam.h.diff?r1=1.94&r2=1.95)
pgsql/src/include/executor:
executor.h (r1.115 -> r1.116)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/executor.h.diff?r1=1.115&r2=1.116)
tuptable.h (r1.26 -> r1.27)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/executor/tuptable.h.diff?r1=1.26&r2=1.27)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2005-03-14 06:19:02 pgsql: Note that the -F and -R command line options only affect
Previous Message Bruce Momjian 2005-03-14 03:59:23 pgsql: Document client-only encodings.