On Sat, Jan 22, 2011 at 11:32:02AM +0100, Pavel Stehule wrote: > because I am not sure so any complex solution can be done to deadline > for 9.1, I created a patch that is based on Tom ideas - just > explicitly detoast function parameters.
I can confirm that, for your original test case, this yields performance comparable to that of your original patch. This patch hooks into plpgsql_exec_function, detoasting only the function arguments. Therefore, it doesn't help in a test case like the one I posted in my original review. That test case initialized a variable using SELECT INTO, then used the variable in a loop. Is there any benefit to doing this in plpgsql_exec_function, versus exec_assign_value (Tom's suggestion), which would presumably help the other test case also? As we've discussed, unlike the original patch, this yields similarly grand performance regressions on functions that receive toasted arguments and never use them. Who is prepared to speculate that this will help more people than it will hurt? This patch is easier on -hackers than the original, but it seems much more likely to create measurable performance regressions in the field. It's clear the committers prefer it this way, but I remain skeptical. nm -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers