pgsql: Convert oidvector and int2vector into variable-length arrays.

From: tgl(at)svr1(dot)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Convert oidvector and int2vector into variable-length arrays.
Date: 2005-03-29 00:17:28
Message-ID: 20050329001728.638C953585@svr1.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
Convert oidvector and int2vector into variable-length arrays. This
change saves a great deal of space in pg_proc and its primary index,
and it eliminates the former requirement that INDEX_MAX_KEYS and
FUNC_MAX_ARGS have the same value. INDEX_MAX_KEYS is still embedded
in the on-disk representation (because it affects index tuple header
size), but FUNC_MAX_ARGS is not. I believe it would now be possible
to increase FUNC_MAX_ARGS at little cost, but haven't experimented yet.
There are still a lot of vestigial references to FUNC_MAX_ARGS, which
I will clean up in a separate pass. However, getting rid of it
altogether would require changing the FunctionCallInfoData struct,
and I'm not sure I want to buy into that.

Modified Files:
--------------
pgsql/contrib/dblink:
dblink.c (r1.38 -> r1.39)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/dblink/dblink.c.diff?r1=1.38&r2=1.39)
pgsql/contrib/dbmirror:
pending.c (r1.20 -> r1.21)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/dbmirror/pending.c.diff?r1=1.20&r2=1.21)
pgsql/doc/src/sgml:
catalogs.sgml (r2.97 -> r2.98)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/catalogs.sgml.diff?r1=2.97&r2=2.98)
trigger.sgml (r1.41 -> r1.42)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/trigger.sgml.diff?r1=1.41&r2=1.42)
pgsql/src/backend/access/hash:
hashfunc.c (r1.42 -> r1.43)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/hash/hashfunc.c.diff?r1=1.42&r2=1.43)
pgsql/src/backend/access/index:
genam.c (r1.45 -> r1.46)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/index/genam.c.diff?r1=1.45&r2=1.46)
pgsql/src/backend/access/nbtree:
nbtcompare.c (r1.50 -> r1.51)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtcompare.c.diff?r1=1.50&r2=1.51)
nbtsearch.c (r1.90 -> r1.91)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtsearch.c.diff?r1=1.90&r2=1.91)
pgsql/src/backend/access/rtree:
rtscan.c (r1.57 -> r1.58)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/rtree/rtscan.c.diff?r1=1.57&r2=1.58)
pgsql/src/backend/bootstrap:
bootstrap.c (r1.199 -> r1.200)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/bootstrap/bootstrap.c.diff?r1=1.199&r2=1.200)
pgsql/src/backend/catalog:
genbki.sh (r1.32 -> r1.33)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/genbki.sh.diff?r1=1.32&r2=1.33)
index.c (r1.249 -> r1.250)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/index.c.diff?r1=1.249&r2=1.250)
information_schema.sql (r1.26 -> r1.27)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/information_schema.sql.diff?r1=1.26&r2=1.27)
namespace.c (r1.73 -> r1.74)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/namespace.c.diff?r1=1.73&r2=1.74)
pg_proc.c (r1.123 -> r1.124)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/pg_proc.c.diff?r1=1.123&r2=1.124)
pgsql/src/backend/commands:
aggregatecmds.c (r1.22 -> r1.23)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/aggregatecmds.c.diff?r1=1.22&r2=1.23)
cluster.c (r1.133 -> r1.134)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/cluster.c.diff?r1=1.133&r2=1.134)
functioncmds.c (r1.56 -> r1.57)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/functioncmds.c.diff?r1=1.56&r2=1.57)
opclasscmds.c (r1.29 -> r1.30)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/opclasscmds.c.diff?r1=1.29&r2=1.30)
tablecmds.c (r1.151 -> r1.152)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/tablecmds.c.diff?r1=1.151&r2=1.152)
trigger.c (r1.181 -> r1.182)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/trigger.c.diff?r1=1.181&r2=1.182)
pgsql/src/backend/executor:
execQual.c (r1.174 -> r1.175)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execQual.c.diff?r1=1.174&r2=1.175)
functions.c (r1.93 -> r1.94)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/functions.c.diff?r1=1.93&r2=1.94)
nodeAgg.c (r1.131 -> r1.132)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeAgg.c.diff?r1=1.131&r2=1.132)
pgsql/src/backend/optimizer/util:
clauses.c (r1.190 -> r1.191)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/clauses.c.diff?r1=1.190&r2=1.191)
plancat.c (r1.102 -> r1.103)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/util/plancat.c.diff?r1=1.102&r2=1.103)
pgsql/src/backend/parser:
parse_agg.c (r1.67 -> r1.68)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_agg.c.diff?r1=1.67&r2=1.68)
parse_coerce.c (r2.126 -> r2.127)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/parser/parse_coerce.c.diff?r1=2.126&r2=2.127)
pgsql/src/backend/tcop:
fastpath.c (r1.77 -> r1.78)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/tcop/fastpath.c.diff?r1=1.77&r2=1.78)
pgsql/src/backend/utils/adt:
arrayfuncs.c (r1.117 -> r1.118)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/arrayfuncs.c.diff?r1=1.117&r2=1.118)
format_type.c (r1.39 -> r1.40)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/format_type.c.diff?r1=1.39&r2=1.40)
int.c (r1.65 -> r1.66)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/int.c.diff?r1=1.65&r2=1.66)
oid.c (r1.61 -> r1.62)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/oid.c.diff?r1=1.61&r2=1.62)
regproc.c (r1.92 -> r1.93)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/regproc.c.diff?r1=1.92&r2=1.93)
ruleutils.c (r1.188 -> r1.189)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/ruleutils.c.diff?r1=1.188&r2=1.189)
pgsql/src/backend/utils/cache:
lsyscache.c (r1.120 -> r1.121)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/lsyscache.c.diff?r1=1.120&r2=1.121)
relcache.c (r1.217 -> r1.218)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/relcache.c.diff?r1=1.217&r2=1.218)
syscache.c (r1.96 -> r1.97)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/syscache.c.diff?r1=1.96&r2=1.97)
pgsql/src/backend/utils/fmgr:
fmgr.c (r1.90 -> r1.91)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/fmgr/fmgr.c.diff?r1=1.90&r2=1.91)
pgsql/src/include:
c.h (r1.180 -> r1.181)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/c.h.diff?r1=1.180&r2=1.181)
pgsql/src/include/catalog:
catversion.h (r1.260 -> r1.261)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/catversion.h.diff?r1=1.260&r2=1.261)
indexing.h (r1.84 -> r1.85)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/indexing.h.diff?r1=1.84&r2=1.85)
pg_attribute.h (r1.113 -> r1.114)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_attribute.h.diff?r1=1.113&r2=1.114)
pg_index.h (r1.35 -> r1.36)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_index.h.diff?r1=1.35&r2=1.36)
pg_proc.h (r1.354 -> r1.355)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_proc.h.diff?r1=1.354&r2=1.355)
pg_trigger.h (r1.20 -> r1.21)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_trigger.h.diff?r1=1.20&r2=1.21)
pg_type.h (r1.158 -> r1.159)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_type.h.diff?r1=1.158&r2=1.159)
pgsql/src/include/utils:
array.h (r1.53 -> r1.54)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/array.h.diff?r1=1.53&r2=1.54)
builtins.h (r1.253 -> r1.254)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/builtins.h.diff?r1=1.253&r2=1.254)
lsyscache.h (r1.94 -> r1.95)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/lsyscache.h.diff?r1=1.94&r2=1.95)
rel.h (r1.82 -> r1.83)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/rel.h.diff?r1=1.82&r2=1.83)
syscache.h (r1.58 -> r1.59)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/syscache.h.diff?r1=1.58&r2=1.59)
pgsql/src/pl/plperl:
plperl.c (r1.69 -> r1.70)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plperl/plperl.c.diff?r1=1.69&r2=1.70)
pgsql/src/pl/plpgsql/src:
pl_comp.c (r1.84 -> r1.85)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_comp.c.diff?r1=1.84&r2=1.85)
pl_handler.c (r1.24 -> r1.25)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_handler.c.diff?r1=1.24&r2=1.25)
pgsql/src/pl/plpython:
plpython.c (r1.59 -> r1.60)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpython/plpython.c.diff?r1=1.59&r2=1.60)
pgsql/src/pl/tcl:
pltcl.c (r1.94 -> r1.95)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/tcl/pltcl.c.diff?r1=1.94&r2=1.95)
pgsql/src/test/regress/expected:
opr_sanity.out (r1.56 -> r1.57)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/opr_sanity.out.diff?r1=1.56&r2=1.57)
type_sanity.out (r1.23 -> r1.24)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/type_sanity.out.diff?r1=1.23&r2=1.24)
pgsql/src/test/regress/sql:
opr_sanity.sql (r1.45 -> r1.46)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/opr_sanity.sql.diff?r1=1.45&r2=1.46)
type_sanity.sql (r1.23 -> r1.24)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/type_sanity.sql.diff?r1=1.23&r2=1.24)

Browse pgsql-committers by date

  From Date Subject
Next Message Neil Conway 2005-03-29 02:53:54 pgsql: Add SPI_getnspname(), including documentation.
Previous Message User Dpage 2005-03-28 21:55:30 pginstaller - pginst: Fix JDBC filenames.