src/hg/lib/jksql.c 1.132

1.132 2009/08/25 00:10:44 larrym
support showTableCache config in sqlListTables
Index: src/hg/lib/jksql.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/lib/jksql.c,v
retrieving revision 1.131
retrieving revision 1.132
diff -b -B -U 4 -r1.131 -r1.132
--- src/hg/lib/jksql.c	20 Aug 2009 18:15:41 -0000	1.131
+++ src/hg/lib/jksql.c	25 Aug 2009 00:10:44 -0000	1.132
@@ -539,19 +539,21 @@
 {
 struct sqlResult *sr;
 char **row;
 struct slName *list = NULL, *el;
+char *tableList = cfgOption("showTableCache");
 
-if (sqlTableExists(conn, "tableList"))
+if (tableList != NULL && sqlTableExists(conn, tableList))
     {
     // mysql does not cache "show tables", so use a cached run of show tables in the tableList table (if it exists).
-    // Table is loaded thus:
+    // Table should be loaded thus:
     //
     //   hgsql hg18 -e 'show tables' > tables.txt
     //   CREATE TABLE tableList (name varchar(255) NOT NULL, INDEX(name));
     //   load data local infile 'tables.txt' into table tableList;
-
-    sr = sqlGetResult(conn, "select * from tableList order by name desc");
+    char query[256];
+    safef(query, sizeof(query), "select * from %s order by name desc", tableList);
+    sr = sqlGetResult(conn, query);
     while ((row = sqlNextRow(sr)) != NULL)
         {
         el = slNameNew(row[0]);
         slAddHead(&list, el);