src/hg/hgTables/hgTables.c 1.192

1.192 2010/04/13 04:42:01 kent
Making filter work for makeItems. Hmm, what a complex piece of code!
Index: src/hg/hgTables/hgTables.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgTables/hgTables.c,v
retrieving revision 1.191
retrieving revision 1.192
diff -b -B -U 4 -r1.191 -r1.192
--- src/hg/hgTables/hgTables.c	12 Apr 2010 05:32:51 -0000	1.191
+++ src/hg/hgTables/hgTables.c	13 Apr 2010 04:42:01 -0000	1.192
@@ -1140,9 +1140,10 @@
 
 return(ret);
 }
 
-void doTabOutDb( char *db, char *table, FILE *f, struct sqlConnection *conn, char *fields)
+void doTabOutDb( char *db, char *dbVarName, char *table, char *tableVarName,
+	FILE *f, struct sqlConnection *conn, char *fields)
 /* Do tab-separated output on fields of a single table. */
 {
 struct region *regionList = getRegions();
 struct region *region;
@@ -1199,9 +1200,9 @@
     {
     struct sqlResult *sr;
     char **row;
     int colIx, lastCol = fieldCount-1;
-    char *filter = filterClause(db, table, region->chrom, identifierFilter);
+    char *filter = filterClause(dbVarName, tableVarName, region->chrom, identifierFilter);
 
     sr = regionQuery(conn, table, fieldSpec->string,
     	region, isPositional, filter);
     if (sr == NULL)
@@ -1211,9 +1212,9 @@
     if (! printedColumns)
         {
 	// Show only the SQL filter built from filter page options, not identifierFilter,
 	// because identifierFilter can get enormous (like 126kB for 12,500 rsIDs).
-	char *filterNoIds = filterClause(db, table, region->chrom, NULL);
+	char *filterNoIds = filterClause(dbVarName, tableVarName, region->chrom, NULL);
 	if (filterNoIds != NULL)
 	    hOrFPrintf(f, "#filter: %s\n", filterNoIds);
 	hOrFPrintf(f, "#");
 	if (showItemRgb)
@@ -1267,18 +1269,17 @@
     struct trackDb *track = findTrack(table, fullTrackList);
     doTabOutCustomTracks(db, track, conn, fields, f);
     }
 else
-    doTabOutDb(db, table, f, conn, fields);
+    doTabOutDb(db, db, table, table, f, conn, fields);
 }
 
 struct slName *fullTableFields(char *db, char *table)
 /* Return list of fields in db.table.field format. */
 {
 char dtBuf[256];
 struct sqlConnection *conn;
 struct slName *fieldList = NULL, *dtfList = NULL, *field, *dtf;
-// uglyAbort("fullTableFields(db=%s, table=%s, isCustomTrack=%d)", db, table, isCustomTrack(table));
 if (hIsBigBed(database, table, curTrack, ctLookupName))
     {
     conn = hAllocConn(db);
     fieldList = bigBedGetFields(table, conn);