Re: delta relations in AFTER triggers

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема Re: delta relations in AFTER triggers
Дата
Msg-id 5421CC1D.20704@vmware.com
обсуждение исходный текст
Ответ на Re: delta relations in AFTER triggers  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On 09/23/2014 08:51 PM, Tom Lane wrote:
> Robert Haas <robertmhaas@gmail.com> writes:
>> On Tue, Sep 23, 2014 at 12:46 PM, Heikki Linnakangas
>> <hlinnakangas@vmware.com> wrote:
>>> Now, how do we make the tuplestores work similarly? Here's what I think we
>>> should do:
>>>
>>> Add a new p_tableref_hook function pointer, similar to p_paramref_hook.
>>> Whenever the parser sees a RangeVar that it doesn't recognize (or actually,
>>> I think it should call it *before* resolving regular tables, but let's
>>> ignore that for now), it calls the p_tableref_hook. It can return a new
>>> RelationParam node (similar to regular Param), which contains a numeric ID
>>> for the table/tuplestore, as well as its tuple descriptor.
>>>
>>> For the execution phase, add a new array of Tuplestorestates to
>>> ParamListInfo. Similar to the existing array of ParamExternalDatas.
>
>> I haven't been following this issue closely, but this sounds like a
>> really nice design.
>
> I'm on board with the parser hooks part of that.  I don't especially agree
> with the idea of a new sub-structure for ParamListInfo: if you do that you
> will need a whole bunch of new boilerplate infrastructure to allocate,
> copy, and generally manage that structure, for darn little gain.  What I'd
> suggest is just saying that some Params might have type INTERNAL with
> Datum values that are pointers to tuplestores; then all you need to do is
> remember which Param number has been assigned to the particular tuplestore
> you want.  There is already precedent for that in the recursive CTE code,
> IIRC.

Works for me.

- Heikki



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

Предыдущее
От: Heikki Linnakangas
Дата:
Сообщение: Re: add modulo (%) operator to pgbench
Следующее
От: Josh Berkus
Дата:
Сообщение: Re: RLS feature has been committed