typedef struct ReturningOption
{
    NodeTag        type;
    bool        isNew;
    char       *name;
    int            location;
} ReturningOption;
location should be type ParseLoc?


in process_sublinks_mutator

    else if (IsA(node, ReturningExpr))
    {
        if (((ReturningExpr *) node)->retlevelsup > 0)
            return node;
    }
this part doesn't have a coverage test?
the following is the minimum tests i come up with:

create table s (a int, b int);
create view sv as select * from s;
explain insert into sv values(1,2) returning (select new from
(values((select new))));


explain insert into sv values(1,2) returning (select new from (((select new))));
won't touch the changes we did.
but these two explain output plans are the same.


Reply via email to