Plan for compressed varlena headers

Поиск
Список
Период
Сортировка
От Gregory Stark
Тема Plan for compressed varlena headers
Дата
Msg-id 87tzxou8zl.fsf@stark.xeocode.com
обсуждение исходный текст
Ответы Re: Plan for compressed varlena headers
Re: Plan for compressed varlena headers
Список pgsql-hackers
So to implement the agreed upon plan I see the following items.

1) Replace the VARATT_SIZEP macro with SET_VARLENA_LEN. I intend to keep this  patch separate as it will bitrot quickly
andwould be best if it could be  applied as soon as possible even before the main patch is committed.
 
  I just sent a patch to do this with some notes to pgsql-patches.

2) Replace VARATT* macros to store and retrieve the toast bits in a manner  that will work for variable length headers.
Thiseither means storing the  bits at the least-significant position or using network byte order.
 
  If we want to allow storing >1 headers unaligned which I think would be  good then I still think we have to read them
usingbytewise lookups -- ie  by casting to (char*). That means network byte order or using the low order  bits is
equallyefficient.
 

3) Have VARSIZE and VARATT_SIZE recognize short headers and produce accurate  values.

4) Change heap_deform*tuple, heap_getattr and any other functions and macros  in heapam.c that step through tuples to
recognizethe new headers.
 
  Actually mostly these should just work because att_addlength uses VARSIZE  but there may be additional changes. Other
placesthat use att_addlength  and need to be checked are heaptuple.c, indextuple.c, arrayfuncs.c,  datum.c, varlena.c,
andexecQual.c, and flatfiles.c.
 

5) Change pg_detoast_datum to recognize the new header types and decompress  them.

5) Change heap_form_tuple to compress headers where possible.

6) Fix the toaster to generate new-style toasted data

Did I miss anything?

--  Gregory Stark EnterpriseDB          http://www.enterprisedb.com


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: Re: Writing triggers in C++
Следующее
От: Tom Lane
Дата:
Сообщение: Re: HOT for PostgreSQL 8.3