diff --git a/jOOQ/src/main/java/org/jooq/Meta.java b/jOOQ/src/main/java/org/jooq/Meta.java index 69e3add16c..4e9735d050 100644 --- a/jOOQ/src/main/java/org/jooq/Meta.java +++ b/jOOQ/src/main/java/org/jooq/Meta.java @@ -64,22 +64,32 @@ public interface Meta { /** * Get all catalog objects from the underlying {@link DatabaseMetaData} + *
+ * For those databases that don't really support JDBC meta data catalogs, a
+ * single empty catalog (named "") will be returned. In other
+ * words, there is always at least one catalog in a database.
*
- * @throws DataAccessException If something went wrong fetching the meta objects
+ * @throws DataAccessException If something went wrong fetching the meta
+ * objects
*/
+ @Support
List> getTables() throws DataAccessException;
}
diff --git a/jOOQ/src/main/java/org/jooq/impl/MetaImpl.java b/jOOQ/src/main/java/org/jooq/impl/MetaImpl.java
index 719704e5c7..9d6027dd86 100644
--- a/jOOQ/src/main/java/org/jooq/impl/MetaImpl.java
+++ b/jOOQ/src/main/java/org/jooq/impl/MetaImpl.java
@@ -92,6 +92,11 @@ class MetaImpl implements Meta {
result.add(new MetaCatalog(name));
}
+ // There should always be at least one (empty) catalog in a database
+ if (result.isEmpty()) {
+ result.add(new MetaCatalog(""));
+ }
+
return result;
}
catch (SQLException e) {