[GENERAL] Fwd: Query parameter types not recognized - Mailing list pgsql-general

From Roberto Balarezo
Subject [GENERAL] Fwd: Query parameter types not recognized
Date
Msg-id CALN83z5hoybgObn+7Mm3Z-U8Y8mJx_3bp+7DWNDT4+u+MTCahg@mail.gmail.com
Whole thread Raw
Responses Re: [GENERAL] Fwd: Query parameter types not recognized  (rob stone <floriparob@gmail.com>)
Re: [GENERAL] Fwd: Query parameter types not recognized  (Adrian Klaver <adrian.klaver@aklaver.com>)
Re: [GENERAL] Fwd: Query parameter types not recognized  (Arjen Nienhuis <a.g.nienhuis@gmail.com>)
Re: [GENERAL] Fwd: Query parameter types not recognized  ("David G. Johnston" <david.g.johnston@gmail.com>)
List pgsql-general
Hi, I would like to know why this is happening and some advice if there is a way to solve this problem:

I have a query like this:

select COALESCE(duedate, ? + 1) from invoices order by duedate desc limit 10;

where ? is a query parameter. I’m using JDBC to connect to the database, and sending parameters like this:

query.setDate(1, defaultDueDate);

Where defaultDueDate is a java.sql.Date object. However, when I try to execute the query, I get this error:

org.postgresql.util.PSQLException: ERROR: COALESCE types timestamp without time zone and integer cannot be matched

Why is it inferring that the type is integer, when I send it as Date??

When I force the type using a cast, like this:

select COALESCE(duedate, CAST(? AS DATE) + 1) from invoices order by duedate desc limit 10;

I get this error:

org.postgresql.util.PSQLException: ERROR: could not determine data type of parameter $1

If I’m telling PostgreSQL that the parameter is going to be a Date, and send through the driver a Date, why it is having trouble determining the datatype of the parameter??
What can I do to make it work?

For reference, I’m using PostgreSQL 9.2.15 and JDBC driver 9.4.1207.jre6.

Thanks for your advice!


pgsql-general by date:

Previous
From: "Peter J. Holzer"
Date:
Subject: Re: [GENERAL] Loose indexscan and partial indexes
Next
From: Jeff Janes
Date:
Subject: Re: [GENERAL] Locks Postgres