Support varlena fields with single-byte headers and unaligned storage.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 6 Apr 2007 04:21:44 +0000 (04:21 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 6 Apr 2007 04:21:44 +0000 (04:21 +0000)
commitbdb7179f03173f37f65bed9d13cea06a198b1390
tree8fba2c8900534f655635d34a250cd3b63a335b41
parentcec43c9908bc365bf4a05214f05029cee7975fc7
Support varlena fields with single-byte headers and unaligned storage.

This commit breaks any code that assumes that the mere act of forming a tuple
(without writing it to disk) does not "toast" any fields.  While all available
regression tests pass, I'm not totally sure that we've fixed every nook and
cranny, especially in contrib.

Greg Stark with some help from Tom Lane
38 files changed:
configure
configure.in
contrib/dblink/dblink.c
contrib/hstore/hstore_gist.c
contrib/intarray/_int_gist.c
contrib/pg_trgm/trgm_gist.c
contrib/tsearch2/ts_cfg.c
doc/src/sgml/storage.sgml
src/backend/access/common/heaptuple.c
src/backend/access/common/indextuple.c
src/backend/access/heap/tuptoaster.c
src/backend/catalog/toasting.c
src/backend/commands/analyze.c
src/backend/executor/execQual.c
src/backend/storage/large_object/inv_api.c
src/backend/utils/adt/arrayfuncs.c
src/backend/utils/adt/datum.c
src/backend/utils/adt/network.c
src/backend/utils/adt/pg_lzcompress.c
src/backend/utils/adt/varchar.c
src/backend/utils/adt/varlena.c
src/backend/utils/adt/xml.c
src/backend/utils/fmgr/fmgr.c
src/backend/utils/init/flatfiles.c
src/include/access/heapam.h
src/include/access/htup.h
src/include/access/tupmacs.h
src/include/access/tuptoaster.h
src/include/catalog/catversion.h
src/include/catalog/pg_type.h
src/include/fmgr.h
src/include/pg_config.h.in
src/include/postgres.h
src/include/utils/inet.h
src/test/regress/expected/rowtypes.out
src/test/regress/expected/strings.out
src/test/regress/sql/rowtypes.sql
src/test/regress/sql/strings.sql