Hello David, actually Query->resultRelation is one based and Query->rtable is zero based.
So the correct call to list_nth is: list_nth(Query->rtable, Query->resultRelation - 1) The comment "rtable index of target relation for INSERT/UPDATE/DELETE/MERGE; 0 for SELECT" on resultRelation in parsenodes.h, Line 120 is misleading. It is _not_ a direct index into rtable, you have to subtract 1 first! And now it works...checked against 9.6.8 and 10.3. Best regards, Ernst-Georg