From: | Alexander Korotkov <aekorotkov(at)gmail(dot)com> |
---|---|
To: | Teodor Sigaev <teodor(at)sigaev(dot)ru> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: WIP: Access method extendability |
Date: | 2015-09-07 13:28:40 |
Message-ID: | CAPpHfdtdbZpebkGS1jpt4YhfX2ZPBMgoUiNyX2Gz98BjVZJoHw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Sep 1, 2015 at 6:50 PM, Teodor Sigaev <teodor(at)sigaev(dot)ru> wrote:
> In general pattern of generic WAL usage is following.
>>
>> 1) Start using generic WAL: specify relation
>>
>
> M-m, what about extensions which wants to use WAL but WAL record doesn't
> connected to any relation? For example, transaction manager or kind of FDW.
>
>
>> GenericXLogStart(index);
>>
>> 2) Register buffers
>>
>> GenericXLogRegister(0, buffer1, false);
>> GenericXLogRegister(1, buffer2, true);
>>
>> first argument is a slot number, second is the buffer, third is flag
>> indicating
>> new buffer
>>
>
> Why do we need a slot number? to replace already registered buffer?
For further simplification slot number could be omitted. In the attached
patches, generic xlog replay applies changes in the same order
GenericXLogRegister was called.
Patches was rebased against latest version of am interface rework patch.
http://www.postgresql.org/message-id/CAPpHfduGY=KZSBPZN5+USTXev-9M2PAUp3Yi=SYFDo2N244P-A@mail.gmail.com
------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company
Attachment | Content-Type | Size |
---|---|---|
create-am.3.patch.gz | application/x-gzip | 8.2 KB |
generic-xlog.3.patch.gz | application/x-gzip | 4.8 KB |
bloom-contrib.3.patch.gz | application/x-gzip | 36.7 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Teodor Sigaev | 2015-09-07 13:29:19 | pgsql: Add pages deleted from pending list to FSM |
Previous Message | Alvaro Herrera | 2015-09-07 13:28:06 | Re: Creating unique or "internal-use-only" column names (ColumnRef) |