X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=helm%2Focaml%2Fmathql_interpreter%2Frelation.ml;h=f2402688d70d1628e23e6a29d308d1d2555a4e4c;hb=ab1ea1988436efdac3c8148cd8310997d0122a39;hp=e5b700064bb297e6d35e533a3d4b73af334c7c31;hpb=d6dd3cb8ee6718a0992a87e15a4b98b438d0f30d;p=helm.git diff --git a/helm/ocaml/mathql_interpreter/relation.ml b/helm/ocaml/mathql_interpreter/relation.ml index e5b700064..f2402688d 100644 --- a/helm/ocaml/mathql_interpreter/relation.ml +++ b/helm/ocaml/mathql_interpreter/relation.ml @@ -36,6 +36,7 @@ open Union;; open Dbconn;; open Utility;; +let quoted s = Str.global_substitute (Str.regexp "'") (function _ -> "\\'") s (* Cerca in una lista di assegnamenti (lista di coppie (path,path) dove path e' di tipo (string * string list) quello relativo alla proprietà p e ne @@ -65,19 +66,19 @@ let relation_ex inv rop path rset assl = "refObj" | "backPointer" -> (* proprieta` refObj e backPointer *) - print_endline "IN BACKPOINTER"; +(* print_endline "IN BACKPOINTER"; *) let prop = get_prop_id relk in if assl = [] then (* se non ci sono assegnamenti *) let c = pgc () in let rset_list = (* lista di singoletti:resource_set di un elemento *) (List.fold_left (fun acc (uri,l) -> - let tv = pgresult_to_string (c#exec ("select id from registry where uri='" ^ uri ^ "'")) in + let tv = pgresult_to_string (c#exec ("select id from registry where uri='" ^ quoted uri ^ "'")) in let qq = "select uri from t" ^ tv ^ " where prop_id='" ^ prop ^ "' order by uri asc" in - print_endline qq; +(* print_endline qq; *) let res = c#exec qq in let l = (pgresult_to_string_list res) in - List.iter print_endline l; +(* List.iter print_endline l; *) (List.map (function [uri] -> [(uri,[])] @@ -98,7 +99,7 @@ let relation_ex inv rop path rset assl = let c = pgc () in let rset_list = (* lista di singoletti:resource_set di un elemento *) (List.fold_left (fun acc (uri,l) -> - let tv = pgresult_to_string (c#exec ("select id from registry where uri='" ^ uri ^ "'")) in + let tv = pgresult_to_string (c#exec ("select id from registry where uri='" ^ quoted uri ^ "'")) in let qq = "select uri, position, depth from t" ^ tv ^ " where prop_id='" ^ prop ^ "' order by uri asc" in print_endline qq; let res = c#exec qq in @@ -117,7 +118,7 @@ let relation_ex inv rop path rset assl = [uri;position;depth] -> [(uri,[[((pos, []),[position])]])] | _ -> assert false ) res#get_list) @ acc - else (* voglio solo depth *) + else (* voglio solo depth *) (List.map (function [uri;position;depth] -> [(uri,[[((dep, []),[depth])]])]