c2a522145128e59acc06adedd08bf9270a207869 braney Wed Aug 26 14:40:57 2020 -0700 add yLabel to the set of complex variables that can have a dot after them diff --git src/hg/utils/tdbQuery/tdbQuery.c src/hg/utils/tdbQuery/tdbQuery.c index c420bc1..6a55613 100644 --- src/hg/utils/tdbQuery/tdbQuery.c +++ src/hg/utils/tdbQuery/tdbQuery.c @@ -869,33 +869,35 @@ childFp->fileName, child->key, childFp->startLineIx, parent->key, parentFp->startLineIx); struct tdbRecord *closestParent = closestTdbAboveLevel(recordList, childFp, parentDepth); assert(closestParent != NULL); if (closestParent != parent) errAbort("%s comes between parent (%s) and child (%s) in %s\n" "Parent at line %d, child at line %d.", closestParent->key, parent->key, child->key, childFp->fileName, parentFp->startLineIx, childFp->startLineIx); } } } } -static boolean isFilter(char *name) +static boolean isComplex(char *name) /* Check to see if this is one of the filter variables that have arbitrary initial strings. */ { +if (startsWith("yLabel.", name)) + return TRUE; if (startsWith("filter.", name)) return TRUE; if (startsWith("filterValues.", name)) return TRUE; if (startsWith("filterType.", name)) return TRUE; if (startsWith("filterLimits.", name)) return TRUE; if (startsWith("filterLabel.", name)) return TRUE; if (startsWith("filterByRange.", name)) return TRUE; if (startsWith("filterText.", name)) return TRUE; if (endsWith(name, "Filter")) @@ -912,31 +914,31 @@ } static void doRecordChecks(struct tdbRecord *recordList, struct lm *lm) /* Do additional checks on records. */ { /* Check fields against tagTypes.tab. */ struct tdbRecord *record; for (record = recordList; record != NULL; record = record->next) { struct tdbField *typeField = tdbRecordField(record, "type"); char *fullType = (typeField != NULL ? typeField->val : record->key); char *type = lmCloneFirstWord(lm, fullType); struct tdbField *field; for (field = record->fieldList; field != NULL; field = field->next) { - if (isFilter(field->name)) + if (isComplex(field->name)) continue; struct slName *typeList = rqlHashFindValEvenInWilds(glTagTypes, field->name); if (typeList == NULL) { recordAbort(record, "Tag '%s' not found in %s.\nIf it's not a typo please add %s to " "that file. The tag is", field->name, glTagTypeFile, field->name); } if (!matchAnyWild(typeList, type)) { recordAbort(record, "Tag '%s' not allowed for tracks of type '%s'. " "Please add it to supported types\n" "in %s if this is not a mistake. The tag is", field->name, type, glTagTypeFile); }