Re: plpgsql CASE statement - last version
От | Tom Lane |
---|---|
Тема | Re: plpgsql CASE statement - last version |
Дата | |
Msg-id | 18316.1210891594@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: plpgsql CASE statement - last version ("Pavel Stehule" <pavel.stehule@gmail.com>) |
Список | pgsql-patches |
"Pavel Stehule" <pavel.stehule@gmail.com> 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
В списке pgsql-patches по дате отправления: