Andres Freund <and...@anarazel.de> writes: > On 2017-05-28 14:03:26 -0400, Tom Lane wrote: >> I think it would be possible to teach eval_const_expressions that >> it must not discard CASE/COALESCE subexpressions that contain SRFs, >> which would preserve the rule that expression simplification doesn't >> change the query semantics.
> That sounds like a good idea. Do you want to write up a patch, or > should I? I can, but I'd want to finish the walsender panic and other > signal handling stuff first (mostly waiting for review for now). I think you've got enough on your plate. I can take care of whatever we decide to do here. What I was looking for was opinions on which way to address it. >> Another possibility is to say that we've broken this situation >> irretrievably and we should start throwing errors for SRFs in >> places where they'd be conditionally evaluated. That's not real >> nice perhaps, but it's better than the way things are right now. > I'd be ok with that too, but I don't really see a strong need so far. The argument for this way is basically that it's better to break apps visibly than silently. The behavior for SRF-inside-CASE is not going to be the same as before even if we implement the fix I suggest above, and it's arguable that this new behavior is not at all intuitive. I'm not really sure which way to jump, which is why I was hoping for some discussion here. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers