The patch seems to be missing the new htup.c file.
Zdenek Kotala wrote:
Attached patch is prototype of in-place upgrade as was presented on
PGCon this year.
Main idea is to learn postgres to handle different version of page and
tuple structures.
1) page - Patch contains new page API and all code access page through
this API. Functions check page version and return correct data to
caller. It is mostly complete now. Only ItemId flags need finish.
2) tuple - HeapTuple structure has been extended with t_ver attribute
which contains page layout version and direct access to HeapTupleHeader
is forbidden. It is possible now only through HeapTuple* functions (see
htup.c). (HeapTupleHeader access still stays in a several functions like
heap_form_tuple).
This patch version still does not allow to read old database, but it
shows how it should work. Main disadvantage of this approach is
performance penalty.
Please, let me know your opinion about this approach.
Future work:
1) learn WAL to process different tuple structure version
2) tuple conversion to new version and put it into executor
(ExecStoreTuple)
3) multiversion MaxItemSize constant
--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers