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)))
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