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