97c67666efd79c8d87918466629ee1781138797c
braney
  Thu Jun 25 17:39:35 2020 -0700
ongoing work on gencodeV35

diff --git src/hg/near/hgNear/hgNear.c src/hg/near/hgNear/hgNear.c
index 3c863d9..f9351b5 100644
--- src/hg/near/hgNear/hgNear.c
+++ src/hg/near/hgNear/hgNear.c
@@ -718,31 +718,31 @@
 /* Set up column that displays index in displayed list. */
 {
 col->cellVal = numberVal;
 col->cellPrint = cellSelfLinkPrint;
 }
 
 /* ---- Simple table lookup type columns ---- */
 
 
 struct searchResult *lookupTypeSimpleSearch(struct column *col,
     struct sqlConnection *conn, char *search)
 /* Search lookup type column. */
 {
 struct dyString *query = dyStringNew(512);
 char *searchHow = columnSetting(col, "search", "exact");
-struct sqlConnection *searchConn = hAllocConn(database);
+struct sqlConnection *searchConn = hAllocConn(sqlGetDatabase(conn));
 struct sqlResult *sr;
 char **row;
 struct searchResult *resList = NULL, *res;
 
 sqlDyStringPrintf(query, "select %s,%s from %s where %s ",
 	col->keyField, col->valField, col->table, col->valField);
 if (sameString(searchHow, "fuzzy"))
     sqlDyStringPrintf(query, "like '%%%s%%'", search);
 else if (sameString(searchHow, "prefix"))
     sqlDyStringPrintf(query, "like '%s%%'", search);
 else
     sqlDyStringPrintf(query, " = '%s'", search);
 sr = sqlGetResult(searchConn, query->string);
 while ((row = sqlNextRow(sr)) != NULL)
     {
@@ -1885,31 +1885,35 @@
 if (hIsBrowserbox())
     {
     printf("The Gene Sorter is not supported on the Genome Browser in a Box Virtual Machine.<p>");
     printf("Please use this tool on the <a href=\"http://genome.ucsc.edu/cgi-bin/hgNear\">UCSC website</a><p>");
     return;
     }
 
 char *var = NULL;
 struct sqlConnection *conn;
 struct column *colList, *col;
 cart = theCart;
 
 getDbAndGenome(cart, &database, &genome, oldVars);
 makeSureDbHasHgNear();
 getGenomeSettings();
+char *externalDb = genomeOptionalSetting("externalDb");
+if (externalDb == NULL)
     conn = hAllocConn(database);
+else
+    conn = hAllocConn(externalDb);
 
 /* if kgProtMap2 table exists, this means we are doing KG III */
 if (hTableExists(database, "kgProtMap2")) kgVersion = KG_III;
 
 /* Get groupOn.  Revert to default if no advanced filter. */
 groupOn = cartUsualString(cart, groupVarName, "expression");
 
 displayCountString = cartUsualString(cart, countVarName, "50");
 if (sameString(displayCountString, "all"))
     displayCount = BIGNUM;
 else
     displayCount = atoi(displayCountString);
 colList = getColumns(conn);
 
 /* Main dispatch logic on near.do.XXXX */