Oliver Jowett <oliver@opencloud.com> writes:
> which should use the index. However with server-side prepared queries
> enabled the query is transformed to something like this:
> PREPARE jdbc_statement_N(int8) AS SELECT * FROM foo WHERE bar = $1;
> EXECUTE jdbc_statement_N(12345)
> Which I suspect won't use the index as $1 is typed to int8. (anyone know for
> sure? I can't find an easy way to get at the query plan produced by
> PREPARE).
In 7.4 you can do EXPLAIN EXECUTE. But no, this wouldn't use the index
:-(. What exactly is causing the driver to decide to type the parameter
as int8?
regards, tom lane