18b6f4ccf6ea234dd5fb38710763ae335f63e2e7
braney
  Mon Dec 16 13:41:09 2019 -0800
add the groking if filter*.* lines in trackDb to tdbQuery

diff --git src/hg/utils/tdbQuery/tdbQuery.c src/hg/utils/tdbQuery/tdbQuery.c
index 569eb23..f8b4b0c 100644
--- src/hg/utils/tdbQuery/tdbQuery.c
+++ src/hg/utils/tdbQuery/tdbQuery.c
@@ -898,30 +898,44 @@
 	                                    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)
 /* Check to see if this is one of the filter variables that have arbitrary initial strings. */
 {
+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"))
     return TRUE;
 if (endsWith(name, "FilterValues"))
     return TRUE;
 if (endsWith(name, "FilterType"))
     return TRUE;
 if (endsWith(name, "FilterLimits"))
     return TRUE;
 if (endsWith(name, "FilterText"))
     return TRUE;
 return FALSE;
 }
 
 static void doRecordChecks(struct tdbRecord *recordList, struct lm *lm)
 /* Do additional checks on records. */