src/hg/makeDb/metaTblUpdate/metaTblPrint.c 1.4
1.4 2010/03/25 21:56:41 tdreszer
Some adjustments recommended by Mark in code reivew
Index: src/hg/makeDb/metaTblUpdate/metaTblPrint.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/makeDb/metaTblUpdate/metaTblPrint.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -b -B -U 4 -r1.3 -r1.4
--- src/hg/makeDb/metaTblUpdate/metaTblPrint.c 19 Mar 2010 21:25:26 -0000 1.3
+++ src/hg/makeDb/metaTblUpdate/metaTblPrint.c 25 Mar 2010 21:56:41 -0000 1.4
@@ -15,9 +15,8 @@
#include "metaTbl.h"
static char const rcsid[] = "$Id$";
-#define DB_DEFAULT "hg19"
#define OBJTYPE_DEFAULT "table"
void usage()
/* Explain usage and exit. */
@@ -31,15 +30,15 @@
"each object and var=val on a separate line with tab indentation. Alternatively, count will "
"return a count of unique obj var=val combinations. It is also possible to select a "
"combination of vars by entering a string of var=val pairs.\n\n"
"usage:\n"
- " metaTblPrint [-db=] [-table=] [-long/-countObjs/-countVarss/-countVals]\n"
+ " metaTblPrint -db= [-table=] [-long/-countObjs/-countVarss/-countVals]\n"
" [-all [-byVar]]\n"
" [-obj=] [-var= [-val=]]]\n"
" [-var= [-val=]]\n"
" [-vars=\"var1=val1 var2=val2...\" [-byVar]]\n\n"
"Options:\n"
- " -db Database to query. Default is '" DB_DEFAULT "'.\n"
+ " -db Database to query. This argument is required.\n"
" -table Table to query. Default is '" METATBL_DEFAULT_NAME "'.\n"
" -long Print each obj, var=val as separate line.\n"
" -countObjs Just print count of objects returned in the query.\n"
" -countVars Just print count of variables returned in the query.\n"
@@ -85,9 +84,12 @@
struct metaByVar * metaByVars = NULL;
int objsCnt=0, varsCnt=0,valsCnt=0;
optionInit(&argc, argv, optionSpecs);
-char *db = optionVal("db", DB_DEFAULT);
+if(!optionExists("db"))
+ usage();
+
+char *db = optionVal("db",NULL);
char *table = optionVal("table",METATBL_DEFAULT_NAME);
boolean printLong = optionExists("long");
boolean cntObjs = optionExists("countObjs");
boolean cntVars = optionExists("countVars");
@@ -123,15 +125,16 @@
}
else
usage();
+struct sqlConnection *conn = sqlConnect(db);
if(byVar)
{
- if(metaByVars == NULL) // assertable
+ if(!all && metaByVars == NULL) // assertable
usage();
// Requested a single var
- struct metaByVar * queryResults = metaByVarsQuery(db,table,metaByVars);
+ struct metaByVar * queryResults = metaByVarsQuery(conn,table,metaByVars);
if(queryResults == NULL)
verbose(1, "No metadata met your selection criteria\n");
else
{
@@ -148,14 +151,14 @@
struct metaObj * queryResults = NULL;
if(metaByVars != NULL)
{
// Requested a set of var=val pairs and looking for the unique list of objects that have all of them!
- queryResults = metaObjsQueryByVars(db,table,metaByVars);
+ queryResults = metaObjsQueryByVars(conn,table,metaByVars);
}
else
{
// Requested a single obj
- queryResults = metaObjQuery(db,table,metaObjs);
+ queryResults = metaObjQuery(conn,table,metaObjs);
}
if(queryResults == NULL)
verbose(1, "No metadata met your selection criteria\n");
@@ -168,8 +171,9 @@
metaObjPrint(queryResults,printLong);
metaObjsFree(&queryResults);
}
}
+sqlDisconnect(&conn);
if(cntObjs || cntVars || cntVals)
{
if(cntObjs)