Re: BRIN page type identifier
| От | Tom Lane |
|---|---|
| Тема | Re: BRIN page type identifier |
| Дата | |
| Msg-id | 8620.1425944081@sss.pgh.pa.us обсуждение исходный текст |
| Ответ на | Re: BRIN page type identifier (Alvaro Herrera <alvherre@2ndquadrant.com>) |
| Ответы |
Re: BRIN page type identifier
Re: BRIN page type identifier |
| Список | pgsql-hackers |
Alvaro Herrera <alvherre@2ndquadrant.com> writes:
> I wonder if this is permissible and whether it will do the right thing
> on 32-bit systems:
> /*
> * Special area of BRIN pages.
> *
> * We add some padding bytes to ensure that 'type' ends up in the last two
> * bytes of the page, for consumption by pg_filedump and similar utilities.
> * (Special space is MAXALIGN'ed).
> */
> typedef struct BrinSpecialSpace
> {
> char padding[MAXALIGN(1) - 2 * sizeof(uint16)];
> uint16 flags;
> uint16 type;
> } BrinSpecialSpace;
I should expect that to fail altogether on 32-bit machines, because
the declared array size will be zero.
You could try something like
typedef struct BrinSpecialSpace
{uint16 vector[MAXALIGN(1) / sizeof(uint16)];
} BrinSpecialSpace;
and then some access macros to use the last and next-to-last
elements of that array.
regards, tom lane
В списке pgsql-hackers по дате отправления: