From: | Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com> |
---|---|
To: | Peter Eisentraut <peter(at)eisentraut(dot)org> |
Cc: | jian he <jian(dot)universality(at)gmail(dot)com>, Richard Guo <guofenglinux(at)gmail(dot)com>, Zhang Mingli <zmlpostgres(at)gmail(dot)com>, Alexander Lakhin <exclusion(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Virtual generated columns |
Date: | 2025-02-15 12:37:45 |
Message-ID: | CAEZATCUpzF0XZGVpuJ-O4WLnDWBmddSc+yMWvg6zsz_ekegfPg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Fri, 14 Feb 2025 at 10:59, Peter Eisentraut <peter(at)eisentraut(dot)org> wrote:
>
> On 13.02.25 14:06, jian he wrote:
> > I didn't solve the out join semantic issue.
> > i am wondering, can we do the virtual generated column expansion in
> > the rewrite stage as is,
> > and wrap the expressions in PHVs if the virtual generated
> > columns come from the nullable side of an outer join.
>
> PlaceHolderVar looks like a fitting mechanism for this. But it's so far
> a planner node, so it might take some additional consideration if we
> want to expand where it's used.
It seems pretty baked into how PHVs work that they should only be
added by the planner, so I think that I agree with Richard -- virtual
generated columns probably have to be expanded in the planner rather
than the rewriter.
> Maybe a short-term fix would be to error out if we find ourselves about
> to expand a Var with varnullingrels != NULL. That would mean you
> couldn't use a virtual generated column on the nullable output side of
> an outer join, which is annoying but not fatal, and we could fix it
> incrementally later.
I think that would be rather a sad limitation to have. It would be
nice to have this fully working for the next release.
Attached is a rough patch that moves the expansion of virtual
generated columns to the planner. It needs a lot more testing (and
some regression tests), but it does seem to fix all the issues
mentioned in this thread.
Regards,
Dean
Attachment | Content-Type | Size |
---|---|---|
expand-virt-gen-cols-in-planner.patch | text/x-patch | 20.3 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Andrew Dunstan | 2025-02-15 13:10:39 | Re: Decision by Monday: PQescapeString() vs. encoding violation |
Previous Message | Christoph Berg | 2025-02-15 12:33:54 | Re: pg17.3 PQescapeIdentifier() ignores len |