src/hg/lib/metaTbl.c 1.5
1.5 2010/03/24 17:37:12 tdreszer
Check for metaTbl before querying.
Index: src/hg/lib/metaTbl.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/lib/metaTbl.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -b -B -U 4 -r1.4 -r1.5
--- src/hg/lib/metaTbl.c 19 Mar 2010 21:22:59 -0000 1.4
+++ src/hg/lib/metaTbl.c 24 Mar 2010 17:37:12 -0000 1.5
@@ -677,8 +677,10 @@
if(tableName == NULL)
tableName = METATBL_DEFAULT_NAME;
struct sqlConnection *conn = sqlConnect(db);
+ if(!sqlTableExists(conn,tableName))
+ errAbort("metaObjsSetToDb attempting to update non-existent table.\n");
for(metaObj = metaObjs;metaObj != NULL; metaObj = metaObj->next)
{
// Handle delete requests first
@@ -815,8 +817,14 @@
dyStringPrintf(dy, " order by objName, var");
verbose(2, "Query: %s\n",dyStringContents(dy));
struct sqlConnection *conn = sqlConnect(db);
+ if(!sqlTableExists(conn,table))
+ {
+ dyStringFree(&dy);
+ return NULL;
+ }
+
struct metaTbl *metaTbl = metaTblLoadByQuery(conn, dyStringCannibalize(&dy));
sqlDisconnect(&conn);
verbose(2, "rows returned: %d\n",slCount(metaTbl));
return metaObjsLoadFromMemory(&metaTbl,buildHash);
@@ -873,8 +881,13 @@
dyStringPrintf(dy, " order by var, val, objName");
verbose(2, "Query: %s\n",dyStringContents(dy));
struct sqlConnection *conn = sqlConnect(db);
+ if(!sqlTableExists(conn,table))
+ {
+ dyStringFree(&dy);
+ return NULL;
+ }
struct metaTbl *metaTbl = metaTblLoadByQuery(conn, dyStringCannibalize(&dy));
sqlDisconnect(&conn);
verbose(2, "rows returned: %d\n",slCount(metaTbl));
return metaByVarsLoadFromMemory(&metaTbl,TRUE);
@@ -931,8 +944,13 @@
dyStringPrintf(dy, " order by objName, var");
verbose(2, "Query: %s\n",dyStringContents(dy));
struct sqlConnection *conn = sqlConnect(db);
+ if(!sqlTableExists(conn,table))
+ {
+ dyStringFree(&dy);
+ return NULL;
+ }
struct metaTbl *metaTbl = metaTblLoadByQuery(conn, dyStringCannibalize(&dy));
sqlDisconnect(&conn);
verbose(2, "rows returned: %d\n",slCount(metaTbl));
return metaObjsLoadFromMemory(&metaTbl,TRUE);
@@ -981,23 +999,20 @@
{
if(limbVal->val == NULL)
continue;
- printf("metaVariable %s=",rootVar->var);
- if(rootVar->varType == vtBinary)
- printf("binary%s",(printLong?"\n\t":" "));
- else
- printf("%s%s",limbVal->val,(printLong?"\n\t":" "));
+ printf("metaVariable %s=%s",rootVar->var,
+ (rootVar->varType == vtBinary?"binary":limbVal->val));
struct metaLeafObj *leafObj = NULL;
for(leafObj=limbVal->objs;leafObj!=NULL;leafObj=leafObj->next)
{
if(leafObj->objName != NULL)
- printf("%s%s",leafObj->objName,(printLong?"\n\t":" "));
- }
+ printf("%s%s%s",(printLong?"\n\t":" "),leafObj->objName,(printLong?"\n":""));
}
printf("\n");
}
+ }
}
int metaObjCount(struct metaObj *metaObjs,boolean objs)