diff --git a/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcDriver2.java b/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcDriver2.java index e4b9cd7e7dfb8de8a5889c8a089f6a533c2a4dcb..0ed144e8d07435a6d704b513b9ede8de08170e07 100644 --- a/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcDriver2.java +++ b/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcDriver2.java @@ -2366,4 +2366,18 @@ private void verifyFetchedLog(List logs, String[] expectedLogs) { assertTrue(accumulatedLogs.contains(expectedLog)); } } + @Test + public void testPrepareSetDate() throws Exception { + try { + String sql = "select * from " + dataTypeTableName + " where c20 = ?"; + PreparedStatement ps = con.prepareStatement(sql); + java.sql.Date dtValue = java.sql.Date.valueOf("2015-07-06"); + ps.setDate(1, dtValue); + ResultSet res = ps.executeQuery(); + ps.close(); + } catch (Exception e) { + e.printStackTrace(); + fail(e.toString()); + } + } } diff --git a/jdbc/src/java/org/apache/hive/jdbc/HivePreparedStatement.java b/jdbc/src/java/org/apache/hive/jdbc/HivePreparedStatement.java index 26251557ab0eaf995b854b60e84781a69d983e37..76875375c88c3bd228bd011afceecee16f064f53 100644 --- a/jdbc/src/java/org/apache/hive/jdbc/HivePreparedStatement.java +++ b/jdbc/src/java/org/apache/hive/jdbc/HivePreparedStatement.java @@ -436,7 +436,7 @@ public void setClob(int parameterIndex, Reader reader, long length) throws SQLEx */ public void setDate(int parameterIndex, Date x) throws SQLException { - this.parameters.put(parameterIndex, x.toString()); + this.parameters.put(parameterIndex, "'" + x.toString() + "'"); } /*