]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/library/libraryDb.ml
many changes:
[helm.git] / helm / software / components / library / libraryDb.ml
index 83bc3f6e67ace89cb334b86fa754d4d812d43d05..db8a8a50627d9cb570bfa0a241a8a25730189e8c 100644 (file)
@@ -164,9 +164,12 @@ let remove_uri uri =
 let xpointers_of_ind uri =
   let dbd = instance () in
   let name_tbl =  MetadataTypes.name_tbl () in
+  let escape s =
+    Pcre.replace ~pat:"([^\\\\])_" ~templ:"$1\\_" (HSql.escape s)
+  in
   let query = sprintf 
-    "SELECT source FROM %s WHERE source LIKE '%s#xpointer%%'" name_tbl 
-      (HSql.escape (UriManager.string_of_uri uri))
+    "SELECT source FROM %s WHERE source LIKE '%s#xpointer%%' ESCAPE \"\\\" " 
+    name_tbl (escape (UriManager.string_of_uri uri))
   in
   let rc = HSql.exec dbd query in
   let l = ref [] in