Re: Anonymous code block with parameters
От | Merlin Moncure |
---|---|
Тема | Re: Anonymous code block with parameters |
Дата | |
Msg-id | CAHyXU0xgVuE8BsUWTE3nDEXGyGQs6xxw=eZf5WhTvt6j3Wh=_w@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Anonymous code block with parameters (Hannu Krosing <hannu@2ndQuadrant.com>) |
Ответы |
Re: Anonymous code block with parameters
|
Список | pgsql-hackers |
On Thu, Sep 18, 2014 at 5:22 PM, Hannu Krosing <hannu@2ndquadrant.com> wrote: > Though it would be even nicer to have fully in-line type definition > > SELECT (tup).* FROM > ( > SELECT CASE WHEN .. THEN ROW(1,2,3)::(a int, b text, c int2) > WHEN .. THEN ROW(2,3,4) > ELSE ROW (3,4,5) END AS tup > FROM .. > ) ss +1. Workaround at present (which I mostly use during json serialization) is: SELECT (tup).* FROM ( SELECT CASE WHEN .. THEN (SELECT q FROM (SELECT 1, 2, 3) q) WHEN .. THEN (SELECT q FROM (SELECT 2, 3, 4) q) ELSE (SELECT q FROM (SELECT 3, 4, 5) q) END AS tup FROM.. ) ss If you're talking in line type definitions (which is kinda off topic) though, it'd be nice to consider: * nested type definition: create type foo_t as ( a text, b int, bars bar_t[] as ( c int, d text ), baz baz_t as ( e text, f text ) ); * ...and recursive type references (not being able to recursively serialize json is a major headache) create type foo_t as ( path text, children foo_t[] ); merlin
В списке pgsql-hackers по дате отправления: