Re: WIP: Rework access method interface

Поиск
Список
Период
Сортировка
От Alexander Korotkov
Тема Re: WIP: Rework access method interface
Дата
Msg-id CAPpHfdt990N2PjVraMSRbZc5S5yiAyy_6M8hRUAaN3ty_F2vWA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: WIP: Rework access method interface  (Teodor Sigaev <teodor@sigaev.ru>)
Ответы Re: WIP: Rework access method interface  (Petr Jelinek <petr@2ndquadrant.com>)
Список pgsql-hackers
On Wed, Sep 16, 2015 at 8:44 PM, Teodor Sigaev <teodor@sigaev.ru> wrote:
validate_opclass was renamed to amvalidate.

It seems to me, that amvalidate method of AM should get as argument only Oid of operator family. Layout and meaning of amproc/amop fields are differ for different AM and there isn't an AM which implements all possible features.

Actually, I'm a bit confused with follow piece of code (ginvalidate, for instance):
foreach(l, opclass->procedures)
{
     ...
     if (proc->lefttype != opclass->intype
               || proc->righttype != opclass->intype)
           continue;
     ...

That is amproc could contain a row, which connected to some operator class but this fact will be missed this check and may be, never used or used wrongly.

Despite these observations, I think that this work is needed.

After, further personal discussion with Teodor, we decided that amvalidate is out of scope for this patch.
It's not evident what should we validate in amvalidate and which way. I think if we need amvalidate it should be subject of separate patch.
The attached patch exposes index access method parameters to SQL using following fucntions:
 * get_am_param_oid(oid, text)
 * get_am_param_int(oid, text)
 * get_am_param_bool(oid, text)

------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company 
Вложения

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

Предыдущее
От: Pavel Stehule
Дата:
Сообщение: Re: [patch] Proposal for \rotate in psql
Следующее
От: Adam Brightwell
Дата:
Сообщение: Re: row_security GUC, BYPASSRLS