Re: BUG #16549: "CASE" not work properly , the function works properly on PostgreSQL 9.6.8
От | Pavel Stehule |
---|---|
Тема | Re: BUG #16549: "CASE" not work properly , the function works properly on PostgreSQL 9.6.8 |
Дата | |
Msg-id | CAFj8pRDRbbyC_Wq-U=Q+UVDqoNeMZBHdsW5wy87MyfggLAyeeQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: BUG #16549: "CASE" not work properly , the function works properly on PostgreSQL 9.6.8 (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
RE: BUG #16549: "CASE" not work properly , the function works properly on PostgreSQL 9.6.8
|
Список | pgsql-bugs |
čt 23. 7. 2020 v 0:17 odesílatel Tom Lane <tgl@sss.pgh.pa.us> napsal:
Pavel Stehule <pavel.stehule@gmail.com> writes:
> What is interesting - it fails only when the subquery is in CASE condition
> expression. If is somewhere else, then it doesn't fail
If eval_const_expressions can simplify the CASE test condition itself
to constant-true or constant-false, then it throws away the unreachable
result expression(s) without const-simplifying them. So even if there
would have been a run-time error there, you don't see it.
Of course the error can only happen because we're trying to generate a
custom plan for the expression (with plpgsql variable values inserted
as constants not params). That's a bit silly in this example, but
it wouldn't happen if there weren't a sub-SELECT in the expression.
That forces use of the full planner and plancache machinery.
Thank you for explanation
Regards
Pavel
regards, tom lane
В списке pgsql-bugs по дате отправления: