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