| From: | Zdenek Kotala <Zdenek(dot)Kotala(at)Sun(dot)COM> | 
|---|---|
| To: | Heikki Linnakangas <heikki(at)enterprisedb(dot)com> | 
| Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> | 
| Subject: | Re: Proposal: Multiversion page api (inplace upgrade) | 
| Date: | 2008-06-11 15:42:54 | 
| Message-ID: | 484FF27E.8040904@sun.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
Heikki Linnakangas napsal(a):
> Zdenek Kotala wrote:
>> 4) Implementation
>>
>> The main point of implementation is to have several version of 
>> PageHeader structure (e.g. PageHeader_04, PageHeader_03 ...) and 
>> correct structure will be handled in special branch (see examples).
> 
> (this won't come as a surprise as we talked about this in PGCon, but) I 
> think we should rather convert the page structure to new format in 
> ReadBuffer the first time a page is read in. That would keep the changes 
> a lot more isolated.
I agree with Tom's reply. And anyway this approach will be mostly isolated into 
page.c and you need to able read old page in both cases.
> Note that you need to handle not only page header changes, but changes 
> to internal representations of different data types, and changes like 
> varvarlen and combocid. Those are things that have happened in the past; 
> in the future, I'm foreseeing changes to the toast header, for example, 
> as there's been a lot of ideas related to toast options compression.
I know, this is a first small step for inplace upgrade. Tupleheader will follow. 
Page structure is basic. I want to split development into small steps, because 
it is easy to review.
Zdenek
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Heikki Linnakangas | 2008-06-11 15:42:57 | Re: Proposal: Multiversion page api (inplace upgrade) | 
| Previous Message | Zdenek Kotala | 2008-06-11 15:35:17 | Re: Proposal: Multiversion page api (inplace upgrade) |