src/hg/inc/metaTbl.h 1.4
1.4 2010/03/19 21:23:14 tdreszer
Added support routines for hgTrackUi using metaTbl
Index: src/hg/inc/metaTbl.h
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/inc/metaTbl.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -b -B -U 4 -r1.3 -r1.4
--- src/hg/inc/metaTbl.h 19 Mar 2010 17:34:42 -0000 1.3
+++ src/hg/inc/metaTbl.h 19 Mar 2010 21:23:14 -0000 1.4
@@ -86,8 +86,9 @@
/* Print out metaTbl as a comma separated list including final comma. */
/* -------------------------------- End autoSql Generated Code -------------------------------- */
+#define METATBL_DEFAULT_DB "hg19"
#define METATBL_DEFAULT_NAME "metaTbl"
enum metaObjType
@@ -185,30 +186,30 @@
// Load all metaObjs from a file containing metadata formatted lines
// -------------- Updating the DB --------------
-int metaObjsSetToDb(struct sqlConnection *conn,char *tableName,struct metaObj *metaObjs,boolean replace);
+int metaObjsSetToDb(char * db,char *tableName,struct metaObj *metaObjs,boolean replace);
// Adds or updates metadata obj/var pairs into the named table. Returns total rows affected
// ------------------ Querys -------------------
-struct metaObj *metaObjQuery(struct sqlConnection *conn,char *table,struct metaObj *metaObj);
+struct metaObj *metaObjQuery(char * db,char *table,struct metaObj *metaObj);
// Query the metadata table by obj and optional vars and vals in metaObj struct. If metaObj is NULL query all.
// Returns new metaObj struct fully populated and sorted in obj,var order.
#define metaObjsQueryAll(conn,table) metaObjQuery((conn),(table),NULL)
-struct metaObj *metaObjQueryByObj(struct sqlConnection *conn,char *table,char *objName,char *varName);
+struct metaObj *metaObjQueryByObj(char * db,char *table,char *objName,char *varName);
// Query a single metadata object and optional var from a table (default metaTbl).
-struct metaByVar *metaByVarsQuery(struct sqlConnection *conn,char *table,struct metaByVar *metaByVars);
+struct metaByVar *metaByVarsQuery(char * db,char *table,struct metaByVar *metaByVars);
// Query the metadata table by one or more var=val pairs to find the distinct set of objs that satisfy ANY conditions.
// Returns new metaByVar struct fully populated and sorted in var,val,obj order.
#define metaByVarsQueryAll(conn,table) metaByVarsQuery((conn),(table),NULL)
-struct metaByVar *metaByVarQueryByVar(struct sqlConnection *conn,char *table,char *varName,char *val);
+struct metaByVar *metaByVarQueryByVar(char * db,char *table,char *varName,char *val);
// Query a single metadata variable and optional val from a table (default metaTbl) for searching val->obj.
-struct metaObj *metaObjsQueryByVars(struct sqlConnection *conn,char *table,struct metaByVar *metaByVars);
+struct metaObj *metaObjsQueryByVars(char * db,char *table,struct metaByVar *metaByVars);
// Query the metadata table by one or more var=val pairs to find the distinct set of objs that satisfy ALL conditions.
// Returns new metaObj struct fully populated and sorted in obj,var order.
@@ -225,8 +226,22 @@
int metaByVarCount(struct metaByVar *metaByVars,boolean vars, boolean vals);
// returns the count of objs belonging to this set of vars;
+// ----------------- Utilities -----------------
+boolean metaObjContains(struct metaObj *metaObj, char *var, char *val);
+// Returns TRUE if object contains var, val or both
+
+boolean metaByVarContains(struct metaByVar *metaByVar, char *val, char *obj);
+// Returns TRUE if var contains val, obj or both
+
+void metaObjReorderVars(struct metaObj *metaObjs, char *vars,boolean back);
+// Reorders vars list based upon list of vars "cell antibody treatment". Send to front or back.
+
+void metaObjRemoveVars(struct metaObj *metaObjs, char *vars);
+// Prunes list of vars for an object, freeing the memory. Doesn't touch DB.
+
+
// --------------- Free at last ----------------
void metaObjsFree(struct metaObj **metaObjsPtr);
// Frees one or more metadata objects and any contained metaVars. Will free any hashes as well.