let sorted_uris_of_baseuri ~dbd baseuri =
let sql_pat =
- Pcre.replace ~rex:(Pcre.regexp "_") ~templ:"\\_" baseuri ^ "%"
+ Pcre.replace ~pat:"([^\\\\])_" ~templ:"$1\\_" baseuri ^ "%"
in
let query =
Printf.sprintf
- ("SELECT source FROM %s WHERE source LIKE \"%s\" UNION "^^
- "SELECT source FROM %s WHERE source LIKE \"%s\"")
+ ("SELECT source FROM %s WHERE source LIKE \"%s\" ESCAPE \"\\\" UNION "
+ ^^
+ "SELECT source FROM %s WHERE source LIKE \"%s\" ESCAPE \"\\\"")
(MetadataTypes.name_tbl ()) sql_pat
MetadataTypes.library_name_tbl sql_pat
in