Re: JDBC, prepared queries, and partitioning - Mailing list pgsql-jdbc

From Simon Riggs
Subject Re: JDBC, prepared queries, and partitioning
Date
Msg-id 1202973203.16770.581.camel@ebony.site
Whole thread Raw
In response to Re: JDBC, prepared queries, and partitioning  (Oliver Jowett <oliver@opencloud.com>)
Responses Re: JDBC, prepared queries, and partitioning  (Oliver Jowett <oliver@opencloud.com>)
List pgsql-jdbc
On Thu, 2008-02-14 at 12:23 +1300, Oliver Jowett wrote:
> Simon Riggs wrote:
>
> > What we need is a "send parameters inline" mode that can be set as an
> > option for a PreparedStatement. Nobody wants to use V2, we just want the
> > ability to re-plan a query every time. Perhaps that is best implemented
> > as a server side option that can be exposed via JDBC option, since this
> > is an SQL requirement and nothing to do with Java.
>
> Unfortunately you can't have your cake and eat it too. Many of the
> features specific to V3 *require* that parameters be sent out of line
> (e.g. parameter metadata, bytea streaming, possibly OUT parameters)
>
> As Kris said earlier in this thread what we really need is a way to tell
> the server "I will only ever use this statement once, with these
> particular parameter values, go ahead and optimize the plan on that basis"

But V3 supports having no parameters at all right?

All we have to do is create a new property called "reOptimize", whose
default value is false.

When reOptimize is true we
- use the code from V2 to fold parameters inline
- re-execute the protocol sequence for Parse/Bind/Execute just as if we
have never seen this SQL statement before (with the parameters inline,
we literally haven't)

We have the code already for this, so no complex coding required.

We can put in server side code for 8.4 to do this, as Tom suggests.

--
  Simon Riggs
  2ndQuadrant  http://www.2ndQuadrant.com


pgsql-jdbc by date:

Previous
From: Oliver Jowett
Date:
Subject: Re: JDBC, prepared queries, and partitioning
Next
From: Oliver Jowett
Date:
Subject: Re: JDBC, prepared queries, and partitioning