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 */