Oleksii Kliukin wrote: Thank you, now it’s clear. I have to say there is no guarantee that the computation would be useless. Someone might be calling a function that updates/deletes rows in the SELECT INTO block, being forced to use SELECT INTO by inability of pl/pgSQL to just discard the result of a normal SELECT. I know one can use a loop or call PERFORM, but in some cases (a complex CTE computing the data for the function being called at the end, which updates the tables with this data) actually using SELECT INTO looks like the easiest path to achieve the desired result.
So this whole issue is just because it is not possible to use PERFORM alongside WITH?
The issue is in the SELECT INTO behaviour, but the root cause is exactly the lack of support for perform in CTEs in pl/pgSQL.
|