Thread: Using statement parameters with Copy API?

Using statement parameters with Copy API?

From
Jim Garrison
Date:

I want to use the copy API to execute a parameterized query, as in

 

COPY (SELECT * FROM TABLE WHERE KEY=?) TO STDOUT FORMAT BINARY

 

As far as I can tell it is not currently possible to prepare this statement and pass it to the copy API.

 

Is there a way to accomplish this other than just building the SQL with values already substituted?

Re: Using statement parameters with Copy API?

From
Kris Jurka
Date:

On Wed, 11 Sep 2013, Jim Garrison wrote:

>
> I want to use the copy API to execute a parameterized query, as in
>
> COPY (SELECT * FROM TABLE WHERE KEY=?) TO STDOUT FORMAT BINARY
>
> As far as I can tell it is not currently possible to prepare this statement
> and pass it to the copy API.
>  

This is a limitation of the server.  It doesn't accept parameterized COPY
statements so the JDBC driver doesn't have a way to pass such a statement.
Perhaps the driver could perform the text interpolation itself as it does
in the V2 protocol, but that would also complicate the API if you wanted
to have something similar to PreparedStatement.

Kris Jurka