Mercurial > hg > monetdb-java
changeset 735:3dd0d43014e8
Disable checks for Types.LONGVARCHAR and Types.LONGVARBINARY as MonetDB server does not support these data types, and no mappings exists to these JDBC Types and thus these cases will never be reached in JDBC Driver.
author | Martin van Dinther <martin.van.dinther@monetdbsolutions.com> |
---|---|
date | Thu, 16 Feb 2023 17:01:26 +0100 (2023-02-16) |
parents | e0caafa2d814 |
children | f317b37bad30 |
files | src/main/java/org/monetdb/jdbc/MonetDriver.java.in src/main/java/org/monetdb/jdbc/MonetParameterMetaData.java src/main/java/org/monetdb/jdbc/MonetResultSet.java src/main/java/org/monetdb/jdbc/MonetResultSetMetaData.java |
diffstat | 4 files changed, 16 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/src/main/java/org/monetdb/jdbc/MonetDriver.java.in +++ b/src/main/java/org/monetdb/jdbc/MonetDriver.java.in @@ -404,7 +404,7 @@ public class MonetDriver implements Driv switch(type) { case Types.CHAR: case Types.VARCHAR: - case Types.LONGVARCHAR: + /* case Types.LONGVARCHAR: // MonetDB doesn't use type LONGVARCHAR */ return String.class; case Types.NUMERIC: case Types.DECIMAL: @@ -425,7 +425,7 @@ public class MonetDriver implements Driv return Double.class; case Types.BINARY: // MonetDB currently does not support these case Types.VARBINARY: // see treat_blob_as_binary property - case Types.LONGVARBINARY: + /* case Types.LONGVARBINARY: // MonetDB doesn't use type LONGVARBINARY */ return byte[].class; case Types.DATE: return java.sql.Date.class;
--- a/src/main/java/org/monetdb/jdbc/MonetParameterMetaData.java +++ b/src/main/java/org/monetdb/jdbc/MonetParameterMetaData.java @@ -204,7 +204,7 @@ final class MonetParameterMetaData } case Types.CHAR: case Types.VARCHAR: - case Types.LONGVARCHAR: // MonetDB doesn't use type LONGVARCHAR, it's here for completeness + /* case Types.LONGVARCHAR: // MonetDB doesn't use type LONGVARCHAR */ case Types.CLOB: // these data types have a variable length try { @@ -214,9 +214,10 @@ final class MonetParameterMetaData } case Types.BINARY: case Types.VARBINARY: + /* case Types.LONGVARBINARY: // MonetDB doesn't use type LONGVARBINARY */ case Types.BLOB: // these data types have a variable length - // It expect number of bytes, not number of hex chars + // It expects number of bytes, not number of hex chars try { return precisions[param]; } catch (IndexOutOfBoundsException e) {
--- a/src/main/java/org/monetdb/jdbc/MonetResultSet.java +++ b/src/main/java/org/monetdb/jdbc/MonetResultSet.java @@ -437,7 +437,7 @@ public class MonetResultSet return blob.getBinaryStream(); case Types.BINARY: case Types.VARBINARY: - case Types.LONGVARBINARY: + /* case Types.LONGVARBINARY: // MonetDB doesn't use type LONGVARBINARY */ final byte[] bte = getBytes(columnIndex); if (bte == null) return null; @@ -792,7 +792,7 @@ public class MonetResultSet case Types.BOOLEAN: case Types.CHAR: case Types.VARCHAR: - case Types.LONGVARCHAR: // MonetDB doesn't use type LONGVARCHAR, it's here for completeness + /* case Types.LONGVARCHAR: // MonetDB doesn't use type LONGVARCHAR */ case Types.CLOB: // check if string value equals "true" (case insensitive) or not return Boolean.parseBoolean(val); @@ -910,7 +910,7 @@ public class MonetResultSet case Types.BLOB: case Types.BINARY: case Types.VARBINARY: - case Types.LONGVARBINARY: + /* case Types.LONGVARBINARY: // MonetDB doesn't use type LONGVARBINARY */ return MonetBlob.hexStrToByteArray(val); default: throw new SQLException("Cannot operate on type: " + types[columnIndex - 1], "M1M05"); @@ -1416,7 +1416,7 @@ public class MonetResultSet return val; } case Types.CHAR: - case Types.LONGVARCHAR: // MonetDB doesn't use type LONGVARCHAR, it's here for completeness + /* case Types.LONGVARCHAR: // MonetDB doesn't use type LONGVARCHAR */ return val; case Types.CLOB: return new MonetClob(val); @@ -1432,7 +1432,7 @@ public class MonetResultSet return getTimestamp(columnIndex, null); case Types.BINARY: case Types.VARBINARY: - case Types.LONGVARBINARY: // MonetDB doesn't use type LONGVARBINARY, it's here for completeness + /* case Types.LONGVARBINARY: // MonetDB doesn't use type LONGVARBINARY */ return getBytes(columnIndex); case Types.OTHER: default: @@ -1993,7 +1993,7 @@ public class MonetResultSet // so we attempt to parse it as the caller thinks it is. if (JdbcType == Types.CHAR || JdbcType == Types.VARCHAR || - JdbcType == Types.LONGVARCHAR || + /* JdbcType == Types.LONGVARCHAR || // MonetDB doesn't use type LONGVARCHAR */ JdbcType == Types.CLOB) { JdbcType = type;
--- a/src/main/java/org/monetdb/jdbc/MonetResultSetMetaData.java +++ b/src/main/java/org/monetdb/jdbc/MonetResultSetMetaData.java @@ -260,7 +260,7 @@ final class MonetResultSetMetaData public boolean isCaseSensitive(final int column) throws SQLException { switch (getColumnType(column)) { case Types.CHAR: - case Types.LONGVARCHAR: // MonetDB doesn't use type LONGVARCHAR, it's here for completeness + /* case Types.LONGVARCHAR: // MonetDB doesn't use type LONGVARCHAR */ case Types.CLOB: return true; case Types.VARCHAR: @@ -589,7 +589,7 @@ final class MonetResultSetMetaData return 18; case Types.CHAR: case Types.VARCHAR: - case Types.LONGVARCHAR: // MonetDB doesn't use type LONGVARCHAR, it's here for completeness + /* case Types.LONGVARCHAR: // MonetDB doesn't use type LONGVARCHAR */ case Types.CLOB: // these data types have a variable length if (precisions != null) { @@ -611,6 +611,7 @@ final class MonetResultSetMetaData return getColumnDisplaySize(column); case Types.BINARY: case Types.VARBINARY: + /* case Types.LONGVARBINARY: // MonetDB doesn't use type LONGVARBINARY */ case Types.BLOB: // these data types have a variable length if (precisions != null) { @@ -709,10 +710,11 @@ final class MonetResultSetMetaData // case Types.DOUBLE: // case Types.CHAR: // case Types.VARCHAR: - // case Types.LONGVARCHAR: // MonetDB doesn't use type LONGVARCHAR, it's here for completeness + // case Types.LONGVARCHAR: // MonetDB doesn't use type LONGVARCHAR // case Types.CLOB: // case Types.BINARY: // case Types.VARBINARY: + // case Types.LONGVARBINARY: // MonetDB doesn't use type LONGVARBINARY // case Types.BLOB: // case Types.DATE: // case Types.BOOLEAN: