-
- Downloads
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.
Showing
- src/backend/access/common/heaptuple.c 9 additions, 5 deletionssrc/backend/access/common/heaptuple.c
- src/backend/access/heap/heapam.c 22 additions, 14 deletionssrc/backend/access/heap/heapam.c
- src/backend/access/transam/xact.c 6 additions, 2 deletionssrc/backend/access/transam/xact.c
- src/backend/utils/fmgr/fmgr.c 4 additions, 4 deletionssrc/backend/utils/fmgr/fmgr.c
- src/backend/utils/time/Makefile 3 additions, 3 deletionssrc/backend/utils/time/Makefile
- src/backend/utils/time/combocid.c 282 additions, 0 deletionssrc/backend/utils/time/combocid.c
- src/include/access/htup.h 65 additions, 53 deletionssrc/include/access/htup.h
- src/include/catalog/catversion.h 2 additions, 2 deletionssrc/include/catalog/catversion.h
- src/include/storage/bufpage.h 5 additions, 4 deletionssrc/include/storage/bufpage.h
- src/include/utils/combocid.h 25 additions, 0 deletionssrc/include/utils/combocid.h
- src/pl/plperl/plperl.c 16 additions, 18 deletionssrc/pl/plperl/plperl.c
- src/pl/plpgsql/src/pl_comp.c 3 additions, 3 deletionssrc/pl/plpgsql/src/pl_comp.c
- src/pl/plpgsql/src/plpgsql.h 2 additions, 2 deletionssrc/pl/plpgsql/src/plpgsql.h
- src/pl/plpython/plpython.c 4 additions, 4 deletionssrc/pl/plpython/plpython.c
- src/pl/tcl/pltcl.c 4 additions, 4 deletionssrc/pl/tcl/pltcl.c
- src/test/regress/expected/combocid.out 242 additions, 0 deletionssrc/test/regress/expected/combocid.out
- src/test/regress/expected/without_oid.out 4 additions, 3 deletionssrc/test/regress/expected/without_oid.out
- src/test/regress/parallel_schedule 2 additions, 2 deletionssrc/test/regress/parallel_schedule
- src/test/regress/serial_schedule 2 additions, 1 deletionsrc/test/regress/serial_schedule
- src/test/regress/sql/combocid.sql 93 additions, 0 deletionssrc/test/regress/sql/combocid.sql
Loading
Please register or sign in to comment