pgsql: Support varlena fields with single-byte headers and unaligned - Mailing list pgsql-committers
From | tgl@postgresql.org (Tom Lane) |
---|---|
Subject | pgsql: Support varlena fields with single-byte headers and unaligned |
Date | |
Msg-id | 20070406042144.A47E39FB6BC@postgresql.org Whole thread Raw |
List | pgsql-committers |
Log Message: ----------- 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 Modified Files: -------------- pgsql: configure (r1.540 -> r1.541) (http://developer.postgresql.org/cvsweb.cgi/pgsql/configure.diff?r1=1.540&r2=1.541) configure.in (r1.507 -> r1.508) (http://developer.postgresql.org/cvsweb.cgi/pgsql/configure.in.diff?r1=1.507&r2=1.508) pgsql/contrib/dblink: dblink.c (r1.62 -> r1.63) (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/dblink/dblink.c.diff?r1=1.62&r2=1.63) pgsql/contrib/hstore: hstore_gist.c (r1.4 -> r1.5) (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/hstore/hstore_gist.c.diff?r1=1.4&r2=1.5) pgsql/contrib/intarray: _int_gist.c (r1.16 -> r1.17) (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/intarray/_int_gist.c.diff?r1=1.16&r2=1.17) pgsql/contrib/pg_trgm: trgm_gist.c (r1.9 -> r1.10) (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/pg_trgm/trgm_gist.c.diff?r1=1.9&r2=1.10) pgsql/contrib/tsearch2: ts_cfg.c (r1.23 -> r1.24) (http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/tsearch2/ts_cfg.c.diff?r1=1.23&r2=1.24) pgsql/doc/src/sgml: storage.sgml (r1.16 -> r1.17) (http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/storage.sgml.diff?r1=1.16&r2=1.17) pgsql/src/backend/access/common: heaptuple.c (r1.116 -> r1.117) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/common/heaptuple.c.diff?r1=1.116&r2=1.117) indextuple.c (r1.81 -> r1.82) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/common/indextuple.c.diff?r1=1.81&r2=1.82) pgsql/src/backend/access/heap: tuptoaster.c (r1.73 -> r1.74) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/tuptoaster.c.diff?r1=1.73&r2=1.74) pgsql/src/backend/catalog: toasting.c (r1.5 -> r1.6) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/toasting.c.diff?r1=1.5&r2=1.6) pgsql/src/backend/commands: analyze.c (r1.103 -> r1.104) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/analyze.c.diff?r1=1.103&r2=1.104) pgsql/src/backend/executor: execQual.c (r1.216 -> r1.217) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/execQual.c.diff?r1=1.216&r2=1.217) pgsql/src/backend/storage/large_object: inv_api.c (r1.123 -> r1.124) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/large_object/inv_api.c.diff?r1=1.123&r2=1.124) pgsql/src/backend/utils/adt: arrayfuncs.c (r1.138 -> r1.139) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/arrayfuncs.c.diff?r1=1.138&r2=1.139) datum.c (r1.34 -> r1.35) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/datum.c.diff?r1=1.34&r2=1.35) network.c (r1.68 -> r1.69) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/network.c.diff?r1=1.68&r2=1.69) pg_lzcompress.c (r1.25 -> r1.26) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/pg_lzcompress.c.diff?r1=1.25&r2=1.26) varchar.c (r1.122 -> r1.123) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/varchar.c.diff?r1=1.122&r2=1.123) varlena.c (r1.155 -> r1.156) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/varlena.c.diff?r1=1.155&r2=1.156) xml.c (r1.41 -> r1.42) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/xml.c.diff?r1=1.41&r2=1.42) pgsql/src/backend/utils/fmgr: fmgr.c (r1.105 -> r1.106) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/fmgr/fmgr.c.diff?r1=1.105&r2=1.106) pgsql/src/backend/utils/init: flatfiles.c (r1.24 -> r1.25) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/init/flatfiles.c.diff?r1=1.24&r2=1.25) pgsql/src/include/access: heapam.h (r1.121 -> r1.122) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/heapam.h.diff?r1=1.121&r2=1.122) htup.h (r1.92 -> r1.93) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/htup.h.diff?r1=1.92&r2=1.93) tupmacs.h (r1.32 -> r1.33) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/tupmacs.h.diff?r1=1.32&r2=1.33) tuptoaster.h (r1.34 -> r1.35) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/tuptoaster.h.diff?r1=1.34&r2=1.35) pgsql/src/include/catalog: catversion.h (r1.399 -> r1.400) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/catversion.h.diff?r1=1.399&r2=1.400) pg_type.h (r1.181 -> r1.182) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_type.h.diff?r1=1.181&r2=1.182) pgsql/src/include: fmgr.h (r1.49 -> r1.50) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/fmgr.h.diff?r1=1.49&r2=1.50) pg_config.h.in (r1.113 -> r1.114) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/pg_config.h.in.diff?r1=1.113&r2=1.114) postgres.h (r1.78 -> r1.79) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/postgres.h.diff?r1=1.78&r2=1.79) pgsql/src/include/utils: inet.h (r1.25 -> r1.26) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/inet.h.diff?r1=1.25&r2=1.26) pgsql/src/test/regress/expected: rowtypes.out (r1.10 -> r1.11) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/rowtypes.out.diff?r1=1.10&r2=1.11) strings.out (r1.30 -> r1.31) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/strings.out.diff?r1=1.30&r2=1.31) pgsql/src/test/regress/sql: rowtypes.sql (r1.7 -> r1.8) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/rowtypes.sql.diff?r1=1.7&r2=1.8) strings.sql (r1.19 -> r1.20) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/strings.sql.diff?r1=1.19&r2=1.20)
pgsql-committers by date: