Changeset: 452feb684692 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=452feb684692 Modified Files: java/ChangeLog.Dec2011 java/src/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java java/tests/Test_Dobjects.java sql/jdbc/tests/Tests/Test_Dobjects.stable.out Branch: Dec2011 Log Message:
jdbc: fix getSchemas() method when schema != null We emitted incorrect SQL (or at least our server doesn't handle it well) for the case where we did a selection on schema. Don't use the alias, but the real name instead, such that this query doesn't result in an SQL error. diffs (50 lines): diff --git a/java/ChangeLog.Dec2011 b/java/ChangeLog.Dec2011 --- a/java/ChangeLog.Dec2011 +++ b/java/ChangeLog.Dec2011 @@ -1,6 +1,10 @@ # ChangeLog file for java # This file is updated with Maddlog +* Mon Feb 20 2012 Fabian Groffen <[email protected]> +- Fixed bug in DatabaseMetaData.getSchemas() method that caused an SQL + error when called with catalog and schema argument. + * Tue Feb 14 2012 Fabian Groffen <[email protected]> - Resolved a bug where JDBC and Control connections could terminate abruptly with 'Connection closed' messages diff --git a/java/src/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java b/java/src/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java --- a/java/src/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java +++ b/java/src/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java @@ -1551,7 +1551,7 @@ public class MonetDatabaseMetaData exten if (catalog != null) query += "AND LOWER('" + cat + "') LIKE '" + escapeQuotes(catalog).toLowerCase() + "' "; if (schemaPattern != null) - query += "AND LOWER(\"TABLE_SCHEM\") LIKE '" + escapeQuotes(schemaPattern).toLowerCase() + "' "; + query += "AND LOWER(\"name\") LIKE '" + escapeQuotes(schemaPattern).toLowerCase() + "' "; query += "ORDER BY \"TABLE_SCHEM\""; return(getStmt().executeQuery(query)); diff --git a/java/tests/Test_Dobjects.java b/java/tests/Test_Dobjects.java --- a/java/tests/Test_Dobjects.java +++ b/java/tests/Test_Dobjects.java @@ -47,6 +47,7 @@ public class Test_Dobjects { // inspect the catalog by use of dbmd functions dumpResultSet(dbmd.getCatalogs()); dumpResultSet(dbmd.getSchemas()); + dumpResultSet(dbmd.getSchemas(null, "sys")); dumpResultSet(dbmd.getTables(null, null, null, null)); } catch (SQLException e) { System.out.println("FAILED :( "+ e.getMessage()); diff --git a/sql/jdbc/tests/Tests/Test_Dobjects.stable.out b/sql/jdbc/tests/Tests/Test_Dobjects.stable.out --- a/sql/jdbc/tests/Tests/Test_Dobjects.stable.out +++ b/sql/jdbc/tests/Tests/Test_Dobjects.stable.out @@ -56,6 +56,9 @@ Resultset with 3 columns TABLE_SCHEM TABLE_CATALOG TABLE_CAT sys mTests_jdbc_tests mTests_jdbc_tests tmp mTests_jdbc_tests mTests_jdbc_tests +Resultset with 3 columns +TABLE_SCHEM TABLE_CATALOG TABLE_CAT +sys mTests_jdbc_tests mTests_jdbc_tests Resultset with 10 columns TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION mTests_jdbc_tests sys _columns SYSTEM TABLE null null null null rowid SYSTEM _______________________________________________ Checkin-list mailing list [email protected] http://mail.monetdb.org/mailman/listinfo/checkin-list
