25e6a287cd96cc1a8fb559b2cf1efa7ccb76e610
galt
  Fri Jul 19 13:45:09 2013 -0700
allowing NULL database to connect via default profile db, so that the mysql db is not required to be used, since it is a hackers prime target
diff --git src/hg/lib/jksql.c src/hg/lib/jksql.c
index 4703e9e..4882946 100644
--- src/hg/lib/jksql.c
+++ src/hg/lib/jksql.c
@@ -226,51 +226,53 @@
 if (sp == NULL)
     return NULL;
 #if UNUSED // FIXME: this breaks hgHeatMap, enable when logicalDb removed
 if ((database != NULL) && (sp->dbs != NULL) && !slNameInList(sp->dbs, database))
     errAbort("attempt to obtain SQL profile %s for database %s, "
              "which is not associate with this database-specific profile",
              profileName, database);
 #endif
 return sp;
 }
 
 static struct sqlProfile* sqlProfileFindByDatabase(char *database)
 /* find a profile using database as profile name, return the default if not
  * found */
 {
+if (!database)
+    return defaultProfile;
 struct sqlProfile *sp = hashFindVal(dbToProfile, database);
 if (sp == NULL)
     sp = defaultProfile;
 return sp;
 }
 
 static struct sqlProfile* sqlProfileGet(char *profileName, char *database)
 /* lookup a profile using the profile resolution algorithm:
  *  - If a profile is specified:
  *     - search hg.conf for the profile, if found:
  *       - if database is specified, then either
  *           - the profile should not specify a database
  *           - the database must match the database in the profile
  *  - If a profile is not specified:
  *     - search hg.conf for a profile with the same name as the database
  *     - if there is no profile named the same as the database, use
  *       the default profile of "db"
  * return NULL if not found.
  */
 {
-assert((profileName != NULL) || (database != NULL));
+//assert((profileName != NULL) || (database != NULL));
 if (profiles == NULL)
     sqlProfileLoad();
 
 if (profileName != NULL)
     return sqlProfileFindByName(profileName, database);
 else
     return sqlProfileFindByDatabase(database);
 }
 
 static struct sqlProfile* sqlProfileMustGet(char *profileName, char *database)
 /* lookup a profile using the profile resolution algorithm or die trying */
 {
 struct sqlProfile* sp = sqlProfileGet(profileName, database);
 if (sp == NULL)
     {