b4af2f7fbaae0ef4561a937bbc768b2f362f7cd9
angie
  Thu Feb 27 10:59:42 2014 -0800
Fixing a couple bugs uncovered by MLQ #12777: first, the intersectionbutton was appearing even for tables that don't pass canIntersect().
Second, canIntersect() was returning false for VCF instead of true.
So the intersect button appeared for VCF tracks, but the user's
intersection settings were ignored.  Now intersection works for VCF.
refs #12777

diff --git src/hg/hgTables/hgTables.h src/hg/hgTables/hgTables.h
index 9301676..36dde5f 100644
--- src/hg/hgTables/hgTables.h
+++ src/hg/hgTables/hgTables.h
@@ -314,30 +314,33 @@
 
 char *filterFieldVarName(char *db, char *table, char *field, char *type);
 /* Return variable name for filter page. */
 
 /* Some types of filter vars. */
 #define filterDdVar "dd"
 #define filterCmpVar "cmp"
 #define filterPatternVar "pat"
 #define filterRawLogicVar "rawLogic"
 #define filterRawQueryVar "rawQuery"
 #define filterDataValueVar "dataValue"
 #define filterMaxOutputVar "maxOutput"
 
 /* --------- Functions related to intersecting. --------------- */
 
+boolean canIntersect(char *db, char *table);
+/* Return true if table supports intersection, i.e. it exists and is positional. */
+
 boolean anyIntersection();
 /* Return TRUE if there's an intersection to do. */
 
 char *intersectOp();
 /* Get intersect op from CGI var and make sure it's ok. */
 
 boolean intersectionIsBpWise();
 /* Return TRUE if the intersection/union operation is base pair-wise. */
 
 Bits *bitsForIntersectingTable(struct sqlConnection *conn, struct region *region,
 	int chromSize, boolean isBpWise);
 /* Get a bitmap that corresponds to the table we are intersecting with.
  * Consult CGI vars to figure out what table it is. */
 
 boolean intersectOverlapFilter(char *op, double moreThresh, double lessThresh, double overlap);