2009/2/13 Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>:
> Peter Eisentraut wrote:
>>
>> Tom Lane wrote:
>>>
>>> Peter Eisentraut <peter_e@gmx.net> writes:
>>>>
>>>> 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.
>>>
>>> We've already got "variadic any" functions --- the problem is to tell
>>> the parser what the function's result type will be, given a particular
>>> parameter list. I agree that hooking transformExpr is not exactly the
>>> most ideal way to attack that from a performance or complexity
>>> standpoint.
>>
>> What is the defined return type logic for the decode() function anyway?
>> If you want the full CASE-like resolution logic, it might be very hard to
>> fit that into a general system.
>
> And on top of that, decode() is supposed to do short-circuit evaluation of
> the arguments.
>
yes, you should to look so this work do transform hook very vell
regards
Pavel
> --
> Heikki Linnakangas
> EnterpriseDB http://www.enterprisedb.com
>