X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=components%2Fwhelp%2Fwhelp.ml;h=4a863eba8ea50ac9c6880045067b48b7b7c34096;hb=45d665041eae44ef5527e2c5a65329493d742ef3;hp=5e63bcfc4e9078549f202193e66ca2ed91ce3081;hpb=7f2444c2670cadafddd8785b687ef312158376b0;p=helm.git diff --git a/components/whelp/whelp.ml b/components/whelp/whelp.ml index 5e63bcfc4..4a863eba8 100644 --- a/components/whelp/whelp.ml +++ b/components/whelp/whelp.ml @@ -42,20 +42,25 @@ 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\" " + ^^ HSql.escape_string_for_like + ^^ " UNION " ^^ + "SELECT source FROM %s WHERE value LIKE \"%s\" " + ^^ HSql.escape_string_for_like) + (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 =