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]