X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fmathql_interpreter%2Fpattern.ml;h=5dcb8a585dfee96099f4636396a42ce571851ee0;hb=d59d2f93956bcbe4dd7bb3407e3c53de8b66c003;hp=86ef522b92e791fddeebd4ac24f5649035024679;hpb=a96d91e43e25d3d5b36e7c3646831bcf8a401c9d;p=helm.git diff --git a/helm/ocaml/mathql_interpreter/pattern.ml b/helm/ocaml/mathql_interpreter/pattern.ml index 86ef522b9..5dcb8a585 100644 --- a/helm/ocaml/mathql_interpreter/pattern.ml +++ b/helm/ocaml/mathql_interpreter/pattern.ml @@ -23,7 +23,6 @@ * http://www.cs.unibo.it/helm/. *) -open Dbconn;; open Utility;; let cat l1 l2 = @@ -33,15 +32,22 @@ let cat l1 l2 = l1 @ l2 ;; -let rec pattern_ex l = +let rec pattern_ex handle l = match l with [] -> [] | s::tl -> let result = - let c = pgc () in - let qq = "select uri from registry where uri ~ '" ^ s ^ "' order by registry.uri asc" in + let c = MQIConn.pgc handle in + let quoted_s = + Str.global_substitute (Str.regexp "'") + (function _ -> "\\'") s in + let qq = "select uri from registry where uri ~ '" ^ quoted_s ^ "' order by registry.uri asc" in let res = c#exec (qq) in - List.map (function uri -> (uri,[])) (pgresult_to_string_list res) - in - cat result (pattern_ex tl) + List.map (function uri -> (List.hd uri,[])) res#get_list + (*for i = 0 to res#ntuples do + List.map (function uri -> (uri,[])) (res#get_tuple_list i) + done*) + + in + cat result (pattern_ex handle tl) ;;