Changeset: d4c3db270e9a for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d4c3db270e9a
Modified Files:
java/src/nl/cwi/monetdb/jdbc/MonetPreparedStatement.java
Branch: Dec2011
Log Message:
setObject: support java.util.Date and Calendar classes
As mandated by JDBC 4.1, map java.util.Date and Calendar to CHAR,
VARCHAR, LONGVARCHAR, DATE, TIME and TIMESTAMP.
diffs (53 lines):
diff --git a/java/src/nl/cwi/monetdb/jdbc/MonetPreparedStatement.java
b/java/src/nl/cwi/monetdb/jdbc/MonetPreparedStatement.java
--- a/java/src/nl/cwi/monetdb/jdbc/MonetPreparedStatement.java
+++ b/java/src/nl/cwi/monetdb/jdbc/MonetPreparedStatement.java
@@ -1442,7 +1442,9 @@ public class MonetPreparedStatement
}
} else if (x instanceof java.sql.Date ||
x instanceof Timestamp ||
- x instanceof Time)
+ x instanceof Time ||
+ x instanceof Calendar ||
+ x instanceof java.util.Date)
{
switch (targetSqlType) {
case Types.CHAR:
@@ -1457,6 +1459,12 @@ public class MonetPreparedStatement
setDate(parameterIndex,
(java.sql.Date)x);
} else if (x instanceof Timestamp) {
setDate(parameterIndex, new
java.sql.Date(((Timestamp)x).getTime()));
+ } else if (x instanceof java.util.Date)
{
+ setDate(parameterIndex, new
java.sql.Date(
+
((java.util.Date)x).getTime()));
+ } else if (x instanceof Calendar) {
+ setDate(parameterIndex, new
java.sql.Date(
+
((Calendar)x).getTimeInMillis()));
}
break;
case Types.TIME:
@@ -1466,6 +1474,12 @@ public class MonetPreparedStatement
throw new
SQLException("Conversion not allowed", "M1M05");
} else if (x instanceof Timestamp) {
setTime(parameterIndex, new
Time(((Timestamp)x).getTime()));
+ } else if (x instanceof java.util.Date)
{
+ setTime(parameterIndex, new
java.sql.Time(
+
((java.util.Date)x).getTime()));
+ } else if (x instanceof Calendar) {
+ setTime(parameterIndex, new
java.sql.Time(
+
((Calendar)x).getTimeInMillis()));
}
break;
case Types.TIMESTAMP:
@@ -1475,6 +1489,12 @@ public class MonetPreparedStatement
setTimestamp(parameterIndex,
new Timestamp(((java.sql.Date)x).getTime()));
} else if (x instanceof Timestamp) {
setTimestamp(parameterIndex,
(Timestamp)x);
+ } else if (x instanceof java.util.Date)
{
+ setTimestamp(parameterIndex,
new java.sql.Timestamp(
+
((java.util.Date)x).getTime()));
+ } else if (x instanceof Calendar) {
+ setTimestamp(parameterIndex,
new java.sql.Timestamp(
+
((Calendar)x).getTimeInMillis()));
}
break;
default:
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list