Robert Haas <robertmh...@gmail.com> writes: > On Mon, Dec 11, 2017 at 3:52 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: >> Here's a quick hack at that. I guess the main question that needs to be >> asked is whether we're happy with plpgsql getting so much chattier >> (as per all the regression test changes).
> I confess to never having really grokked, even in the pre-patch state, > why we sometimes get an "SQL statement" context line and sometimes > not. However, what strikes me about this is that the SQL statement is > a completely fabricated one that the user never entered. I spent a brief amount of time looking at whether we could hide the "fabricated statements" more thoroughly, and decided that it would be a lot more work than seems warranted, and there would likely be holes in it anyway. It's not like we don't document this behavior: the plpgsql introductory material says All expressions used in PL/pgSQL statements are processed using the server's main SQL executor. For example, when you write a PL/pgSQL statement like IF expression THEN ... PL/pgSQL will evaluate the expression by feeding a query like SELECT expression to the main SQL engine. https://www.postgresql.org/docs/devel/static/plpgsql-expressions.html So basically my conclusion at this point is that I'm not willing to do any more work on this than the patch I already proposed. If you want to do something more invasive, have at it. regards, tom lane