You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by re...@apache.org on 2016/02/22 15:03:58 UTC
svn commit: r1731647 - in
/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb:
RDBBlobStore.java RDBDocumentStore.java RDBJDBCTools.java
Author: reschke
Date: Mon Feb 22 14:03:58 2016
New Revision: 1731647
URL: http://svn.apache.org/viewvc?rev=1731647&view=rev
Log:
RDBDocumentStore: refactor version check to address driver version as well
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBBlobStore.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBJDBCTools.java
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBBlobStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBBlobStore.java?rev=1731647&r1=1731646&r2=1731647&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBBlobStore.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBBlobStore.java Mon Feb 22 14:03:58 2016
@@ -167,7 +167,7 @@ public class RDBBlobStore extends Cachin
RDBBlobStoreDB db = RDBBlobStoreDB.getValue(md.getDatabaseProductName());
String versionDiags = db.checkVersion(md);
if (!versionDiags.isEmpty()) {
- LOG.info(versionDiags);
+ LOG.error(versionDiags);
}
String dbDesc = String.format("%s %s (%d.%d)", md.getDatabaseProductName(), md.getDatabaseProductVersion(),
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java?rev=1731647&r1=1731646&r2=1731647&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStore.java Mon Feb 22 14:03:58 2016
@@ -782,7 +782,7 @@ public class RDBDocumentStore implements
.build();
String versionDiags = dbInfo.checkVersion(md);
if (!versionDiags.isEmpty()) {
- LOG.info(versionDiags);
+ LOG.error(versionDiags);
}
if (! "".equals(dbInfo.getInitializationStatement())) {
Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBJDBCTools.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBJDBCTools.java?rev=1731647&r1=1731646&r2=1731647&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBJDBCTools.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBJDBCTools.java Mon Feb 22 14:03:58 2016
@@ -206,17 +206,70 @@ public class RDBJDBCTools {
}
/**
- * Generate version diagnostics.
+ * Generate database + driver version diagnostics.
+ *
+ * @param md
+ * metadata object
+ * @param dbmax
+ * minimal DB major version number (where {@code -1} disables the
+ * check)
+ * @param dbmin
+ * minimal DB minor version number
+ * @param drmax
+ * minimal driver major version number (where {@code -1} disables
+ * the check)
+ * @param drin
+ * minimal driver minor version number
+ * @param dbname
+ * database type
+ * @return diagnostics (empty when there's nothing to complain about)
*/
- protected static String versionCheck(DatabaseMetaData md, int xmaj, int xmin, String description) throws SQLException {
- int maj = md.getDatabaseMajorVersion();
- int min = md.getDatabaseMinorVersion();
- if (maj < xmaj || (maj == xmaj && min < xmin)) {
- return "Unsupported " + description + " version: " + maj + "." + min + ", expected at least " + xmaj + "." + xmin;
+ protected static String versionCheck(DatabaseMetaData md, int dbmax, int dbmin, int drmax, int drmin, String dbname)
+ throws SQLException {
+ StringBuilder result = new StringBuilder();
+
+ if (dbmax != -1) {
+ int maj = md.getDatabaseMajorVersion();
+ int min = md.getDatabaseMinorVersion();
+
+ if (maj < dbmax || (maj == dbmax && min < dbmin)) {
+ result.append(
+ "Unsupported " + dbname + " version: " + maj + "." + min + ", expected at least " + dbmax + "." + dbmin);
+ }
}
- else {
- return "";
+
+ if (drmax != -1) {
+ int maj = md.getDriverMajorVersion();
+ int min = md.getDriverMinorVersion();
+
+ if (maj < drmax || (maj == dbmax && min < dbmin)) {
+ if (result.length() != 0) {
+ result.append(", ");
+ }
+ result.append("Unsupported " + dbname + " driver version: " + md.getDriverName() + " " + maj + "." + min
+ + ", expected at least " + dbmax + "." + dbmin);
+ }
}
+
+ return result.toString();
+ }
+
+ /**
+ * Generate database version diagnostics.
+ *
+ * @param md
+ * metadata object
+ * @param dbmax
+ * minimal DB major version number (where {@code -1} disables the
+ * check)
+ * @param dbmin
+ * minimal DB minor version number
+ * @param dbname
+ * database type
+ * @return diagnostics (empty when there's nothing to complain about)
+ */
+ protected static String versionCheck(DatabaseMetaData md, int dbmax, int dbmin, String dbname) throws SQLException {
+ return versionCheck(md, dbmax, dbmin, -1, -1, dbname);
}
/**