Re: Virtual generated columns - Mailing list pgsql-hackers

From jian he
Subject Re: Virtual generated columns
Date
Msg-id CACJufxFQwzGMsGxWQOePkqgzcH6QDTGtM0ZcPv=DMsv9-C-gvw@mail.gmail.com
Whole thread Raw
In response to Re: Virtual generated columns  (Dean Rasheed <dean.a.rasheed@gmail.com>)
List pgsql-hackers
On Wed, Feb 19, 2025 at 11:25 PM Dean Rasheed <dean.a.rasheed@gmail.com> wrote:
>
> On Wed, 19 Feb 2025 at 01:42, Dean Rasheed <dean.a.rasheed@gmail.com> wrote:
> >
> > One thing I don't like about this is that it's introducing more code
> > duplication between pullup_replace_vars() and
> > ReplaceVarsFromTargetList(). Those already had a lot of code in common
> > before RETURNING OLD/NEW was added, and this is duplicating even more
> > code. I think it'd be better to refactor so that they share common
> > code, since it has become quite complex, and it would be better to
> > have just one place to maintain. Attached is an updated patch doing
> > that.
> >
>
> I've been doing some more testing of this, and attached is another
> update, improving a few comments and adding regression tests based on
> the cases discussed so far here.
>

hi.
patch v4, seems still not bullet-proof.

create table t (
     a int primary key,
     b int generated always as (1 + 1),
     c int generated always as (a),
     d int generated always as (a * 10),
     e int generated always as (coalesce(a, 100))
);
insert into t values (1), (2);
select a,c from t group by grouping sets (a,c) having c = 2;
a | c
---+---
 2 |

we should expect
 a | c
---+---
   | 2



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: DB Restarting daily at midnight
Next
From: Kyotaro Horiguchi
Date:
Subject: Inconsistent GUC descriptions