src/hg/inc/metaTbl.h 1.9

1.9 2010/04/02 21:14:38 tdreszer
Eliminated call to obsolete metadataSetting(). Added support for NOT and wildcard in queries. Added support for setting multiple variables at once.
Index: src/hg/inc/metaTbl.h
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/inc/metaTbl.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -b -B -U 4 -r1.8 -r1.9
--- src/hg/inc/metaTbl.h	1 Apr 2010 23:52:17 -0000	1.8
+++ src/hg/inc/metaTbl.h	2 Apr 2010 21:14:38 -0000	1.9
@@ -162,8 +162,9 @@
     {
     struct metaByVar* next;   // Next in singly linked list of variables
     char *var;                // Metadata variable name.
     enum metaVarType varType; // txt | binary
+    boolean notEqual;         // For querying only
     struct metaLimbVal* vals; // list of values associated with this var
     struct hash* valHash;     // if NOT NULL: hash of vals  (val str to limbVal struct)
     };
 
@@ -191,9 +192,9 @@
 // ------ Loading from args, hashes ------
 struct metaObj *metaObjCreate(char *obj,char *type,char *var, char *varType,char *val);
 /* Creates a singular metaObj query object based on obj and all other optional params. */
 
-struct metaByVar*metaByVarCreate(char *var, char *varType,char *val);
+struct metaByVar *metaByVarCreate(char *var, char *varType,char *val);
 /* Creates a singular var=val pair struct for metadata queries. */
 
 struct metaObj *metaObjsLoadFromHashes(struct hash *objsHash);
 // Load all metaObjs from a file containing metadata formatted lines
@@ -274,12 +275,15 @@
 
 void metaObjRemoveVars(struct metaObj *metaObjs, char *vars);
 // Prunes list of vars for an object, freeing the memory.  Doesn't touch DB.
 
+void metaObjSwapVars(struct metaObj *metaObjs, char *vars,boolean deleteThis);
+// Replaces objs' vars with var=vap pairs provided, preparing for DB update.
+
 void metaObjTransformToUpdate(struct metaObj *metaObjs, char *var, char *varType,char *val,boolean deleteThis);
-/* Turns one or more metaObjs into the stucture needed to add/update or delete. */
+// Turns one or more metaObjs into the stucture needed to add/update or delete.
 
-struct metaObj *metaObjClone(struct metaObj *metaObj);
+struct metaObj *metaObjClone(const struct metaObj *metaObj);
 // Clones a single metaObj, including hash and maintining order
 
 
 // --------------- Free at last ----------------
@@ -290,13 +294,13 @@
 // Frees one or more metadata vars and any contained vals and objs.  Will free any hashes as well.
 
 
 // ----------------- CGI specific routines for use with tdb -----------------
-struct metaObj *metadataForTable(char *db,struct trackDb *tdb,char *table);
+const struct metaObj *metadataForTable(char *db,struct trackDb *tdb,char *table);
 // Returns the metadata for a table.  NEVER FREE THIS STRUCT!
 // This is the main routine for CGIs to access metadata
 
-char *metadataFindValue(struct trackDb *tdb, char *var);
+const char *metadataFindValue(struct trackDb *tdb, char *var);
 // Finds the val associated with the var or retruns NULL
 
 
 #endif /* METATBL_H */