6c50cb8c924b5d9c95a898e653718596793a8011
angie
  Fri Apr 27 10:21:11 2018 -0700
Support track hub names that contain '.' by first checking for '.hub_' in db.table.field strings.  refs #21353

diff --git src/hg/lib/joiner.c src/hg/lib/joiner.c
index 9c5ed55..15c3805 100644
--- src/hg/lib/joiner.c
+++ src/hg/lib/joiner.c
@@ -973,30 +973,32 @@
 }
 
 static void notTriple(char *s)
 /* Complain that s is not in dotted triple format. */
 {
 errAbort("%s not a dotted triple", s);
 }
 
 struct joinerDtf *joinerDtfFromDottedTriple(char *triple)
 /* Get joinerDtf from something in db.table.field format. */
 {
 char *s, *e;
 struct joinerDtf *dtf;
 AllocVar(dtf);
 s = triple;
+e = strstr(s, ".hub_");
+if (e == NULL)
     e = strchr(s, '.');
 if (e == NULL)
    notTriple(triple);
 dtf->database = cloneStringZ(s, e-s);
 s = e+1;
 e = strrchr(s, '.');
 if (e == NULL)
    notTriple(triple);
 dtf->table = cloneStringZ(s, e-s);
 dtf->field = cloneString(e+1);
 return dtf;
 }
 
 boolean joinerDtfSame(struct joinerDtf *dtfA, struct joinerDtf *dtfB)
 /* Return TRUE if both are NULL or if both have same db, table and field. */