X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=components%2Fwhelp%2Fwhelp.ml;h=eb1f2b6301c239611b7fa88eb7021ffe78333612;hb=190662b877ba89ccb152f0bf5c67df62be737335;hp=e1d8306cce105c1d75b5636bfec377311e056d88;hpb=15417a6cd2d1ce39afc67d36436864978ec7a8e2;p=helm.git diff --git a/components/whelp/whelp.ml b/components/whelp/whelp.ml index e1d8306cc..eb1f2b630 100644 --- a/components/whelp/whelp.ml +++ b/components/whelp/whelp.ml @@ -43,12 +43,15 @@ 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\" 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 = HSql.exec dbd query in List.filter nonvar