pgsql: Support varlena fields with single-byte headers and unaligned

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Support varlena fields with single-byte headers and unaligned
Date: 2007-04-06 04:21:44
Message-ID: 20070406042144.A47E39FB6BC@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2007-04-06 05:36:51 pgsql: Now that core functionality is depending on autoconf's
Previous Message User Markir 2007-04-05 23:08:20 bizgres - bizgres: Make bmcostestimate call genericcostestimate again,