pgsql: Combine cmin and cmax fields of HeapTupleHeaders into a single
От | tgl@postgresql.org (Tom Lane) |
---|---|
Тема | pgsql: Combine cmin and cmax fields of HeapTupleHeaders into a single |
Дата | |
Msg-id | 20070209033535.C94B29FA141@postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Log Message: ----------- Combine cmin and cmax fields of HeapTupleHeaders into a single field, by keeping private state in each backend that has inserted and deleted the same tuple during its current top-level transaction. This is sufficient since there is no need to be able to determine the cmin/cmax from any other transaction. This gets us back down to 23-byte headers, removing a penalty paid in 8.0 to support subtransactions. Patch by Heikki Linnakangas, with minor revisions by moi, following a design hashed out awhile back on the pghackers list. Modified Files: -------------- pgsql/src/backend/access/common: heaptuple.c (r1.114 -> r1.115) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/common/heaptuple.c.diff?r1=1.114&r2=1.115) pgsql/src/backend/access/heap: heapam.c (r1.227 -> r1.228) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/heap/heapam.c.diff?r1=1.227&r2=1.228) pgsql/src/backend/access/transam: xact.c (r1.233 -> r1.234) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/xact.c.diff?r1=1.233&r2=1.234) pgsql/src/backend/utils/fmgr: fmgr.c (r1.103 -> r1.104) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/fmgr/fmgr.c.diff?r1=1.103&r2=1.104) pgsql/src/backend/utils/time: Makefile (r1.11 -> r1.12) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/time/Makefile.diff?r1=1.11&r2=1.12) pgsql/src/include/access: htup.h (r1.90 -> r1.91) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/htup.h.diff?r1=1.90&r2=1.91) pgsql/src/include/catalog: catversion.h (r1.382 -> r1.383) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/catversion.h.diff?r1=1.382&r2=1.383) pgsql/src/include/storage: bufpage.h (r1.69 -> r1.70) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/bufpage.h.diff?r1=1.69&r2=1.70) pgsql/src/pl/plperl: plperl.c (r1.126 -> r1.127) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plperl/plperl.c.diff?r1=1.126&r2=1.127) pgsql/src/pl/plpgsql/src: pl_comp.c (r1.112 -> r1.113) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_comp.c.diff?r1=1.112&r2=1.113) plpgsql.h (r1.84 -> r1.85) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/plpgsql.h.diff?r1=1.84&r2=1.85) pgsql/src/pl/plpython: plpython.c (r1.94 -> r1.95) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpython/plpython.c.diff?r1=1.94&r2=1.95) pgsql/src/pl/tcl: pltcl.c (r1.109 -> r1.110) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/tcl/pltcl.c.diff?r1=1.109&r2=1.110) pgsql/src/test/regress/expected: without_oid.out (r1.7 -> r1.8) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/without_oid.out.diff?r1=1.7&r2=1.8) pgsql/src/test/regress: parallel_schedule (r1.38 -> r1.39) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/parallel_schedule.diff?r1=1.38&r2=1.39) serial_schedule (r1.36 -> r1.37) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/serial_schedule.diff?r1=1.36&r2=1.37) pgsql/src/test/regress/sql: without_oid.sql (r1.6 -> r1.7) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/without_oid.sql.diff?r1=1.6&r2=1.7) Added Files: ----------- pgsql/src/backend/utils/time: combocid.c (r1.1) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/time/combocid.c?rev=1.1&content-type=text/x-cvsweb-markup) pgsql/src/include/utils: combocid.h (r1.1) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/utils/combocid.h?rev=1.1&content-type=text/x-cvsweb-markup) pgsql/src/test/regress/expected: combocid.out (r1.1) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/combocid.out?rev=1.1&content-type=text/x-cvsweb-markup) pgsql/src/test/regress/sql: combocid.sql (r1.1) (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/sql/combocid.sql?rev=1.1&content-type=text/x-cvsweb-markup)
В списке pgsql-committers по дате отправления:
Предыдущее
От: momjian@postgresql.org (Bruce Momjian)Дата:
Сообщение: pgsql: Remove blank line from C code.
Следующее
От: momjian@postgresql.org (Bruce Momjian)Дата:
Сообщение: pgsql: Done! < * Merge xmin/xmax/cmin/cmax back into three header