Evan Martin <postgresql@realityexists.net> writes:
> This worked... at first. I did some simple queries and they showed the
> function being inlined (index scan on primary key, seq scan - no
> function scan). Very happy with that, I tried changing some other
> functions (that depend on these) and then found that the _asof functions
> are not being inlined anymore! I swear, I'm not making this up. Nothing
> changed in those functions. Same simple query. It was inlined before and
> now it's not. I've dropped and re-created the functions, did an ANALYZE,
> even restarted PostgreSQL - they're not inlined any more. I really don't
> know what to think!
[ squint... ] There are a lot of undocumented restrictions on inlining
in inline_set_returning_function(), but AFAICS none of them are
nondeterministic, nor would the decision depend on anything outside
the function and its arguments. Can you provide a concrete test case?
regards, tom lane