7466d1654758a960990796f5c049e09e475f7766 tdreszer Thu Dec 1 17:12:06 2011 -0800 More timing in hgFileUi and hgFileSearch led to important efficiency changes. Most notable, I am relying upon cached rsync results now to improve speed. diff --git src/hg/inc/mdb.h src/hg/inc/mdb.h index e898392..84034d3 100644 --- src/hg/inc/mdb.h +++ src/hg/inc/mdb.h @@ -350,30 +350,33 @@ void mdbObjReorderByCv(struct mdbObj *mdbObjs, boolean includeHidden); // Reorders vars list based upon cv.ra typeOfTerms priority void mdbObjsSortOnVars(struct mdbObj **mdbObjs, char *vars); // Sorts on var,val pairs vars lists: fwd case-sensitive. Assumes all objs' vars are in identical order. // Optionally give list of vars "cell antibody treatment" to sort on (bringing to front of vars lists). void mdbObjsSortOnVarPairs(struct mdbObj **mdbObjs,struct slPair *varValPairs); // Sorts on var,val pairs vars lists: fwd case-sensitive. Assumes all objs' vars are in identical order. // This method will use mdbObjsSortOnVars() void mdbObjsSortOnCv(struct mdbObj **mdbObjs, boolean includeHidden); // Puts obj->vars in order based upon cv.ra typeOfTerms priority, // then case-sensitively sorts all objs in list based upon that var order. +boolean mdbObjRemoveOneVar(struct mdbObj *mdbObj, char *var, char *val); +// returns TRUE if var (and optional val) are found and surgically removed from one mdbObj + void mdbObjRemoveVars(struct mdbObj *mdbObjs, char *vars); // Prunes list of vars for an object, freeing the memory. Doesn't touch DB. void mdbObjRemoveHiddenVars(struct mdbObj *mdbObjs); // Prunes list of vars for mdb objs that have been declared as hidden in cv.ra typeOfTerms boolean mdbObjsHasCommonVar(struct mdbObj *mdbList, char *var, boolean missingOk); // Returns TRUE if all mbObjs passed in have the var with the same value char *mdbRemoveCommonVar(struct mdbObj *mdbList, char *var); // Removes var from set of mdbObjs but only if all that hav it have a commmon val // Returns the val if removed, else NULL boolean mdbObjSetVar(struct mdbObj *mdbObj, char *var,char *val); // Sets the string value to a single var in an obj, preparing for DB update.