From 7caa484740e087388de4a3959f791ec2d5a15d53 Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Fri, 30 Oct 2026 23:07:14 -0700 Subject: [PATCH 1/2] GH Issue 1779: Load external schemas on data sources with a display name --- api/src/org/labkey/api/data/DbSchema.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/api/src/org/labkey/api/data/DbSchema.java b/api/src/org/labkey/api/data/DbSchema.java index 48e0e5b7d47..debda347a13 100644 --- a/api/src/org/labkey/api/data/DbSchema.java +++ b/api/src/org/labkey/api/data/DbSchema.java @@ -164,7 +164,8 @@ public Module getModule() if (null != module) fullyQualifiedSchemaName = module.getDatabaseSchemaName(fullyQualifiedSchemaName); - String schemaName = DbSchema.getDbScopeAndSchemaName(fullyQualifiedSchemaName).second; + // Strip the qualifier directly; getDbScopeAndSchemaName() can't resolve a scope by its display name + String schemaName = fullyQualifiedSchemaName.substring(fullyQualifiedSchemaName.lastIndexOf('.') + 1); Map schemaNameMap = SchemaNameCache.get().getSchemaNameMap(scope); String metaDataName = schemaNameMap.get(schemaName); From e4c00e9cf1ac2ac12b647c20722b10c4d1fef3fd Mon Sep 17 00:00:00 2001 From: Adam Rauch Date: Fri, 30 Oct 2026 23:19:09 -0700 Subject: [PATCH 2/2] Support schema names with dots --- api/src/org/labkey/api/data/DbSchema.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/api/src/org/labkey/api/data/DbSchema.java b/api/src/org/labkey/api/data/DbSchema.java index debda347a13..73cf37fa3d2 100644 --- a/api/src/org/labkey/api/data/DbSchema.java +++ b/api/src/org/labkey/api/data/DbSchema.java @@ -164,8 +164,9 @@ public Module getModule() if (null != module) fullyQualifiedSchemaName = module.getDatabaseSchemaName(fullyQualifiedSchemaName); - // Strip the qualifier directly; getDbScopeAndSchemaName() can't resolve a scope by its display name - String schemaName = fullyQualifiedSchemaName.substring(fullyQualifiedSchemaName.lastIndexOf('.') + 1); + // Strip the known prefix; getDbScopeAndSchemaName() can't resolve a display name and mis-splits dotted schema names + String prefix = DbSchema.getDisplayName(scope, ""); + String schemaName = fullyQualifiedSchemaName.startsWith(prefix) ? fullyQualifiedSchemaName.substring(prefix.length()) : fullyQualifiedSchemaName; Map schemaNameMap = SchemaNameCache.get().getSchemaNameMap(scope); String metaDataName = schemaNameMap.get(schemaName);