CVSROOT: /cvsroot
Module name: pgsql-server
Changes by: tgl@postgresql.org 02/08/26 13:54:02
Modified files:
contrib/array : README.array_iterator array_iterator.c
array_iterator.h array_iterator.sql.in
contrib/dblink : dblink.c
contrib/intagg : int_aggregate.c
contrib/ltree : _ltree_gist.c _ltree_op.c
src/backend/catalog: pg_constraint.c
src/backend/commands: analyze.c
src/backend/executor: execQual.c
src/backend/nodes: copyfuncs.c equalfuncs.c outfuncs.c
readfuncs.c
src/backend/parser: parse_expr.c parse_node.c
src/backend/rewrite: rewriteHandler.c
src/backend/utils/adt: acl.c arrayfuncs.c float.c name.c
numeric.c pseudotypes.c ruleutils.c
timestamp.c varbit.c varchar.c
src/backend/utils/cache: lsyscache.c
src/backend/utils/misc: guc.c
src/include/catalog: catversion.h pg_proc.h pg_type.h
src/include/nodes: primnodes.h
src/include/utils: array.h lsyscache.h
src/test/regress/expected: type_sanity.out
src/test/regress/sql: type_sanity.sql
Log message:
Modify array operations to include array's element type OID in the
array header, and to compute sizing and alignment of array elements
the same way normal tuple access operations do --- viz, using the
tupmacs.h macros att_addlength and att_align. This makes the world
safe for arrays of cstrings or intervals, and should make it much
easier to write array-type-polymorphic functions; as examples see
the cleanups of array_out and contrib/array_iterator. By Joe Conway
and Tom Lane.