Re: polymorphic table functions light

Поиск
Список
Период
Сортировка
От Dent John
Тема Re: polymorphic table functions light
Дата
Msg-id 1252C874-7349-477B-A6CB-AB60A3997200@QQdd.eu
обсуждение исходный текст
Ответ на Re: polymorphic table functions light  (Peter Eisentraut <peter.eisentraut@2ndquadrant.com>)
Список pgsql-hackers
> On 24 Jan 2020, at 08:27, Peter Eisentraut <peter.eisentraut@2ndquadrant.com> wrote:
>
> I definitely want to make it work in a way that does not require writing C code.  My idea was to create a new type,
perhapscalled "descriptor", that represents essentially a tuple descriptor.  (It could be exactly a TupleDesc, as this
patchdoes, or something similar.)  For the sake of discussion, we could use JSON as the text representation of this.
Thena PL/pgSQL function or something else high level could easily be written to assemble this.  Interesting use cases
arefor example in the area of using PL/Perl or PL/Python for unpacking some serialization format using existing modules
inthose languages. 

I do think it’s very desirable to make it usable outside of C code.

> Obviously, there is a lot of leg work to be done between here and there, but it seems doable.  The purpose of this
initialpatch submission was to get some opinions on the basic idea of "determine result tuple structure by calling
helperfunction at parse time", and so far no one has fallen off their chair from that, so I'm encouraged. ;-) 

I’m interested in this development, as it makes RECORD-returning SRFs in the SELECT list a viable proposition, and that
inturn allows a ValuePerCall SRF to get meaningful benefit from pipelining. (They could always pipeline, but there is
noway to extract information from the RECORD that’s returned, with the sole exception of row_to_json.) 

I couldn’t check out that it would work though because I couldn’t apply the v2 (or v1) patch against either 12.0 or
530609a(which I think was sometime around 25th Jan). Against 12.0, I got a few rejections (prepjointree.c and
clauses.c).I figured they might be inconsequential, but no: initdb then fails at CREATE VIEW pg_policies. Different
rejectionsagainst 530609a, but still initdb fails. 

But I’m definitely very much encouraged.

denty.


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

Предыдущее
От: Michael Paquier
Дата:
Сообщение: Re: widen vacuum buffer counters
Следующее
От: Fabien COELHO
Дата:
Сообщение: Re: pgbench - add pseudo-random permutation function