9320dd4c5ad92773bc708e6d5326ce5026abcc33 larrym Thu May 24 15:24:50 2012 -0700 add getTrackVersion (#8032) diff --git src/hg/lib/trackVersion.c src/hg/lib/trackVersion.c index b99fc3b..b010984 100644 --- src/hg/lib/trackVersion.c +++ src/hg/lib/trackVersion.c @@ -1,23 +1,24 @@ /* trackVersion.c was originally generated by the autoSql program, which also * generated trackVersion.h and trackVersion.sql. This module links the database and * the RAM representation of objects. */ #include "common.h" #include "linefile.h" #include "dystring.h" #include "jksql.h" +#include "hdb.h" #include "trackVersion.h" void trackVersionStaticLoad(char **row, struct trackVersion *ret) /* Load a row from trackVersion table into ret. The contents of ret will * be replaced at the next call to this function. */ { ret->ix = sqlSigned(row[0]); ret->db = row[1]; ret->name = row[2]; ret->who = row[3]; ret->version = row[4]; ret->updateTime = row[5]; ret->comment = row[6]; @@ -234,15 +235,35 @@ fprintf(f, "%s", el->comment); if (sep == ',') fputc('"',f); fputc(sep,f); if (sep == ',') fputc('"',f); fprintf(f, "%s", el->source); if (sep == ',') fputc('"',f); fputc(sep,f); if (sep == ',') fputc('"',f); fprintf(f, "%s", el->dateReference); if (sep == ',') fputc('"',f); fputc(lastSep,f); } /* -------------------------------- End autoSql Generated Code -------------------------------- */ +struct trackVersion *getTrackVersion(char *database, char *track) +// Get most recent trackVersion for given track in given database +{ +boolean trackVersionExists = hTableExists("hgFixed", "trackVersion"); +struct trackVersion *trackVersion = NULL; +if (trackVersionExists) + { + char query[256]; + struct sqlConnection *conn = hAllocConn(database); + + safef(query, sizeof(query), "select * from hgFixed.trackVersion where db = '%s' AND name = '%s' order by ix DESC limit 1", database, track); + struct sqlResult *sr = sqlGetResult(conn, query); + char **row; + if ((row = sqlNextRow(sr)) != NULL) + trackVersion = trackVersionLoad(row); + sqlFreeResult(&sr); + hFreeConn(&conn); + } +return trackVersion; +}