8d8e30926803a0fcb3995fc628b2ac30491d144d
chmalee
  Fri Sep 11 10:58:00 2020 -0700
Put related tracks section under hg.conf control in addition to requiring a relatedTrack table, refs #25721

diff --git src/hg/lib/hui.c src/hg/lib/hui.c
index 699a501..a217e98 100644
--- src/hg/lib/hui.c
+++ src/hg/lib/hui.c
@@ -9595,32 +9595,34 @@
     struct trackVersion *trackVersion = getTrackVersion(database, tdb->track);
     // try trackVersion table with parent, for composites/superTracks
     if (trackVersion == NULL && tdb->parent != NULL)
         trackVersion = getTrackVersion(database, tdb->parent->track);
     if (trackVersion != NULL)
         version = trackVersion->version;
     }
 
 if (isNotEmpty(version))
     printf("<B>Data version:</B> %s <BR>\n", version);
 }
 
 void printRelatedTracks(char *database, struct hash *trackHash, struct trackDb *tdb, struct cart *cart)
 /* Maybe print a "related track" section */
 {
-struct sqlConnection *conn = hAllocConn(database);
+if (!cfgOption("db.relatedTrack"))
+    return;
 char *relatedTrackTable = cfgOptionDefault("db.relatedTrack","relatedTrack");
+struct sqlConnection *conn = hAllocConn(database);
 if (!sqlTableExists(conn, relatedTrackTable))
     {
     hFreeConn(&conn);
     return;
     }
 
 char query[256];
 sqlSafef(query, sizeof(query),
     "select track1, track2, why from %s where track1='%s' or track2='%s'", relatedTrackTable, tdb->track, tdb->track);
 
 char **row;
 struct sqlResult *sr;
 sr = sqlGetResult(conn, query);
 row = sqlNextRow(sr);
 if (row != NULL)