X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=components%2Fwhelp%2Fwhelp.ml;h=4a863eba8ea50ac9c6880045067b48b7b7c34096;hb=45d665041eae44ef5527e2c5a65329493d742ef3;hp=e1d8306cce105c1d75b5636bfec377311e056d88;hpb=15417a6cd2d1ce39afc67d36436864978ec7a8e2;p=helm.git diff --git a/components/whelp/whelp.ml b/components/whelp/whelp.ml index e1d8306cc..4a863eba8 100644 --- a/components/whelp/whelp.ml +++ b/components/whelp/whelp.ml @@ -43,12 +43,17 @@ let sqlpat_of_shellglob = shellglob))) 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 = HSql.exec dbd query in List.filter nonvar