ed5115dcdb3fd8e7233f84466730fc8c5e85c729
max
  Thu Apr 3 05:23:19 2014 -0700
Libifying yesterday's commit and applying another patch to hgVai to makeit work in the browserbox, refs #11957 and #12717

diff --git src/hg/hgVai/hgVai.c src/hg/hgVai/hgVai.c
index b378f3d..b181842 100644
--- src/hg/hgVai/hgVai.c
+++ src/hg/hgVai/hgVai.c
@@ -448,31 +448,31 @@
 			  "GERP++", "Neutral Rate (NR)", doHtml);
 else if (sameString(tableName, "dbNsfpGerpRs"))
 	return formatDesc("http://mendel.stanford.edu/SidowLab/downloads/gerp/index.html",
 			  "GERP++", "Rejected Substitutions (RS)", doHtml);
 else if (sameString(tableName, "dbNsfpInterPro"))
 	return formatDesc("http://www.ebi.ac.uk/interpro/", "InterPro", "protein domains", doHtml);
 return NULL;
 }
 
 struct slName *findDbNsfpTables()
 /* See if this database contains dbNSFP tables. */
 {
 if (startsWith(hubTrackPrefix, database))
     return NULL;
 struct sqlConnection *conn = hAllocConn(database);
-struct slName *dbNsfpTables = sqlQuickList(conn, "NOSQLINJ show tables like 'dbNsfp%'");
+struct slName *dbNsfpTables = sqlListTablesLike(conn, "LIKE 'dbNsfp%'");
 hFreeConn(&conn);
 return dbNsfpTables;
 }
 
 void printDbNsfpSource(char *table, enum PolyPhen2Subset subset)
 /* If we know what to do with table, make a checkbox with descriptive label. */
 {
 char *description = dbNsfpDescFromTableName(table, subset, TRUE);
 if (description != NULL)
     {
     char cartVar[512];
     if (subset == HDIV)
 	safef(cartVar, sizeof(cartVar), "hgva_track_%s_%s:HDIV", database, table);
     else if (subset == HVAR)
 	safef(cartVar, sizeof(cartVar), "hgva_track_%s_%s:HVAR", database, table);
@@ -516,39 +516,37 @@
 	}
     else
 	printDbNsfpSource(table->name, 0);
     }
 puts("<BR>");
 endCollapsibleSection();
 }
 
 char *findLatestSnpTable(char *suffix)
 /* Return the name of the 'snp1__<suffix>' table with the highest build number, if any. */
 {
 if (startsWith(hubTrackPrefix, database))
     return NULL;
 if (suffix == NULL)
     suffix = "";
-char query[64];
-sqlSafef(query, sizeof(query), "show tables like 'snp1__%s'", suffix);
+char likeExpr[64];
+safef(likeExpr, sizeof(likeExpr), "LIKE 'snp1__%s'", suffix);
 struct sqlConnection *conn = hAllocConn(database);
-struct slName *snpNNNTables = sqlQuickList(conn, query);
-if (slCount(snpNNNTables)==0 && sqlFailoverConn(conn)!=NULL)
-    snpNNNTables = sqlQuickList(sqlFailoverConn(conn), query);
+struct slName *snpNNNTables = sqlListTablesLike(conn, likeExpr);
 
 hFreeConn(&conn);
-if (snpNNNTables == NULL)
+if ((snpNNNTables == NULL) || (slCount(snpNNNTables)==0))
     return NULL;
 // Skip to last in list -- highest number (show tables can't use rlike or 'order by'):
 struct slName *table = snpNNNTables;
 while (table->next != NULL && isdigit(table->next->name[4]) && isdigit(table->next->name[5]))
     table = table->next;
 char *tableName = NULL;
 if (table != NULL)
     tableName = cloneString(table->name);
 slNameFreeList(&snpNNNTables);
 return tableName;
 }
 
 boolean findSnpBed4(char *suffix, char **retFileName, struct trackDb **retTdb)
 /* If we can find the latest snpNNNsuffix table, or better yet a bigBed file for it (faster),
  * set the appropriate ret* and return TRUE, otherwise return FALSE. */