diff --git a/src/main/scala/QueryDB.scala b/src/main/scala/QueryDB.scala index 9a04763aa273badf4b3f989b86b7e7011dc24551..52119749c1a475c33fb847c633b1d8c45c655572 100644 --- a/src/main/scala/QueryDB.scala +++ b/src/main/scala/QueryDB.scala @@ -14,8 +14,9 @@ class QueryDB extends RouteBuilder { try { (b.asInstanceOf[util.ArrayList[_]].asScala map { case jm if count => - "count where " + field + " contains " + subString + ": " + - jm.asInstanceOf[util.HashMap[String, Integer]].asScala.getOrElse("COUNT(*)", 0) + // "count where " + field + " contains " + subString + ": " + + jm.asInstanceOf[util.HashMap[String, Integer]].asScala.getOrElse("COUNT(*)", 0) + + " \"" + subString + "\"" case jm if !count => val sm = jm.asInstanceOf[util.HashMap[String, String]].asScala sm.getOrElse(Table.columns(0), "").stripPrefix(dirPrefix) + @@ -27,7 +28,7 @@ class QueryDB extends RouteBuilder { } 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 d = "direct:" + q val r: RouteDefinition = d ==> { @@ -61,11 +62,11 @@ object QueryDB { dirPrefix = if (dir.endsWith("/")) dir else dir + "/" var ok = true while (ok) { - println("Enter field or search string:") + // println("Enter field or search string:") val ln = readLine ok = ln != null 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) } } diff --git a/src/test/data/strings.txt b/src/test/data/strings.txt new file mode 100644 index 0000000000000000000000000000000000000000..5a7ce6a3d97d262d70ffc7b12f99a198036fa64a --- /dev/null +++ b/src/test/data/strings.txt @@ -0,0 +1,12 @@ +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: