At 6:33 PM -0400 9/10/04, Tom Lane wrote:
Dan Sugalski <[EMAIL PROTECTED]> writes:
 Since the only difference in this case is that the parameters are
 pulled out for transport rather than being in band (a
 properly-escaped string substitution could turn this case from a
 PQexecParams call into a PQexec call) I was thinking the thing to do
 would be to either teach the planner to look in the parameter list
 when it gets handed $xxx variables, or have the back-end do the
 substitution to the SQL before handing the code to the planner.

This has already been considered and rejected. Oliver Jowett did the part that is safe, which is to use the parameter values for estimation purposes in other contexts, but pre-substituting a parameter value for LIKE calls the mere correctness of the plan into question.

Ouch. Okay, fair 'nuff. (I figured the parameters could be factored in before the plan was made. Wrongly, I see, now that I poke around in the code a bit :) Plan B for me it is.


What it would take to make it workable is a change in the semantics of
the v3 protocol messages, such that there is no re-use of a plan.  That,
no one is up for quite yet, when we just hacked the protocol last year ...

It might be possible with a backwards-compatible protocol change, but that's more work than I'm up for, and this is the wrong list for it anyway.
--
Dan


--------------------------------------it's like this-------------------
Dan Sugalski                          even samurai
[EMAIL PROTECTED]                         have teddy bears and even
                                      teddy bears get drunk

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Reply via email to