Changeset: 3c526c45c0eb for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java/rev/3c526c45c0eb
Modified Files:
        src/main/java/org/monetdb/jdbc/MonetPreparedStatement.java
        src/main/java/org/monetdb/jdbc/MonetResultSet.java
        src/main/java/org/monetdb/jdbc/MonetResultSetMetaData.java
Branch: default
Log Message:

Undo optimisation of 32f246853ec4. In practise it is not faster.


diffs (82 lines):

diff --git a/src/main/java/org/monetdb/jdbc/MonetPreparedStatement.java 
b/src/main/java/org/monetdb/jdbc/MonetPreparedStatement.java
--- a/src/main/java/org/monetdb/jdbc/MonetPreparedStatement.java
+++ b/src/main/java/org/monetdb/jdbc/MonetPreparedStatement.java
@@ -179,8 +179,6 @@ public class MonetPreparedStatement
                final ResultSet rs = super.getResultSet();
                if (rs != null) {
                        // System.out.println("After super.getResultSet();");
-                       final boolean mapClobAsVarChar = 
connection.mapClobAsVarChar();
-                       final boolean mapBlobAsVarBinary = 
connection.mapBlobAsVarBinary();
                        final int type_colnr = rs.findColumn("type");
                        final int digits_colnr = rs.findColumn("digits");
                        final int scale_colnr = rs.findColumn("scale");
@@ -190,11 +188,13 @@ public class MonetPreparedStatement
                        for (int i = 0; rs.next() && i < size; i++) {
                                monetdbType[i] = rs.getString(type_colnr);
                                javaType[i] = 
MonetDriver.getJdbcSQLType(monetdbType[i]);
-                               if (javaType[i] == Types.CLOB && 
mapClobAsVarChar) {
-                                       javaType[i] = Types.VARCHAR;
+                               if (javaType[i] == Types.CLOB) {
+                                       if (connection.mapClobAsVarChar())
+                                               javaType[i] = Types.VARCHAR;
                                } else
-                               if (javaType[i] == Types.BLOB && 
mapBlobAsVarBinary) {
-                                       javaType[i] = Types.VARBINARY;
+                               if (javaType[i] == Types.BLOB) {
+                                       if (connection.mapBlobAsVarBinary())
+                                               javaType[i] = Types.VARBINARY;
                                }
                                digits[i] = rs.getInt(digits_colnr);
                                scale[i] = rs.getInt(scale_colnr);
diff --git a/src/main/java/org/monetdb/jdbc/MonetResultSet.java 
b/src/main/java/org/monetdb/jdbc/MonetResultSet.java
--- a/src/main/java/org/monetdb/jdbc/MonetResultSet.java
+++ b/src/main/java/org/monetdb/jdbc/MonetResultSet.java
@@ -215,15 +215,15 @@ public class MonetResultSet
                        connection = (MonetConnection) 
statement.getConnection();
                } catch (SQLException se) { /* ignore it */ }
 
-               final boolean mapClobAsVarChar = connection != null && 
connection.mapClobAsVarChar();
-               final boolean mapBlobAsVarBinary = connection != null && 
connection.mapBlobAsVarBinary();
                for (int i = 0; i < types.length; i++) {
                        int javaSQLtype = MonetDriver.getJdbcSQLType(types[i]);
-                       if (javaSQLtype == Types.CLOB && mapClobAsVarChar) {
-                               javaSQLtype = Types.VARCHAR;
+                       if (javaSQLtype == Types.CLOB) {
+                               if (connection != null && 
connection.mapClobAsVarChar())
+                                       javaSQLtype = Types.VARCHAR;
                        } else
-                       if (javaSQLtype == Types.BLOB && mapBlobAsVarBinary) {
-                               javaSQLtype = Types.VARBINARY;
+                       if (javaSQLtype == Types.BLOB) {
+                               if (connection != null && 
connection.mapBlobAsVarBinary())
+                                       javaSQLtype = Types.VARBINARY;
                        }
                        JdbcSQLTypes[i] = javaSQLtype;
                }
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
@@ -121,17 +121,17 @@ final class MonetResultSetMetaData
                        throw new IllegalArgumentException("Inconsistent Header 
metadata");
                }
 
-               final boolean mapClobAsVarChar = connection.mapClobAsVarChar();
-               final boolean mapBlobAsVarBinary = 
connection.mapBlobAsVarBinary();
                // derive the JDBC SQL type codes from the types[] names once
                JdbcSQLTypes = new int[types.length];
                for (int i = 0; i < types.length; i++) {
                        int javaSQLtype = MonetDriver.getJdbcSQLType(types[i]);
-                       if (javaSQLtype == Types.CLOB && mapClobAsVarChar) {
-                               javaSQLtype = Types.VARCHAR;
+                       if (javaSQLtype == Types.CLOB) {
+                               if (connection.mapClobAsVarChar())
+                                       javaSQLtype = Types.VARCHAR;
                        } else
-                       if (javaSQLtype == Types.BLOB && mapBlobAsVarBinary) {
-                               javaSQLtype = Types.VARBINARY;
+                       if (javaSQLtype == Types.BLOB) {
+                               if (connection.mapBlobAsVarBinary())
+                                       javaSQLtype = Types.VARBINARY;
                        }
                        JdbcSQLTypes[i] = javaSQLtype;
                }
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to