Mercurial > hg > monetdb-java
diff src/main/java/org/monetdb/util/MDBvalidator.java @ 457:ebda95332d57
Add support for double quoted schema names for the \vsi command
Optimise code at several places.
author | Martin van Dinther <martin.van.dinther@monetdbsolutions.com> |
---|---|
date | Wed, 17 Mar 2021 21:41:14 +0100 (2021-03-17) |
parents | 055dd9264d46 |
children | a888cabe2b15 |
line wrap: on
line diff
--- a/src/main/java/org/monetdb/util/MDBvalidator.java +++ b/src/main/java/org/monetdb/util/MDBvalidator.java @@ -109,11 +109,7 @@ public final class MDBvalidator { */ // public class methods (called from JdbcClient.java) - public static void validateSqlCatalogIntegrity(final Connection conn) { - validateSqlCatalogIntegrity(conn, true); - } - - public static void validateSqlCatalogIntegrity(final Connection conn, boolean showValidationHeaderInfo) { + public static void validateSqlCatalogIntegrity(final Connection conn, final boolean showValidationHeaderInfo) { final MDBvalidator mdbv = new MDBvalidator(conn); mdbv.showValidationInfo = showValidationHeaderInfo; if (mdbv.checkMonetDBVersion()) { @@ -122,11 +118,7 @@ public final class MDBvalidator { } } - public static void validateSqlNetcdfTablesIntegrity(final Connection conn) { - validateSqlNetcdfTablesIntegrity(conn, true); - } - - public static void validateSqlNetcdfTablesIntegrity(final Connection conn, boolean showValidationHeaderInfo) { + public static void validateSqlNetcdfTablesIntegrity(final Connection conn, final boolean showValidationHeaderInfo) { final MDBvalidator mdbv = new MDBvalidator(conn); mdbv.showValidationInfo = showValidationHeaderInfo; if (mdbv.checkMonetDBVersion()) { @@ -140,11 +132,7 @@ public final class MDBvalidator { } } - public static void validateSqlGeomTablesIntegrity(final Connection conn) { - validateSqlGeomTablesIntegrity(conn, true); - } - - public static void validateSqlGeomTablesIntegrity(final Connection conn, boolean showValidationHeaderInfo) { + public static void validateSqlGeomTablesIntegrity(final Connection conn, final boolean showValidationHeaderInfo) { final MDBvalidator mdbv = new MDBvalidator(conn); mdbv.showValidationInfo = showValidationHeaderInfo; if (mdbv.checkMonetDBVersion()) { @@ -153,25 +141,21 @@ public final class MDBvalidator { } } - public static void validateSchemaIntegrity(final Connection conn, final String schema) { - validateSchemaIntegrity(conn, schema, true); - } - - public static void validateSchemaIntegrity(final Connection conn, final String schema, boolean showValidationHeaderInfo) { + public static void validateSchemaIntegrity(final Connection conn, String schema, final boolean showValidationHeaderInfo) { final MDBvalidator mdbv = new MDBvalidator(conn); mdbv.showValidationInfo = showValidationHeaderInfo; + // the schema name may be surrounded by double quotes. If so, remove them. + if (schema.startsWith("\"") && schema.endsWith("\"")) { + schema = schema.substring(1, schema.length() -1); + } if (mdbv.checkSchemaExists(schema)) mdbv.validateSchema(schema, null, null, null, null, null, true); else - if (mdbv.showValidationInfo) + if (showValidationHeaderInfo) System.out.println("Schema: " + schema + " does not exist in this database."); } - public static void validateDBIntegrity(final Connection conn) { - validateDBIntegrity(conn, true); - } - - public static void validateDBIntegrity(final Connection conn, boolean showValidationHeaderInfo) { + public static void validateDBIntegrity(final Connection conn, final boolean showValidationHeaderInfo) { final MDBvalidator mdbv = new MDBvalidator(conn); mdbv.showValidationInfo = showValidationHeaderInfo; final Statement stmt = mdbv.createStatement("validateDBIntegrity()"); @@ -186,7 +170,7 @@ public final class MDBvalidator { if (rs != null) { // for each user schema do: while (rs.next()) { - String schema = rs.getString(1); + final String schema = rs.getString(1); if (schema != null && !schema.isEmpty()) { hasUserSchemas = true; mdbv.validateSchema(schema, null, null, null, null, null, true); @@ -197,7 +181,8 @@ public final class MDBvalidator { printExceptions(e); } freeStmtRs(stmt, rs); - if (!hasUserSchemas && mdbv.showValidationInfo) + + if (showValidationHeaderInfo && !hasUserSchemas) System.out.println("No user schemas found in this database."); }