Re: plpgsql CASE statement - last version

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: plpgsql CASE statement - last version
Дата
Msg-id 26724.1209769552@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: plpgsql CASE statement - last version  ("Pavel Stehule" <pavel.stehule@gmail.com>)
Ответы Re: plpgsql CASE statement - last version  ("Pavel Stehule" <pavel.stehule@gmail.com>)
Список pgsql-patches
"Pavel Stehule" <pavel.stehule@gmail.com> writes:
> 2008/5/2 Heikki Linnakangas <heikki@enterprisedb.com>:
>> How about taking a completely different strategy, and implement the
>> CASE-WHEN construct fully natively in plpgsql, instead of trying to convert
>> it to a single SQL CASE-WHEN expression? It's not a very good match anyway;

> It was first variant. It's  simpler for parsing and slower for
> execution :(. It means more than once expression evaluation and for
> simple case value casting and comparation.

I agree with Heikki: this patch is seriously ugly, and "slower for
execution" isn't a good enough reason for saddling us with having
to maintain such a kluge in the parser.

I don't really see why you should need to have multiple expression
evaluations, anyhow.  Can't you evaluate the test expression once
and inject its value into the comparisons using CaseTestExpr,
the same way the core CASE-expression code works?

            regards, tom lane

В списке pgsql-patches по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: [COMMITTERS] pgsql: Sigh ...
Следующее
От: Tom Lane
Дата:
Сообщение: Re: [COMMITTERS] pgsql: Sigh ...