| From: | jian he <jian(dot)universality(at)gmail(dot)com> | 
|---|---|
| To: | Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com> | 
| Cc: | Jeff Davis <pgsql(at)j-davis(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Tomas Vondra <tomas(at)vondra(dot)me> | 
| Subject: | Re: Adding OLD/NEW support to RETURNING | 
| Date: | 2024-10-14 06:41:34 | 
| Message-ID: | CACJufxGzv=ac3wZ76WS=2yVPhwN=Aq2o3QKZmLsJaH+851c38Q@mail.gmail.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
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.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Peter Eisentraut | 2024-10-14 06:46:07 | Re: Cannot find a working 64-bit integer type on Illumos | 
| Previous Message | Bertrand Drouvot | 2024-10-14 06:23:06 | Re: Add contrib/pg_logicalsnapinspect |