e8c22713a73f66943a295ed2b4912e6d8069e782 braney Wed Sep 10 16:54:43 2025 -0700 allow quickLiftChain and liftOverChain tables to have different names specified in hg.conf diff --git src/hg/lib/hubConnect.c src/hg/lib/hubConnect.c index 3c99aba6fdb..2b8026e750a 100644 --- src/hg/lib/hubConnect.c +++ src/hg/lib/hubConnect.c @@ -15,30 +15,31 @@ #include "jksql.h" #include "hdb.h" #include "net.h" #include "trackHub.h" #include "hubConnect.h" #include "hui.h" #include "errCatch.h" #include "obscure.h" #include "hgConfig.h" #include "grp.h" #include "udc.h" #include "hubPublic.h" #include "genark.h" #include "asmAlias.h" #include "cheapcgi.h" +#include "quickLift.h" boolean hubsCanAddGroups() /* can track hubs have their own groups? */ { static boolean canHubs = FALSE; static boolean canHubsSet = FALSE; if (!canHubsSet) { canHubs = cfgOptionBooleanDefault("trackHubsCanAddGroups", FALSE); canHubsSet = TRUE; } return canHubs; } @@ -326,31 +327,31 @@ for (name = nameList; name != NULL; name = name->next) { // items in trackHub statement may need to be quickLifted. This is implied // by the hubStatus id followed by a colon and then a index into the quickLiftChain table struct hubConnectStatus *hub = NULL; char *copy = cloneString(name->name); char *colon = strchr(copy, ':'); if (colon) *colon++ = 0; int id = sqlSigned(copy); if (colon == NULL) // not quickLifted hub = hubConnectStatusForId(conn, id); else { char query[4096]; - sqlSafef(query, sizeof(query), "select fromDb, toDb, path from %s where id = \"%s\"", "quickLiftChain", colon); + sqlSafef(query, sizeof(query), "select fromDb, toDb, path from %s where id = \"%s\"", quickLiftChainTable(), colon); struct sqlResult *sr = sqlGetResult(conn, query); char **row; char *replaceDb = NULL; char *quickLiftChain = NULL; char *toDb = NULL; while ((row = sqlNextRow(sr)) != NULL) { replaceDb = cloneString(row[0]); toDb = cloneString(row[1]); quickLiftChain = cloneString(row[2]); break; // there's only one } sqlFreeResult(&sr); // don't load quickLift hubs that aren't for us