src/hg/lib/hdb.c 1.426
1.426 2010/05/11 01:43:29 kent
Refactoring to split the trackDb.tableName field into separate track and table fields. Similarly track.mapName field goes to the same track and table fields.
Index: src/hg/lib/hdb.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/lib/hdb.c,v
retrieving revision 1.425
retrieving revision 1.426
diff -b -B -U 4 -r1.425 -r1.426
--- src/hg/lib/hdb.c 7 May 2010 05:03:55 -0000 1.425
+++ src/hg/lib/hdb.c 11 May 2010 01:43:29 -0000 1.426
@@ -3316,11 +3316,11 @@
{
struct trackDb *oneTable = trackDbLoadWhere(conn, tbl, where), *oneRow;
while ((oneRow = slPopHead(&oneTable)) != NULL)
{
- if (!hashLookup(loaded, oneRow->tableName))
+ if (!hashLookup(loaded, oneRow->track))
{
- hashAdd(loaded, oneRow->tableName, NULL);
+ hashAdd(loaded, oneRow->track, NULL);
slAddHead(tdbList, oneRow);
// record for use in check available tracks
char *profileName = getTrackProfileName(oneRow);
if (profileName != NULL)
@@ -3357,17 +3357,18 @@
hashFree(&loaded);
/* fill in supertrack fields, if any in settings */
trackDbSuperMarkup(tdbList);
+trackDbAddTableField(tdbList);
return tdbList;
}
static void addTrackIfDataAccessible(char *database, struct trackDb *tdb, char *chrom,
boolean privateHost, struct trackDb **tdbRetList)
/* check if a trackDb entry should be included in display, and if so
* add it to the list, otherwise free it */
{
-if ((!tdb->private || privateHost) && hTableForTrack(database, tdb->tableName) != NULL)
+if ((!tdb->private || privateHost) && hTableForTrack(database, tdb->table) != NULL)
slAddHead(tdbRetList, tdb);
else
trackDbFree(&tdb);
}
@@ -3402,9 +3403,9 @@
* this is no longer needed, but am leaving it in until such time as the
* supertrack system as a whole is factored out -jk. */
{
assert(subtrackTdb->parent == compositeTdb);
-subtrackTdb->parentName = compositeTdb->tableName;
+subtrackTdb->parentName = compositeTdb->track;
if (!trackDbSettingClosestToHome(subtrackTdb, "noInherit"))
{
if (isEmpty(subtrackTdb->type))
subtrackTdb->type = cloneString(compositeTdb->type);
@@ -3490,9 +3491,9 @@
{
struct trackDb *tdb;
for (tdb = tdbList; tdb != NULL; tdb = tdb->next)
{
- if (sameString(track, tdb->tableName))
+ if (sameString(track, tdb->track))
return tdb;
struct trackDb *matchingChild = rFindTrack(level+1, tdb->subtracks, track);
if (matchingChild != NULL)
return matchingChild;
@@ -3503,9 +3504,9 @@
{
for (tdb = tdbList; tdb != NULL; tdb = tdb->next)
{
struct trackDb *p = tdb->parent;
- if (p != NULL && sameString(track, p->tableName))
+ if (p != NULL && sameString(track, p->track))
return p;
}
}
@@ -3573,9 +3574,9 @@
struct sqlConnection *conn = hAllocConn(db);
char where[256];
safef(where, sizeof(where),
"settings rlike '^(.*\n)?superTrack %s([ \n].*)?$' order by priority desc",
- tdb->tableName);
+ tdb->track);
tdb->subtracks = loadAndLookupTrackDb(conn, where); // TODO: Straighten out when super points to children and when not!
struct trackDb *subTdb;
for (subTdb = tdb->subtracks; subTdb != NULL; subTdb = subTdb->next)
{