Convert oidvector and int2vector into variable-length arrays. This

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 70c9763d4815ac847f0f7694f43eb6a59a236868
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2005-03-29T00:17:27Z
Releases: 8.1.0
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.

Files

PathChange+/−
contrib/dblink/dblink.c modified +22 −25
contrib/dbmirror/pending.c modified +6 −10
doc/src/sgml/catalogs.sgml modified +27 −28
doc/src/sgml/trigger.sgml modified +3 −2
src/backend/access/hash/hashfunc.c modified +5 −5
src/backend/access/index/genam.c modified +2 −2
src/backend/access/nbtree/nbtcompare.c modified +10 −6
src/backend/access/nbtree/nbtsearch.c modified +2 −2
src/backend/access/rtree/rtscan.c modified +2 −2
src/backend/bootstrap/bootstrap.c modified +17 −9
src/backend/catalog/genbki.sh modified +1 −24
src/backend/catalog/index.c modified +11 −13
src/backend/catalog/information_schema.sql modified +61 −45
src/backend/catalog/namespace.c modified +22 −22
src/backend/catalog/pg_proc.c modified +21 −22
src/backend/commands/aggregatecmds.c modified +6 −6
src/backend/commands/cluster.c modified +2 −2
src/backend/commands/functioncmds.c modified +11 −11
src/backend/commands/opclasscmds.c modified +4 −4
src/backend/commands/tablecmds.c modified +31 −11
src/backend/commands/trigger.c modified +35 −12
src/backend/executor/execQual.c modified +11 −3
src/backend/executor/functions.c modified +2 −2
src/backend/executor/nodeAgg.c modified +4 −3
src/backend/optimizer/util/clauses.c modified +23 −20
src/backend/optimizer/util/plancat.c modified +3 −3
src/backend/parser/parse_agg.c modified +3 −4
src/backend/parser/parse_coerce.c modified +15 −9
src/backend/tcop/fastpath.c modified +7 −2
src/backend/utils/adt/arrayfuncs.c modified +2 −2
src/backend/utils/adt/format_type.c modified +9 −18
src/backend/utils/adt/int.c modified +70 −35
src/backend/utils/adt/oid.c modified +82 −72
src/backend/utils/adt/regproc.c modified +3 −3
src/backend/utils/adt/ruleutils.c modified +20 −7
src/backend/utils/cache/lsyscache.c modified +27 −4
src/backend/utils/cache/relcache.c modified +91 −30
src/backend/utils/cache/syscache.c modified +6 −6
src/backend/utils/fmgr/fmgr.c modified +2 −2
src/include/catalog/catversion.h modified +2 −2
src/include/catalog/indexing.h modified +3 −3
src/include/catalog/pg_attribute.h modified +23 −3
src/include/catalog/pg_index.h modified +9 −9
src/include/catalog/pg_proc.h modified +2 −2
src/include/catalog/pg_trigger.h modified +3 −3
src/include/catalog/pg_type.h modified +6 −6
src/include/c.h modified +29 −4
src/include/utils/array.h modified +4 −1
src/include/utils/builtins.h modified +3 −1
src/include/utils/lsyscache.h modified +3 −2
src/include/utils/rel.h modified +4 −2
src/include/utils/syscache.h modified +2 −2
src/pl/plperl/plperl.c modified +4 −4
src/pl/plpgsql/src/pl_comp.c modified +2 −2
src/pl/plpgsql/src/pl_handler.c modified +5 −5
src/pl/plpython/plpython.c modified +5 −5
src/pl/tcl/pltcl.c modified +4 −4
src/test/regress/expected/opr_sanity.out modified +5 −15
src/test/regress/expected/type_sanity.out modified +17 −9
src/test/regress/sql/opr_sanity.sql modified +5 −15
src/test/regress/sql/type_sanity.sql modified +7 −3