Changeset: 9c9a6c0a85f6 for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java/rev/9c9a6c0a85f6
Modified Files:
tests/JDBC_API_Tester.java
Branch: default
Log Message:
Minor changes to JDBC_API_Tester
diffs (96 lines):
diff --git a/tests/JDBC_API_Tester.java b/tests/JDBC_API_Tester.java
--- a/tests/JDBC_API_Tester.java
+++ b/tests/JDBC_API_Tester.java
@@ -42,9 +42,9 @@ import org.monetdb.jdbc.types.URL;
final public class JDBC_API_Tester {
private StringBuilder sb; // buffer to collect the test output
private Connection con; // main connection shared by all tests
- private int dbmsMajorVersion;
- private int dbmsMinorVersion;
- private boolean isPostDec2023; // flag to support version specific
output
+ final private int dbmsMajorVersion;
+ final private int dbmsMinorVersion;
+ final private boolean isPostDec2023; // flag to support version
specific output
private boolean foundDifferences = false;
final private static int sbInitLen = 5468;
@@ -52,8 +52,16 @@ final public class JDBC_API_Tester {
/**
* constructor
*/
- JDBC_API_Tester() {
+ JDBC_API_Tester(Connection con_) throws SQLException {
+ this.con = con_;
sb = new StringBuilder(sbInitLen);
+
+ DatabaseMetaData dbmd = con_.getMetaData();
+ dbmsMajorVersion = dbmd.getDatabaseMajorVersion();
+ dbmsMinorVersion = dbmd.getDatabaseMinorVersion();
+ // from version 11.50 on, the MonetDB server returns different
metadata for
+ // integer digits (1 less) and for clob and char columns (now
return varchar).
+ isPostDec2023 = versionIsAtLeast(11, 50);
}
/**
@@ -67,15 +75,9 @@ final public class JDBC_API_Tester {
// Test this before trying to connect
UrlTester.runAllTests();
- JDBC_API_Tester jt = new JDBC_API_Tester();
- jt.con = DriverManager.getConnection(con_URL);
- // we are now connected
- DatabaseMetaData dbmd = jt.con.getMetaData();
- jt.dbmsMajorVersion = dbmd.getDatabaseMajorVersion();
- jt.dbmsMinorVersion = dbmd.getDatabaseMinorVersion();
- // from version 11.50 the MonetDB server returns different
metadata for
- // integer digits (1 less) and for clob and char columns (now
return varchar).
- jt.isPostDec2023 = !(jt.dbmsMajorVersion == 11 &&
jt.dbmsMinorVersion <= 49);
+ Connection conn = DriverManager.getConnection(con_URL);
+ JDBC_API_Tester jt = new JDBC_API_Tester(conn);
+
// run the tests
jt.Test_Cautocommit(con_URL);
@@ -145,7 +147,7 @@ final public class JDBC_API_Tester {
ConnectionTests.runTests(con_URL);
// invoke running OnClientTester only on Oct2020 (11.39) or
older servers
- if (jt.dbmsMajorVersion == 11 && jt.dbmsMinorVersion <= 39) {
+ if (!jt.versionIsAtLeast(11,40)) {
OnClientTester oct = new OnClientTester(con_URL, 0);
int failures = oct.runTests();
if (failures > 0)
@@ -153,6 +155,10 @@ final public class JDBC_API_Tester {
}
}
+ private boolean versionIsAtLeast(int major, int minor) {
+ return (dbmsMajorVersion > major || (dbmsMajorVersion == major
&& dbmsMinorVersion >= minor));
+ }
+
private void Test_Cautocommit(String arg0) {
sb.setLength(0); // clear the output log buffer
@@ -7242,16 +7248,18 @@ final public class JDBC_API_Tester {
prodLen = pos + 40;
System.err.println("Difference
found at line " + line + " position " + rowpos
+ ". Expected:\n\"" +
expected.substring(pos < expLen ? pos : expLen-1, expLen-1)
- + "\"\nbut gotten:\n\""
+ produced.substring(pos < prodLen ? pos : prodLen-1, prodLen-1) + "\"");
+ + "\"\nFound:\n\"" +
produced.substring(pos < prodLen ? pos : prodLen-1, prodLen-1) + "\"");
pos = max_pos;
}
}
}
System.err.println();
- System.err.println("Expected:");
+ System.err.println("---- Full Output:
---------------------------");
+ System.err.println(sb);
+ System.err.println("---- END
--------------------------------------");
+ System.err.println("---- Expected Output:
-------------------------");
System.err.println(expected);
- System.err.println("Gotten:");
- System.err.println(sb);
+ System.err.println("---- END
--------------------------------------");
System.err.println();
}
if (sb.length() > sbInitLen) {
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]