Changeset: e1f00e0e3598 for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java/rev/e1f00e0e3598
Modified Files:
src/main/java/org/monetdb/jdbc/MonetParameterMetaData.java
src/main/java/org/monetdb/jdbc/MonetResultSetMetaData.java
Branch: default
Log Message:
Improve isSigned() information on result columns and parameters of Types.DATE,
Types.TIMESTAMP and Types.TIMESTAMP_WITH_TIMEZONE. These can have a negative
year.
diffs (63 lines):
diff --git a/src/main/java/org/monetdb/jdbc/MonetParameterMetaData.java
b/src/main/java/org/monetdb/jdbc/MonetParameterMetaData.java
--- a/src/main/java/org/monetdb/jdbc/MonetParameterMetaData.java
+++ b/src/main/java/org/monetdb/jdbc/MonetParameterMetaData.java
@@ -143,23 +143,19 @@ final class MonetParameterMetaData
case Types.DOUBLE:
case Types.DECIMAL:
case Types.NUMERIC:
+ case Types.DATE: // year can be negative
+ case Types.TIMESTAMP: // year can be negative
+ case Types.TIMESTAMP_WITH_TIMEZONE:
return true;
case Types.BIGINT:
+ {
final String monettype =
getParameterTypeName(param);
- if (monettype != null && monettype.length() ==
3) {
- // data of type oid or ptr is not signed
- if ("oid".equals(monettype)
- || "ptr".equals(monettype))
- return false;
- }
+ // data of type oid or ptr is not signed
+ if ("oid".equals(monettype)
+ || "ptr".equals(monettype))
+ return false;
return true;
- // All other types should return false
- // case Types.BOOLEAN:
- // case Types.DATE: // can year be negative?
- // case Types.TIME: // can time be negative?
- // case Types.TIME_WITH_TIMEZONE:
- // case Types.TIMESTAMP: // can year be negative?
- // case Types.TIMESTAMP_WITH_TIMEZONE:
+ }
default:
return false;
}
diff --git a/src/main/java/org/monetdb/jdbc/MonetResultSetMetaData.java
b/src/main/java/org/monetdb/jdbc/MonetResultSetMetaData.java
--- a/src/main/java/org/monetdb/jdbc/MonetResultSetMetaData.java
+++ b/src/main/java/org/monetdb/jdbc/MonetResultSetMetaData.java
@@ -362,6 +362,9 @@ final class MonetResultSetMetaData
case Types.DOUBLE:
case Types.DECIMAL:
case Types.NUMERIC:
+ case Types.DATE: // year can be negative
+ case Types.TIMESTAMP: // year can be negative
+ case Types.TIMESTAMP_WITH_TIMEZONE:
return true;
case Types.BIGINT:
try {
@@ -374,13 +377,6 @@ final class MonetResultSetMetaData
throw
MonetResultSet.newSQLInvalidColumnIndexException(column);
}
return true;
- // All other types should return false
- // case Types.BOOLEAN:
- // case Types.DATE: // can year be negative?
- // case Types.TIME: // can time be negative?
- // case Types.TIME_WITH_TIMEZONE:
- // case Types.TIMESTAMP: // can year be negative?
- // case Types.TIMESTAMP_WITH_TIMEZONE:
default:
return false;
}
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]