Skip to content

Commit

Permalink
refactor(schema): remove control parameter
Browse files Browse the repository at this point in the history
  • Loading branch information
jesperolsson-se committed Apr 20, 2024
1 parent 4646472 commit b609d4f
Showing 1 changed file with 8 additions and 5 deletions.
13 changes: 8 additions & 5 deletions src/main/java/org/schemaspy/DbAnalyzer.java
Original file line number Diff line number Diff line change
Expand Up @@ -267,9 +267,9 @@ public static List<String> getPopulatedSchemas(DatabaseMetaData meta) throws SQL
* @param schemaSpec filter for schema/catalog
*/
public static List<String> getPopulatedSchemas(DatabaseMetaData meta, String schemaSpec) throws SQLException {
List<String> populatedSchemas = getPopulatedSchemas(meta, schemaSpec, false);
List<String> populatedSchemas = getPopulatedSchemas(meta, schemaSpec, getSchemas(meta));
if (populatedSchemas.isEmpty()) {
return getPopulatedSchemas(meta, schemaSpec, true);
return getPopulatedSchemas(meta, schemaSpec, getCatalogs(meta));
}
return populatedSchemas;
}
Expand All @@ -280,13 +280,16 @@ public static List<String> getPopulatedSchemas(DatabaseMetaData meta, String sch
*
* @param meta DatabaseMetaData
* @param schemaSpec filter for catalog or schema
* @param isCatalog look in catalogs or schemas
* @param candidates schemas to consider
*/
public static List<String> getPopulatedSchemas(DatabaseMetaData meta, String schemaSpec, boolean isCatalog) throws SQLException {
public static List<String> getPopulatedSchemas(
DatabaseMetaData meta,
String schemaSpec,
final List<String> candidates
) throws SQLException {
Set<String> schemas = new TreeSet<>(); // alpha sorted
Pattern schemaRegex = Pattern.compile(schemaSpec);

final List<String> candidates = isCatalog ? getCatalogs(meta) : getSchemas(meta);
for (String schema : candidates) {
if (schemaRegex.matcher(schema).matches()) {
try (ResultSet rs = meta.getTables(null, schema, "%", null)) {
Expand Down

0 comments on commit b609d4f

Please sign in to comment.