src/hg/hgTables/asObj.c 1.4

1.4 2009/05/20 20:59:55 mikep
Libified findTdbForTable, findTypeForTable, trackIsType, hIsBigBed from hgTables so that other code can easily determine if a track is a bigBed.
Index: src/hg/hgTables/asObj.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgTables/asObj.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -b -B -U 1000000 -r1.3 -r1.4
--- src/hg/hgTables/asObj.c	17 Mar 2009 17:24:50 -0000	1.3
+++ src/hg/hgTables/asObj.c	20 May 2009 20:59:55 -0000	1.4
@@ -1,79 +1,79 @@
 /* asObj - get and use parsed autoSQL objects describing table. */
 
 #include "common.h"
 #include "linefile.h"
 #include "jksql.h"
 #include "asParse.h"
 #include "errCatch.h"
 #include "hgTables.h"
 
 static char const rcsid[] = "$Id$";
 
 static struct asObject *asForTableOrDie(struct sqlConnection *conn, char *table)
 /* Get autoSQL description if any associated with table.   Abort if
  * there's a problem*/
 {
 struct asObject *asObj = NULL;
-if (isBigBed(table))
+if (hIsBigBed(database, table, curTrack, ctLookupName))
     {
     asObj = bigBedAsForTable(table, conn);
     }
 else
     {
     if (sqlTableExists(conn, "tableDescriptions"))
 	{
 	char query[256];
 	char *asText = NULL;
 
 	/* Try split table first. */
 	safef(query, sizeof(query), 
 	    "select autoSqlDef from tableDescriptions where tableName='chrN_%s'",
 	    table);
 	asText = sqlQuickString(conn, query);
 
 	/* If no result try unsplit table. */
 	if (asText == NULL)
 	    {
 	    safef(query, sizeof(query), 
 		"select autoSqlDef from tableDescriptions where tableName='%s'",
 		table);
 	    asText = sqlQuickString(conn, query);
 	    }
 	if (asText != NULL && asText[0] != 0)
 	    {
 	    asObj = asParseText(asText);
 	    }
 	freez(&asText);
 	}
     }
 return asObj;
 }
 
 struct asObject *asForTable(struct sqlConnection *conn, char *table)
 /* Get autoSQL description if any associated with table. */
 /* Wrap some error catching around asForTable. */
 {
 struct errCatch *errCatch = errCatchNew();
 struct asObject *asObj = NULL;
 if (errCatchStart(errCatch))
     {
     asObj = asForTableOrDie(conn, table);
     }
 errCatchEnd(errCatch);
 errCatchFree(&errCatch);
 return asObj;
 }
 
 struct asColumn *asColumnFind(struct asObject *asObj, char *name)
 /* Return named column. */
 {
 struct asColumn *asCol = NULL;
 if (asObj!= NULL)
     {
     for (asCol = asObj->columnList; asCol != NULL; asCol = asCol->next)
         if (sameString(asCol->name, name))
 	     break;
     }
 return asCol;
 }