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;
+}