3 files changed
+45
-2
No files matched your search
@@ -47,7 +47,7 @@ public abstract class ConfiguredJdbcAgent extends AbstractJdbcAgent {
|
||||
|
||||
@Override
|
||||
public List<String> listSchemas() {
|
||||
return StandardJdbcMetadata.INSTANCE.listSchemas(requireConnection(), profile);
|
||||
return StandardJdbcMetadata.INSTANCE.listSchemas(requireConnection(), profile, configuredDatabase);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -42,11 +42,23 @@ public final class StandardJdbcMetadata {
|
||||
}
|
||||
|
||||
public List<String> listSchemas(Connection conn, JdbcAgentProfile profile) {
|
||||
return listSchemas(conn, profile, null);
|
||||
}
|
||||
|
||||
public List<String> listSchemas(Connection conn, JdbcAgentProfile profile, String configuredCatalog) {
|
||||
return unchecked(() -> {
|
||||
Set<String> names = new LinkedHashSet<>();
|
||||
DatabaseMetaData meta = conn.getMetaData();
|
||||
String catalog = blankToNull(configuredCatalog);
|
||||
try {
|
||||
appendSchemas(names, meta.getSchemas(null, null));
|
||||
String currentCatalog = conn.getCatalog();
|
||||
if (currentCatalog != null && !currentCatalog.trim().isEmpty()) {
|
||||
catalog = currentCatalog.trim();
|
||||
}
|
||||
} catch (Exception | AbstractMethodError ignored) {
|
||||
}
|
||||
try {
|
||||
appendSchemas(names, meta.getSchemas(catalog, null));
|
||||
} catch (Exception | AbstractMethodError first) {
|
||||
try {
|
||||
appendSchemas(names, meta.getSchemas());
|
||||
|
||||
Reference in new issue
Block a user