Skip site navigation (1) Skip section navigation (2)

pgsql-server: Resurrect heap_deformtuple(), this time implemented as a

From: tgl(at)svr1(dot)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql-server: Resurrect heap_deformtuple(), this time implemented as a
Date: 2004-06-04 20:35:21
Message-ID: 20040604203521.0B46BD1B3D9@svr1.postgresql.org (view raw or flat)
Thread:
Lists: pgsql-committers
Log Message:
-----------
Resurrect heap_deformtuple(), this time implemented as a singly nested
loop over the fields instead of a loop around heap_getattr.  This is
considerably faster (O(N) instead of O(N^2)) when there are nulls or
varlena fields, since those prevent use of attcacheoff.  Replace loops
over heap_getattr with heap_deformtuple in situations where all or most
of the fields have to be fetched, such as printtup and tuptoaster.
Profiling done more than a year ago shows that this should be a nice
win for situations involving many-column tables.

Modified Files:
--------------
    pgsql-server/src/backend/access/common:
        heaptuple.c (r1.90 -> r1.91)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/access/common/heaptuple.c.diff?r1=1.90&r2=1.91)
        printtup.c (r1.81 -> r1.82)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/access/common/printtup.c.diff?r1=1.81&r2=1.82)
    pgsql-server/src/backend/access/heap:
        tuptoaster.c (r1.41 -> r1.42)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/access/heap/tuptoaster.c.diff?r1=1.41&r2=1.42)
    pgsql-server/src/backend/commands:
        tablecmds.c (r1.109 -> r1.110)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/tablecmds.c.diff?r1=1.109&r2=1.110)
        typecmds.c (r1.57 -> r1.58)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/commands/typecmds.c.diff?r1=1.57&r2=1.58)
    pgsql-server/src/backend/executor:
        execJunk.c (r1.40 -> r1.41)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/executor/execJunk.c.diff?r1=1.40&r2=1.41)
        spi.c (r1.115 -> r1.116)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/executor/spi.c.diff?r1=1.115&r2=1.116)
    pgsql-server/src/include/access:
        heapam.h (r1.89 -> r1.90)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/include/access/heapam.h.diff?r1=1.89&r2=1.90)

pgsql-committers by date

Next:From: Tom LaneDate: 2004-06-05 01:55:06
Subject: pgsql-server: Make the world very nearly safe for composite-type columns
Previous:From: Bruce MomjianDate: 2004-06-04 13:30:08
Subject: pgsql-server: The attached patch will create a dummy pg_config_paths.h.

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group