In 8.3.0, I'm seeing some oddities with SQL functions which I thought were
immune to the planner data restrictions of plpgsql functions and the sort.
Basically I have a query which executes in 5ms but when wrapped in a SQL
function, takes 500ms. I've checked all the types passed in to make sure
they match so there is no type conversions taking place in execution.
I'm curious about the validity of my expectation that functions created with
SQL as the language should be as fast as the straight SQL counterpart. I've
previously not run into such an order of magnitude difference in using SQL
functions. Is this a change of behavior in 8.3 from 8.2? Without specific
examples, are there any recommendations on how to speed up these functions?