src/utils/qa/findLevel 1.4
1.4 2010/03/11 00:10:36 rhead
Do db check with hgsql instead of tdbQuery, as unrelated errors there will mess with the db check. Also give an error if nothing tdbQuery only gives errors.
Index: src/utils/qa/findLevel
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/utils/qa/findLevel,v
retrieving revision 1.3
retrieving revision 1.4
diff -b -B -U 4 -r1.3 -r1.4
--- src/utils/qa/findLevel 9 Mar 2010 02:51:39 -0000 1.3
+++ src/utils/qa/findLevel 11 Mar 2010 00:10:36 -0000 1.4
@@ -22,8 +22,9 @@
db=""
tableName=""
currDir=""
+error=""
# get arguments or print usage
if [ $# -ne 2 ]
then
@@ -46,11 +47,11 @@
exit 1
fi
# make sure this is a valid database name
-if ! tdbQuery "select db from $db limit 1" | grep -q $db
+if ! hgsql -Ne "show databases" | grep -qw $db
then
- echo -e "\n ERROR: Invalid database name. Try again.\n" >&2
+ echo -e "\nERROR: database $db not found. Try running on hgwdev?\n" >&2
exit 1
fi
echo
@@ -89,15 +90,15 @@
# find the trackDb.ra entry (using tdbQuery)
echo " * trackDb:"
all=`tdbQuery "select track,priority,visibility,release,filePos from \
- $db where track='$tableName'" 2> /dev/null`
+ $db where track='$tableName'" 2> /dev/null` || error=yes
strict=`tdbQuery -strict "select track,priority,visibility,release,filePos from \
- $db where track='$tableName'" 2> /dev/null`
+ $db where track='$tableName'" 2> /dev/null` || error=yes
alpha=`tdbQuery -alpha "select track,priority,visibility,release,filePos from \
- $db where track='$tableName'" 2> /dev/null`
+ $db where track='$tableName'" 2> /dev/null` || error=yes
# always print "all"; only print strict or alpha if they differ from all
echo -e "$all\n"
if [ "$all" != "$strict" ]
@@ -108,5 +109,12 @@
then
echo -e "$alpha\n"
fi
+# if tdbQuery is only giving errors, $all will be empty and nothing printed
+if [ "$error" = "yes" ]
+then
+ echo -e "\nERROR: tdbQuery returned only errors\n" >&2
+ exit 1
+fi
+
exit 0