]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/whelp/whelp.ml
many changes:
[helm.git] / helm / software / components / whelp / whelp.ml
index 5e63bcfc4e9078549f202193e66ca2ed91ce3081..eb1f2b6301c239611b7fa88eb7021ffe78333612 100644 (file)
@@ -42,20 +42,23 @@ let sqlpat_of_shellglob =
           (Pcre.replace ~rex:uscore_RE ~templ:"\\_"
             shellglob)))
 
-let locate ~(dbd:HMysql.dbd) ?(vars = false) pat =
+let locate ~(dbd:HSql.dbd) ?(vars = false) pat =
+  let escape s = HSql.escape s in
   let sql_pat = sqlpat_of_shellglob pat in
   let query =
-        sprintf ("SELECT source FROM %s WHERE value LIKE \"%s\" UNION "^^
-                 "SELECT source FROM %s WHERE value LIKE \"%s\"")
-          (MetadataTypes.name_tbl ()) sql_pat
-           MetadataTypes.library_name_tbl sql_pat
+        sprintf 
+          ("SELECT source FROM %s WHERE value LIKE \"%s\" ESCAPE \"\\\" "
+           ^^ "UNION " ^^
+           "SELECT source FROM %s WHERE value LIKE \"%s\" ESCAPE \"\\\" ")
+          (MetadataTypes.name_tbl ()) (escape sql_pat)
+           MetadataTypes.library_name_tbl (escape sql_pat)
   in
-  let result = HMysql.exec dbd query in
+  let result = HSql.exec dbd query in
   List.filter nonvar
-    (HMysql.map result
+    (HSql.map result
       (fun cols -> match cols.(0) with Some s -> UriManager.uri_of_string s | _ -> assert false))
 
-let match_term ~(dbd:HMysql.dbd) ty =
+let match_term ~(dbd:HSql.dbd) ty =
 (*   debug_print (lazy (CicPp.ppterm ty)); *)
   let metadata = MetadataExtractor.compute ~body:None ~ty in
   let constants_no =