pgsql: Add a "provariadic" column to pg_proc to eliminate the remarkably - Mailing list pgsql-committers

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Add a "provariadic" column to pg_proc to eliminate the remarkably
Date
Msg-id 20080716165524.80BE3754A84@cvs.postgresql.org
Whole thread Raw
List pgsql-committers
Log Message:
-----------
Add a "provariadic" column to pg_proc to eliminate the remarkably expensive
need to deconstruct proargmodes for each pg_proc entry inspected by
FuncnameGetCandidates().  Fixes function lookup performance regression
caused by yesterday's variadic-functions patch.

In passing, make pg_proc.probin be NULL, rather than a dummy value '-',
in cases where it is not actually used for the particular type of function.
This should buy back some of the space cost of the extra column.

Modified Files:
--------------
    pgsql/doc/src/sgml:
        catalogs.sgml (r2.169 -> r2.170)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/catalogs.sgml?r1=2.169&r2=2.170)
    pgsql/src/backend/catalog:
        namespace.c (r1.108 -> r1.109)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/namespace.c?r1=1.108&r2=1.109)
        pg_aggregate.c (r1.94 -> r1.95)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/pg_aggregate.c?r1=1.94&r2=1.95)
        pg_proc.c (r1.151 -> r1.152)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/pg_proc.c?r1=1.151&r2=1.152)
    pgsql/src/backend/commands:
        functioncmds.c (r1.96 -> r1.97)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/functioncmds.c?r1=1.96&r2=1.97)
    pgsql/src/backend/utils/adt:
        ruleutils.c (r1.276 -> r1.277)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/ruleutils.c?r1=1.276&r2=1.277)
    pgsql/src/backend/utils/fmgr:
        fmgr.c (r1.120 -> r1.121)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/fmgr/fmgr.c?r1=1.120&r2=1.121)
    pgsql/src/bin/pg_dump:
        pg_dump.c (r1.494 -> r1.495)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_dump/pg_dump.c?r1=1.494&r2=1.495)
    pgsql/src/include/catalog:
        catversion.h (r1.469 -> r1.470)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/catversion.h?r1=1.469&r2=1.470)
        pg_attribute.h (r1.138 -> r1.139)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_attribute.h?r1=1.138&r2=1.139)
        pg_class.h (r1.105 -> r1.106)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_class.h?r1=1.105&r2=1.106)
        pg_proc.h (r1.507 -> r1.508)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_proc.h?r1=1.507&r2=1.508)
    pgsql/src/test/regress/expected:
        opr_sanity.out (r1.81 -> r1.82)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/opr_sanity.out?r1=1.81&r2=1.82)
    pgsql/src/test/regress/sql:
        opr_sanity.sql (r1.65 -> r1.66)
        (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/opr_sanity.sql?r1=1.65&r2=1.66)

pgsql-committers by date:

Previous
From: momjian@postgresql.org (Bruce Momjian)
Date:
Subject: pgsql: Allow TRUNCATE foo, foo to succeed, per report from Nikhils.
Next
From: Simon Riggs
Date:
Subject: Re: pgsql: Support "variadic" functions, which can accept a variable number