From b162f23d4db7d4b17973830f5c89d71b2ea71333 Mon Sep 17 00:00:00 2001 From: gerdwagner Date: Sun, 27 Aug 2023 11:40:09 +0200 Subject: [PATCH] Multiple catalogs choice (GitHub issue 17): Bug fixes and clarifications. --- .../gui/session/catalogspanel/AliasCatalogLoadModel.java | 5 ++++- .../gui/session/catalogspanel/CatalogsPanelController.java | 3 ++- .../client/gui/session/catalogspanel/I18NStrings.properties | 5 +++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/sql12/core/src/net/sourceforge/squirrel_sql/client/gui/session/catalogspanel/AliasCatalogLoadModel.java b/sql12/core/src/net/sourceforge/squirrel_sql/client/gui/session/catalogspanel/AliasCatalogLoadModel.java index d13040678..ca82ba3cb 100644 --- a/sql12/core/src/net/sourceforge/squirrel_sql/client/gui/session/catalogspanel/AliasCatalogLoadModel.java +++ b/sql12/core/src/net/sourceforge/squirrel_sql/client/gui/session/catalogspanel/AliasCatalogLoadModel.java @@ -105,11 +105,14 @@ public List getCatalogStringsToLoad() /** * Just to represent a simple caller given catalog name. * Maybe if one day complexity grows this class will become an interface with two implementations. + * + * The catalogName parameter is null regularly, especially for databases that don't support schemas. */ public static AliasCatalogLoadModel of(String catalogName) { AliasCatalogLoadModel ret = new AliasCatalogLoadModel(); - ret._catalogNamesToLoad = List.of(catalogName); + ret._catalogNamesToLoad = new ArrayList<>(); + ret._catalogNamesToLoad.add(catalogName); return ret; } } diff --git a/sql12/core/src/net/sourceforge/squirrel_sql/client/gui/session/catalogspanel/CatalogsPanelController.java b/sql12/core/src/net/sourceforge/squirrel_sql/client/gui/session/catalogspanel/CatalogsPanelController.java index 13ba309a7..86aa6e999 100644 --- a/sql12/core/src/net/sourceforge/squirrel_sql/client/gui/session/catalogspanel/CatalogsPanelController.java +++ b/sql12/core/src/net/sourceforge/squirrel_sql/client/gui/session/catalogspanel/CatalogsPanelController.java @@ -148,8 +148,9 @@ private void refreshSchemaAndTree() api.refreshTree(true); String schema = null; - if (DialectFactory.isMSSQLServer(_session.getSQLConnection().getSQLMetaData()) || DialectFactory.isSyBase(_session.getSQLConnection().getSQLMetaData())) + if (DialectFactory.isMSSQLServer(_session.getSQLConnection().getSQLMetaData())) { + // dbo is MSSQL's default schema. schema = "dbo"; } diff --git a/sql12/core/src/net/sourceforge/squirrel_sql/client/gui/session/catalogspanel/I18NStrings.properties b/sql12/core/src/net/sourceforge/squirrel_sql/client/gui/session/catalogspanel/I18NStrings.properties index d223cf0aa..56c8382c6 100644 --- a/sql12/core/src/net/sourceforge/squirrel_sql/client/gui/session/catalogspanel/I18NStrings.properties +++ b/sql12/core/src/net/sourceforge/squirrel_sql/client/gui/session/catalogspanel/I18NStrings.properties @@ -6,7 +6,8 @@ CatalogsPanel.configure.catalogs.to.load=Configure additional catalogs to load . AdditionalCatalogsDlg.title=Choose additional catalogs to load AdditionalCatalogsDlg.explain=By default, SQuirreL does not specify catalogs when it loads schema data (tables, ...) \ - but relies on the connections current catalog (which can be switched by the catalogs drop down).\ - Here users can choose catalogs that are loaded additionally to SQuirreL's standard schema data loading. + but relies on the database's built in behaviour which in some cases depends on the connections current catalog. \ + (The current catalog can be switched by the catalogs drop down). \ + Here users can choose catalogs that should be loaded additionally to SQuirreL's default schema data loading. AdditionalCatalogsDlg.ok=Ok \ No newline at end of file