2009/2/12 Peter Eisentraut <pete...@gmx.net>: > On Wednesday 11 February 2009 12:05:03 Pavel Stehule wrote: >> It works. And I thing, this should to solve lot of special task >> related to increase compatibility with Oracle, Informix, or it could >> be usefull for some others (json support). >> >> postgres=# load 'decode'; >> LOAD >> postgres=# select >> decode(null::integer,2,'ahoj',3,'Petr',1,'Pavel',null, 'jaja'); >> decode >> -------- >> jaja >> (1 row) > > I think what you want here is some way to define a function that takes an > arbitrary number of arguments of arbitrary type and let the function figure > everything out. I see no reason why this can't be a variant on CREATE > FUNCTION, except that of course you need to figure out some API and function > resolution details. But it doesn't have to be a completely different concept > like a binary plugin. >
Actually I need add some metada to parameter list, Question is, what is more simple and more readable - descriptive or procedural solution. And what we are able to implement. example DECODE(any1, any2, (asany1, asany2).,(asany2)+) Actually I thing so with some hook of parser transform stage we should to this task more simply. I found next sample, that should be solved via hook - emulation of Oracle behave '' is null. Regards Pavel -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers