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