PreparedStatement error for date parameter with overlaps

From: Simon Mitchell <simon(at)jseb(dot)com>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: PreparedStatement error for date parameter with overlaps
Date: 2011-05-30 12:39:38
Message-ID: BANLkTikCY4ax50aOqNy2BdoYEoLSdc1Sew@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

jdbc driver issue for PreparedStatement error for date parameter with
overlaps

// some bad code
sqlText = "SELECT (date ?, date ?) OVERLAPS (date ?, date ?);";
System.out.println("Executing this command: "+sqlText+"\n");
PreparedStatement prs = db.prepareStatement(sqlText);
prs.setString(1,"2001-02-16");
prs.setString(2,"2001-12-21");
prs.setString(3,"2001-10-30");
prs.setString(4,"2002-10-30");
System.out.println("Executing this command: "+ prs.toString() +"\n");

ResultSet results = prs.executeQuery();

// error
***Exception:
org.postgresql.util.PSQLException: ERROR: syntax error at or near "$1"
Position: 14

Found a work around, changing the query to include brackets around the
question marks works.
sqlText = "SELECT (date (?), date (?)) OVERLAPS (date (?), date (?))";

Is this a bug?
--
simon

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Simon Mitchell 2011-05-30 21:30:28 PreparedStatement error for date parameter with overlaps
Previous Message David Johnston 2011-05-26 20:42:46 Inconsistent "Set Local search_path" behavior in JDBC