Skip site navigation (1) Skip section navigation (2)

Re: non-deterministic error related to MIN/MAX optimization

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 (view raw or flat)
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

In response to

Responses

pgsql-bugs by date

Next:From: Pavel StehuleDate: 2008-08-26 19:37:34
Subject: Re: non-deterministic error related to MIN/MAX optimization
Previous:From: Jeff DavisDate: 2008-08-26 17:38:24
Subject: Re: non-deterministic error related to MIN/MAX optimization

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group