"Pavel Stehule" <[EMAIL PROTECTED]> writes:
> I am sending little bit smarter version - without redundant parsing.

Applied with corrections --- you had some memory management problems
in particular.

One thing that I think might annoy people is that you've handled

        CASE x
            WHEN a, b, c THEN ...

by producing the equivalent of "IF x IN (a, b, c)".  This means that
all three of the a, b, c expressions will be evaluated even if "a"
matches.  The SQL spec doesn't appear to promise short-circuit
evaluation in such a case, but I suspect somebody out there might
have a problem someday.  It didn't seem tremendously easy to fix though.
I suppose anyone who does have a problem can rewrite as

        CASE x
            WHEN a THEN ...
            WHEN b THEN ...
            WHEN c THEN ...

at the cost of duplicating their THEN code.

                        regards, tom lane

-- 
Sent via pgsql-patches mailing list (pgsql-patches@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-patches

Reply via email to