BUG #11944: plpgsql if-case-then syntax error.

Поиск
Список
Период
Сортировка
От jasen@treshna.com
Тема BUG #11944: plpgsql if-case-then syntax error.
Дата
Msg-id 20141112044644.2524.61080@wrigleys.postgresql.org
обсуждение исходный текст
Ответы Re: BUG #11944: plpgsql if-case-then syntax error.
Список pgsql-bugs
The following bug has been logged on the website:

Bug reference:      11944
Logged by:          Jasen Betts
Email address:      jasen@treshna.com
PostgreSQL version: 9.1.13
Operating system:   linux
Description:

this does work

create function fails( a int) returns int language plpgsql as $$ begin
  if  CASE when a = 1 then true else false END
  then return 1; else  return 0;  end if ;
end $$;

parentheses can make it work.

create function fails_not( a int) returns int language plpgsql as $$ begin
  if ( CASE when a = 1 then true else false END )
  then return 1; else  return 0;  end if ;
end $$;

It seems to be the plpgsql parser not treating the CASE-END as atomic when
looking for the end of the IF xpression.

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: BUG #11905: "Error: Wrong key or corrupt data" with pgp_sym_decrypt when bytea size is 2^x - 6 where x >=14
Следующее
От: ipnb87@gmail.com
Дата:
Сообщение: BUG #11948: Error when installing PostgreSQL 9.3 server