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