From: | Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com> |
---|---|
To: | Peter Eisentraut <peter(at)eisentraut(dot)org> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, jian he <jian(dot)universality(at)gmail(dot)com> |
Subject: | Re: Virtual generated columns |
Date: | 2025-01-15 14:12:52 |
Message-ID: | CAEZATCXnp5XTkUCsmfjLXVWZ7TaibWatnXDdu52J6zN3XsyZhw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, 14 Jan 2025 at 13:37, Peter Eisentraut <peter(at)eisentraut(dot)org> wrote:
>
> Here is a new patch with that fixed and also a few
> tweaks suggested by Jian.
>
I'm hoping to push my RETURNING OLD/NEW patch [1] soon, so I thought
that I would check how it works together with this patch. The good
news is that AFAICS everything just works, and it's possible to return
old/new virtual generated columns in DML queries as expected.
It did require a minor update, because my patch adds a new
"result_relation" argument to ReplaceVarsFromTargetList() -- needed in
DML queries because, when propagating a Var's old/new
varreturningtype, replacement Vars need to be handled differently
depending on whether or not they refer to the result relation. So that
affects expand_generated_columns_internal(), when called from
fireRIRrules(). OTOH, from expand_generated_columns_in_expr() it's OK
to just pass 0 as the result relation index, because there won't be
any old/new Vars in an expression that's not part of a DML query.
Attached is the delta patch I used to handle this, along with a couple
of simple test cases. It doesn't really matter which feature makes it
in first, but the one that comes second will need to do something like
this.
Regards,
Dean
Attachment | Content-Type | Size |
---|---|---|
virt-gen-cols-with-returning-old-new.patch.no-cfbot | application/octet-stream | 5.0 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Nazir Bilal Yavuz | 2025-01-15 14:20:57 | Re: per backend I/O statistics |
Previous Message | Mingli Zhang | 2025-01-15 13:52:36 | Re: useless list_tail()? |