8ccd7f957e100e1a7e719fcc1a75584b534ea744
braney
  Fri Nov 14 14:52:32 2025 -0800
fix problem with quickLift refs #36702

diff --git src/hg/hgTracks/pubsTracks.c src/hg/hgTracks/pubsTracks.c
index 058a17b0e6d..5869521030a 100644
--- src/hg/hgTracks/pubsTracks.c
+++ src/hg/hgTracks/pubsTracks.c
@@ -222,31 +222,33 @@
 static void pubsAddExtra(struct track* tg, struct linkedFeatures* lf)
 /* add authorYear and title to linkedFeatures->extra */
 {
 // no extra field if we're in dense mode
 if (tg->limitedVis == tvDense) 
     {
     return;
     }
 
 char *articleTable = trackDbSettingClosestToHome(tg->tdb, "pubsArticleTable");
 if(isEmpty(articleTable))
     return;
 if (lf->extra != NULL) 
     return;
 
-struct sqlConnection *conn = hAllocConn(database);
+char *liftDb = cloneString(trackDbSetting(tg->tdb, "quickLiftDb"));
+char *db = (liftDb == NULL) ? database : liftDb;
+struct sqlConnection *conn = hAllocConn(db);
 struct pubsExtra* extra = pubsMakeExtra(tg, articleTable, conn, lf);
 lf->extra = extra;
 hFreeConn(&conn);
 }
 
 struct hash* searchForKeywords(struct sqlConnection* conn, char *articleTable, char *keywords)
 /* return hash with the articleIds that contain a given keyword in the abstract/title/authors */
 {
 if (isEmpty(keywords))
     return NULL;
 
 char query[12000];
 sqlSafef(query, sizeof(query), "SELECT articleId FROM %s WHERE "
 "MATCH (citation, title, authors, abstract) AGAINST ('%s' IN BOOLEAN MODE)", articleTable, keywords);
 //printf("query %s", query);
@@ -256,31 +258,33 @@
 
 // convert list to hash
 struct hash *hashA = hashNew(0);
 struct slName *el;
 for (el = artIds; el != NULL; el = el->next)
     hashAddInt(hashA, el->name, 1);
 freeMem(keywords);
 slFreeList(artIds);
 return hashA;
 }
 
 static void pubsLoadKeywordYearItems(struct track *tg)
 /* load items that fulfill keyword and year filter */
 {
 pubsParseClassColors();
-struct sqlConnection *conn = hAllocConn(database);
+char *liftDb = cloneString(trackDbSetting(tg->tdb, "quickLiftDb"));
+char *db = (liftDb == NULL) ? database : liftDb;
+struct sqlConnection *conn = hAllocConn(db);
 char *keywords = cartOptionalStringClosestToHome(cart, tg->tdb, FALSE, "pubsFilterKeywords");
 char *yearFilter = cartOptionalStringClosestToHome(cart, tg->tdb, FALSE, "pubsFilterYear");
 char *publFilter = cartOptionalStringClosestToHome(cart, tg->tdb, FALSE, "pubsFilterPublisher");
 char *articleTable = pubsArticleTable(tg);
 
 if(sameOk(yearFilter, "anytime"))
     yearFilter = NULL;
 if(sameOk(publFilter, "all"))
     publFilter = NULL;
 
 if(isNotEmpty(keywords))
     keywords = makeMysqlMatchStr(keywords);
 
 if (isEmpty(yearFilter) && isEmpty(keywords) && isEmpty(publFilter))
 {