a1beb926d542ef1afff071ff4cbfc4851af24744 tdreszer Mon Nov 22 11:54:46 2010 -0800 Support for searchable freeText in cv.ra diff --git src/hg/inc/mdb.h src/hg/inc/mdb.h index 79e8657..19fc9a2 100644 --- src/hg/inc/mdb.h +++ src/hg/inc/mdb.h @@ -313,17 +313,34 @@ // Search the metaDb table for vals by var. Can impose (non-zero) limit on returned string size of val // Search is via mysql, so it's case-insensitive. Return is sorted on val. struct slPair *mdbValLabelSearch(struct sqlConnection *conn, char *var, int limit, boolean tables, boolean files); // Search the metaDb table for vals by var and returns controlled vocabulary (cv) label // (if it exists) and val as a pair. Can impose (non-zero) limit on returned string size of name. // Return is case insensitive sorted on name (label or else val). struct hash *mdbCvTermTypeHash(); // returns a hash of hashes of mdb and controlled vocabulary (cv) term types // Those terms should contain label,descrition,searchable,cvDefined,hidden struct slPair *mdbCvWhiteList(boolean searchTracks, boolean cvLinks); // returns the official mdb/controlled vocabulary terms that have been whitelisted for certain uses. +#define CV_SEARCH_SUPPORTS_FREETEXT +#ifdef CV_SEARCH_SUPPORTS_FREETEXT +enum mdbCvSearchable +// metadata Variavble are only certain declared types + { + cvsNotSearchable =0, // Txt is default + cvsSearchByMultiSelect =1, // Search by drop down multi-select of supplied list (NOT YET IMPLEMENTED) + cvsSearchBySingleSelect =2, // Search by drop down single-select of supplied list + cvsSearchByFreeText =3, // Search by free text field (NOT YET IMPLEMENTED) + cvsSearchByDateRange =4, // Search by discovered date range (NOT YET IMPLEMENTED) + cvsSearchByIntegerRange =5 // Search by discovered integer range (NOT YET IMPLEMENTED) + }; + +enum mdbCvSearchable mdbCvSearchMethod(char *term); +// returns whether the term is searchable // TODO: replace with mdbCvWhiteList() returning struct +#endif//ndef CV_SEARCH_SUPPORTS_FREETEXT + #endif /* MDB_H */