On 4 April 2018 at 17:19, Tom Lane <t...@sss.pgh.pa.us> wrote:
> Marina Polyakova <m.polyak...@postgrespro.ru> writes:
>> When debugging is enabled for server logging, isolation tests fail
>> because there're no corresponding output functions for InsertStmt /
>> DeleteStmt / UpdateStmt that are used in the output of the MergeAction
>> nodes (see the attached regressions diffs and output). I also attached a
>> try that makes the tests pass. Sorry if I missed that it was already
>> discussed somewhere.
> Uh ... what?
> Those node types are supposed to appear in raw grammar output only;
> they should never survive past parse analysis.
So if I understand this correctly, it has nothing to do with the
isolation tester, that's just the place where the report was from.
Which debug mode are we talking about, please?
> If the MERGE patch has broken this, I'm going to push back on that
> and push back on it hard, because it probably means there are a
> whole bunch of other raw-grammar-output-only node types that can
> now get past the parser stage as well, as children of these nodes.
> The answer to that is not to add a ton of new infrastructure, it's
> "you did MERGE wrong".
MERGE hasn't broken anything. Marina is saying that the debug output
for MERGE isn't generated correctly.
I accept it shouldn't give spurious messages and I'm sure we can fix.
MERGE contains multiple actions of Insert, Update and Delete and these
could be output in various debug modes. I'm not clear what meaning we
might attach to them if we looked since that differs from normal
INSERTs, UPDATEs, DELETEs, but lets see.
Simon Riggs http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services