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]

Reply via email to