"ldh@laurent-hasson.com" <ldh@laurent-hasson.com> writes:
> I wish there were a way to force inlining, or some other mechanism as the performance difference is large here. I'll
beusing the inlining approach when possible, but the SQL Function approach is simpler and will likely be more suitable
forsome developers.
I'm not sure that there's any fundamental reason why we don't inline SQL
functions containing sub-selects. It may just be not having wanted to put
any effort into the case way-back-when. Inlining happens too late to
allow a resulting WHERE EXISTS to get mutated into a semijoin, but in this
example that couldn't happen anyway, so it's not much of an objection.
regards, tom lane