From 40fdd3f7d12ed412836a5795d204235d98d18fac Mon Sep 17 00:00:00 2001 From: Artyom Abakumov Date: Fri, 15 May 2026 08:20:42 +0300 Subject: [PATCH] Fix assert for clause like "OLD.*" when searching for constant --- src/dsql/PackageNodes.epp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/dsql/PackageNodes.epp b/src/dsql/PackageNodes.epp index fbbf75ccdab..ae5b4a3981d 100644 --- a/src/dsql/PackageNodes.epp +++ b/src/dsql/PackageNodes.epp @@ -479,11 +479,12 @@ void PackageReferenceNode::make(DsqlCompilerScratch* dsqlScratch, dsc* desc) bool PackageReferenceNode::constantExists(thread_db* tdbb, Jrd::jrd_tra* transaction, const QualifiedName& fullName, bool* isPrivate) { - fb_assert(fullName.schema.hasData()); - if (fullName.package.isEmpty() || fullName.object.isEmpty()) return false; + // Delay this assert check due to invalid constructs such as "OLD.*" that may be passed to this function. + fb_assert(fullName.schema.hasData()); + auto* package = MetadataCache::getVersioned(tdbb, fullName.getSchemaAndPackage(), CacheFlag::AUTOCREATE); if (package == nullptr) return false;