I've patched the driver but cannot compile it because the sources downloaded from the site are not complete (NameHandling.java is missing).
Anyway I've attached the patch.
P.S.: I've already submitted a bug to jboss but they rejected it with the reason that's a JDBC driver bug. I agree with them because SQL should be case insensitive and so should behave the MetaData class ...
Only in sapdb-jdbc/com/sap/dbtech/jdbc: .ConnectionSapDB.java.swp
diff -r -u sapdb-jdbc/com/sap/dbtech/jdbc/DatabaseMetaDataSapDB.java sapdb-jdbc.orig/com/sap/dbtech/jdbc/DatabaseMetaDataSapDB.java
--- sapdb-jdbc/com/sap/dbtech/jdbc/DatabaseMetaDataSapDB.java Fri Feb 1 17:48:09 2002
+++ sapdb-jdbc.orig/com/sap/dbtech/jdbc/DatabaseMetaDataSapDB.java Fri Feb 1 17:56:48 2002
@@ -782,16 +782,15 @@
+ "PRIVILEGE, "
+ "IS_GRANTABLE "
+ "FROM domain.tableprivileges ");
- String conj = "WHERE ";
if (this.realPatternQualification(schemaPattern)) {
- qualification.append (conj);
- qualification.append ("owner LIKE '" + schemaPattern.toUpperCase() + "' ");
- conj="AND ";
+ qualification.append ("AND owner LIKE '" + schemaPattern + "' ");
}
if (this.realPatternQualification(tableNamePattern)) {
- qualification.append (conj);
- qualification.append ("tablename LIKE '" + tableNamePattern.toUpperCase() + "' ");
- conj="AND ";
+ qualification.append ("AND tablename LIKE '" + tableNamePattern + "' ");
+ }
+ if (qualification.length () > 0) {
+ cmd.append ("WHERE 1 = 1 ");
+ cmd.append (qualification.toString ());
}
cmd.append (" ORDER BY owner, tablename ");
return this.internalQuery (cmd.toString (), "getTablePrivileges");
@@ -1606,4 +1605,4 @@
public boolean usesLocalFiles() throws SQLException {
return false;
}
-}
+}
\ No newline at end of file
