From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Jeff Davis <pgsql(at)j-davis(dot)com> |
Cc: | pgsql-bugs(at)postgresql(dot)org |
Subject: | Re: non-deterministic error related to MIN/MAX optimization |
Date: | 2008-08-26 18:19:58 |
Message-ID: | 12210.1219774798@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
Jeff Davis <pgsql(at)j-davis(dot)com> writes:
> => -- make "foo" into a subquery and add a no-op
> => -- to prevent it from pulling up the subquery
> => select max(a), generate_series(1,2) as g from (select a as a from foo
> offset 0) dummy;
> ERROR: set-valued function called in context that cannot accept a set
> So, although Dan's transformations were semantically correct, they ended
> up causing this regression failure.
> It doesn't have anything to do with the ORDER BY, so that part of my
> example was unnecessary.
Hmm ... after a bit of poking at it, the reason it's failing is that Agg
plan nodes don't support SRFs in their targetlists. (Group nodes don't
either.) Kind of interesting that no one ever complained about that
before ... although given that plpgsql SRFs don't work in targetlists
anyway, maybe it's been masked for common uses.
I'm not entirely sure if we should add SRF support to Agg/Group or just
write it off as being a deprecated feature anyhow. Given the
definitional issues involved with multiple SRFs in the same targetlist,
putting more effort into the feature doesn't seem like a great
investment of time.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Pavel Stehule | 2008-08-26 19:37:34 | Re: non-deterministic error related to MIN/MAX optimization |
Previous Message | Jeff Davis | 2008-08-26 17:38:24 | Re: non-deterministic error related to MIN/MAX optimization |