On Wed, Feb 19, 2025 at 11:25 PM Dean Rasheed <dean.a.rash...@gmail.com> wrote: > > On Wed, 19 Feb 2025 at 01:42, Dean Rasheed <dean.a.rash...@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