124514ebfd25805353a22085ba5bc02c7bb7c159 chmalee Thu Oct 1 11:12:10 2026 -0700 asmAlias: keep a name that has its own active dbDb row instead of swapping it for an alias, refs #38444 Co-Authored-By: Claude Opus 5.5 (1M context) diff --git src/hg/lib/asmAlias.c src/hg/lib/asmAlias.c index dbe13a1dbed..655325cd831 100644 --- src/hg/lib/asmAlias.c +++ src/hg/lib/asmAlias.c @@ -179,29 +179,32 @@ } char buffer[4096]; sqlSafef(buffer, sizeof buffer, "select * from asmAlias where alias='%s' limit 1", trackHubSkipHubName(alias)); struct asmAlias *asmAlias = asmAliasLoadByQuery(centralConn, buffer); hDisconnectCentral(¢ralConn); if (asmAlias) ret = asmAlias->browser; return ret; } char *asmAliasFindUnlessGenArk(char *alias) /* Like asmAliasFind(), but only translate through the asmAlias table if - * alias isn't already a real, existing GenArk hub -- an accession that - * resolves on its own should never be promoted to a merely "equivalent" - * alias. */ + * alias isn't already a real, existing GenArk hub or a name with its own + * active dbDb row -- a name that resolves on its own should never be promoted to + * a merely "equivalent" alias. */ { if ((alias != NULL) && startsWith("hub_", alias)) // already a decorated hub__ reference to a specific, already // attached hub -- this is not a raw accession to look up in asmAlias, // and the "hub__" decoration must not be stripped off. return alias; if (isGenArk(alias)) return alias; +// a name with its own active dbDb row (native db or curated hub) is not an alias +if ((alias != NULL) && hDbIsActive(alias)) + return alias; return asmAliasFind(alias); }