Skip to content
Snippets Groups Projects
Commit 5466872d authored by cmaeder's avatar cmaeder
Browse files

allow for counting as batch job

parent 7112d4f7
No related branches found
No related tags found
No related merge requests found
...@@ -14,8 +14,9 @@ class QueryDB extends RouteBuilder { ...@@ -14,8 +14,9 @@ class QueryDB extends RouteBuilder {
try { try {
(b.asInstanceOf[util.ArrayList[_]].asScala map { (b.asInstanceOf[util.ArrayList[_]].asScala map {
case jm if count => case jm if count =>
"count where " + field + " contains " + subString + ": " + // "count where " + field + " contains " + subString + ": " +
jm.asInstanceOf[util.HashMap[String, Integer]].asScala.getOrElse("COUNT(*)", 0) jm.asInstanceOf[util.HashMap[String, Integer]].asScala.getOrElse("COUNT(*)", 0) +
" \"" + subString + "\""
case jm if !count => case jm if !count =>
val sm = jm.asInstanceOf[util.HashMap[String, String]].asScala val sm = jm.asInstanceOf[util.HashMap[String, String]].asScala
sm.getOrElse(Table.columns(0), "").stripPrefix(dirPrefix) + sm.getOrElse(Table.columns(0), "").stripPrefix(dirPrefix) +
...@@ -27,7 +28,7 @@ class QueryDB extends RouteBuilder { ...@@ -27,7 +28,7 @@ class QueryDB extends RouteBuilder {
} }
def queryValues(dirPrefix: String, count: Boolean, subString: String, field: String): Unit = { def queryValues(dirPrefix: String, count: Boolean, subString: String, field: String): Unit = {
val w = field + " LIKE '%" + subString + "%'" val w = field + " LIKE '%" + subString.replaceAll("'", "''") + "%'"
val q = "db:SELECT " + (if (count) "COUNT(*)" else "*") + " FROM " + Table.name + " WHERE " + w val q = "db:SELECT " + (if (count) "COUNT(*)" else "*") + " FROM " + Table.name + " WHERE " + w
val d = "direct:" + q val d = "direct:" + q
val r: RouteDefinition = d ==> { val r: RouteDefinition = d ==> {
...@@ -61,11 +62,11 @@ object QueryDB { ...@@ -61,11 +62,11 @@ object QueryDB {
dirPrefix = if (dir.endsWith("/")) dir else dir + "/" dirPrefix = if (dir.endsWith("/")) dir else dir + "/"
var ok = true var ok = true
while (ok) { while (ok) {
println("Enter field or search string:") // println("Enter field or search string:")
val ln = readLine val ln = readLine
ok = ln != null ok = ln != null
if (ok) { if (ok) {
dbSearch.queryValues(QueryDB.dirPrefix, false, ln, QueryDB.field) // dbSearch.queryValues(QueryDB.dirPrefix, false, ln, QueryDB.field)
dbSearch.queryValues(QueryDB.dirPrefix, true, ln, QueryDB.field) dbSearch.queryValues(QueryDB.dirPrefix, true, ln, QueryDB.field)
} }
} }
......
already declared
Expected `=', found token `.'
Expected constant name or pragma keyword
skipped big file
XML error in omdoc file (likely too big for Twelf to write)
Prolog initialisation failed
exception for file
Type mismatch
Undeclared identifier
Expected `:' or `=', found `('
prefix tptp already bound to http://latin.omdoc.org/logics/tptp
Syntax error:
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment