X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fmetadata%2FmetadataDb.ml;h=9480484c00d0f9e879d4f5747cf011f86400ed9b;hb=66929b8edb58d468a134b648466f3e9c45ba5c0e;hp=6358df5b04718f634defe679c0af44cb8cfcc04d;hpb=36809208fa25a494e50004b321fa9a90108ae262;p=helm.git diff --git a/helm/software/components/metadata/metadataDb.ml b/helm/software/components/metadata/metadataDb.ml index 6358df5b0..9480484c0 100644 --- a/helm/software/components/metadata/metadataDb.ml +++ b/helm/software/components/metadata/metadataDb.ml @@ -180,8 +180,12 @@ let clean ~(dbd:HSql.dbd) = uris in let del_from tbl = + let escape s = + Pcre.replace ~pat:"([^\\\\])_" ~templ:"$1\\_" (HSql.escape s) + in let query s = - sprintf "DELETE FROM %s WHERE source LIKE \"%s%%\"" (tbl ()) s + sprintf "DELETE FROM %s WHERE source LIKE \"%s%%\" ESCAPE \"\\\" " + (tbl ()) (escape s) in List.iter (fun source_col -> ignore (HSql.exec dbd (query source_col))) @@ -193,8 +197,12 @@ let clean ~(dbd:HSql.dbd) = let unindex ~dbd ~uri = let uri = UriManager.string_of_uri uri in let del_from tbl = + let escape s = + Pcre.replace ~pat:"([^\\\\])_" ~templ:"$1\\_" (HSql.escape s) + in let query tbl = - sprintf "DELETE FROM %s WHERE source LIKE \"%s%%\"" (tbl ()) uri + sprintf "DELETE FROM %s WHERE source LIKE \"%s%%\" ESCAPE \"\\\" " + (tbl ()) (escape uri) in ignore (HSql.exec dbd (query tbl)) in