proposal sql: labeled function params
От
Pavel Stehule
Тема
proposal sql: labeled function params
Дата
Msg-id
162867790808140256w533324bj25183d476d3aa89a@mail.gmail.com
Список
Дерево обсуждения
proposal sql: labeled function params "Pavel Stehule" <pavel.stehule@gmail.com>
Re: proposal sql: labeled function params Hannu Krosing <hannu@2ndQuadrant.com>
Re: proposal sql: labeled function params "Pavel Stehule" <pavel.stehule@gmail.com>
Re: proposal sql: labeled function params Tom Lane <tgl@sss.pgh.pa.us>
Re: proposal sql: labeled function params "Pavel Stehule" <pavel.stehule@gmail.com>
Re: proposal sql: labeled function params Peter Eisentraut <peter_e@gmx.net>
Re: proposal sql: labeled function params "Pavel Stehule" <pavel.stehule@gmail.com>
Re: proposal sql: labeled function params Tom Lane <tgl@sss.pgh.pa.us>
Re: proposal sql: labeled function params Hannu Krosing <hannu@2ndQuadrant.com>
Re: proposal sql: labeled function params Decibel! <decibel@decibel.org>
Re: proposal sql: labeled function params "Pavel Stehule" <pavel.stehule@gmail.com>
Re: proposal sql: labeled function params Hannu Krosing <hannu@2ndQuadrant.com>
Re: proposal sql: labeled function params "Pavel Stehule" <pavel.stehule@gmail.com>
Re: proposal sql: labeled function params Gregory Stark <stark@enterprisedb.com>
Re: proposal sql: labeled function params Tom Lane <tgl@sss.pgh.pa.us>
Re: proposal sql: labeled function params Hannu Krosing <hannu@2ndQuadrant.com>
Re: proposal sql: labeled function params "Pavel Stehule" <pavel.stehule@gmail.com>
Re: proposal sql: labeled function params Hannu Krosing <hannu@2ndQuadrant.com>
Re: proposal sql: labeled function params "Pavel Stehule" <pavel.stehule@gmail.com>
Re: proposal sql: labeled function params Hannu Krosing <hannu@2ndQuadrant.com>
Re: proposal sql: labeled function params Bruce Momjian <bruce@momjian.us>
Re: proposal sql: labeled function params Hannu Krosing <hannu@2ndQuadrant.com>
Re: proposal sql: labeled function params "Robert Haas" <robertmhaas@gmail.com>
Re: proposal sql: labeled function params "Pavel Stehule" <pavel.stehule@gmail.com>
Re: proposal sql: labeled function params Tom Lane <tgl@sss.pgh.pa.us>
Re: proposal sql: labeled function params "Pavel Stehule" <pavel.stehule@gmail.com>
Re: proposal sql: labeled function params Decibel! <decibel@decibel.org>
Re: proposal sql: labeled function params Hannu Krosing <hannu@2ndQuadrant.com>
Re: proposal sql: labeled function params "Pavel Stehule" <pavel.stehule@gmail.com>
Re: proposal sql: labeled function params Hannu Krosing <hannu@2ndQuadrant.com>
Re: proposal sql: labeled function params "Pavel Stehule" <pavel.stehule@gmail.com>
Re: proposal sql: labeled function params Tom Lane <tgl@sss.pgh.pa.us>
Re: proposal sql: labeled function params "Pavel Stehule" <pavel.stehule@gmail.com>
Re: proposal sql: labeled function params Martijn van Oosterhout <kleptog@svana.org>
Re: proposal sql: labeled function params "Pavel Stehule" <pavel.stehule@gmail.com>
Re: proposal sql: labeled function params Tom Lane <tgl@sss.pgh.pa.us>
Re: proposal sql: labeled function params "Pavel Stehule" <pavel.stehule@gmail.com>
Re: proposal sql: labeled function params Hannu Krosing <hannu@2ndQuadrant.com>
Re: proposal sql: labeled function params "Pavel Stehule" <pavel.stehule@gmail.com>
Re: proposal sql: labeled function params Teodor Sigaev <teodor@sigaev.ru>
Re: proposal sql: labeled function params "Pavel Stehule" <pavel.stehule@gmail.com>
Re: Feeding results back into select (was: proposal sql:
labeled function params) "D'Arcy J.M. Cain" <darcy@druid.net>
Re: Feeding results back into select Teodor Sigaev <teodor@sigaev.ru>
Re: Feeding results back into select "D'Arcy J.M. Cain" <darcy@druid.net>
Re: proposal sql: labeled function params Peter Eisentraut <peter_e@gmx.net>
Re: proposal sql: labeled function params "Pavel Stehule" <pavel.stehule@gmail.com>
Re: proposal sql: labeled function params Tom Lane <tgl@sss.pgh.pa.us>
Re: proposal sql: labeled function params "Pavel Stehule" <pavel.stehule@gmail.com>
Re: proposal sql: labeled function params Gregory Stark <stark@enterprisedb.com>
Re: proposal sql: labeled function params "Pavel Stehule" <pavel.stehule@gmail.com>
Re: proposal sql: labeled function params "Greg Stark" <greg.stark@enterprisedb.com>
Re: proposal sql: labeled function params daveg <daveg@sonic.net>
Re: proposal sql: labeled function params "Pavel Stehule" <pavel.stehule@gmail.com>
Re: proposal sql: labeled function params "Asko Oja" <ascoja@gmail.com>
Re: proposal sql: labeled function params "Pavel Stehule" <pavel.stehule@gmail.com>
Re: proposal sql: labeled function params "Asko Oja" <ascoja@gmail.com>
Re: proposal sql: labeled function params "Pavel Stehule" <pavel.stehule@gmail.com>
Re: proposal sql: labeled function params "Robert Haas" <robertmhaas@gmail.com>
Re: proposal sql: labeled function params Hannu Krosing <hannu@2ndQuadrant.com>
Re: proposal sql: labeled function params "Robert Haas" <robertmhaas@gmail.com>
Re: proposal sql: labeled function params "Pavel Stehule" <pavel.stehule@gmail.com>
Re: proposal sql: labeled function params Hannu Krosing <hannu@2ndQuadrant.com>
Re: proposal sql: labeled function params Peter Eisentraut <peter_e@gmx.net>
Re: [SPAM?]: Re: proposal sql: labeled function params Hannu Krosing <hannu@2ndQuadrant.com>
Re: proposal sql: labeled function params Tom Lane <tgl@sss.pgh.pa.us>
Re: proposal sql: labeled function params Peter Eisentraut <peter_e@gmx.net>
Re: proposal sql: labeled function params "Pavel Stehule" <pavel.stehule@gmail.com>
Re: proposal sql: labeled function params Hannu Krosing <hannu@2ndQuadrant.com>
Re: proposal sql: labeled function params "Pavel Stehule" <pavel.stehule@gmail.com>
Re: proposal sql: labeled function params Peter Eisentraut <peter_e@gmx.net>
Hello I propose enhance current syntax that allows to specify label for any function parameter: fcename(expr [as label], ...) fcename(colname, ...) I would to allow same behave of custom functions like xmlforest function: postgres=# select xmlforest(a) from foo;xmlforest -----------10 (1 row) postgres=# select xmlforest(a as b) from foo;xmlforest -----------10 (1 row) Actually I am not sure what is best way for PL languages for acces to these info. Using some system variables needed new column in pg_proc, because collecting these needs some time and in 99% cases we don't need it. So I prefere some system function that returns labels for outer function call. Like -- test create function getlabels() returns varchar[] as $$select '{name, age}'::varchar[]$$ language sql immutable; create or replace function json(variadic varchar[]) returns varchar as $$ select '[' || array_to_string( array( select (getlabels())[i]|| ':' || $1[i] from generate_subscripts($1,1) g(i)) ,',') || ']' $$ language sql immutable strict; postgres=# select json('Zdenek' as name,'30' as age); json ----------------------[name:Zdenek,age:30] (1 row) postgres=# select json(name, age) from person; json ----------------------[name:Zdenek,age:30] (1 row) There are two possibilities a) collect labels in parse time b) collect labels in executor time @a needs info in pg_proc, but it is simpler, @b is little bit difficult, but doesn't need any changes in system catalog. I thinking about b now. Necessary changes: ================= labels are searched in parse tree fcinfo->flinfo->fn_expr. I need insert label into parse tree, so I it needs special node labeled_param, For getting column reference I need to put current exprstate to fcinfo. Function getlabels() should take code from ExecEvalVar function. Any notes, ideas? Pavel Stehule
В списке pgsql-hackers по дате отправления