On Sat, Jul 03, 2004 at 02:59:58PM +1200, Oliver Jowett wrote: > > I think you mean "between 7.2 and 7.3". Ah, OK. I thought PREPARE had been added in 7.4. My apologies.
> Yes. I see PREPARE/EXECUTE as a SQL-statement-level, connection-local > way of getting control over reuse of plans that doesn't otherwise affect > the semantics of the query. With the V3 protocol you can also do it at > the protocol level rather than the statement level, but it's still the > same underlying operation; why should it behave differently? The real basis of this pattern-matching idea I'm proposing is that the naming issue (which is semantic) and the reuse of plans (which is an optimization) could be handled separately. The next question I think is whether the two should really share a namespace, and whether the two types of names should have the same behaviour. The underlying mechanism would remain the same, but once these issues have been decoupled I think SQL names and protocol-level names are easy to see as different things. > I'm not too worried, to tell the truth -- the JDBC driver has already > moved to using the protocol-level approach, and so long as that doesn't > change I'm happy. It just seems to me that the changes you're advocating > are going to break more clients than they help (e.g. it would have > required nontrivial work on the JDBC driver as of a month ago to deal > with the change), and for no convincing reason. Maybe. OTOH I find it simply disturbing (as a matter of aesthetics, you could say) that the application can be messing around with the protocol underneath the middleware it's supposed to live on top of--the middleware that should expect to be in control of the backend below the SQL level. Jeroen ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster