From 6aedc4a96e3dce6b41befe20c6814f063ab958ac Mon Sep 17 00:00:00 2001 From: Claudio Sacerdoti Coen Date: Wed, 30 Oct 2002 14:05:59 +0000 Subject: [PATCH] Merging of the modifications of Lorenzo on the main branch. They implement the Fun constructor in a uniform way. --- helm/ocaml/mathql_interpreter/.depend | 4 ++-- helm/ocaml/mathql_interpreter/func.ml | 28 ++++++++++---------------- helm/ocaml/mathql_interpreter/mqint.ml | 6 +++--- 3 files changed, 16 insertions(+), 22 deletions(-) diff --git a/helm/ocaml/mathql_interpreter/.depend b/helm/ocaml/mathql_interpreter/.depend index 72a3dd440..5629c47df 100644 --- a/helm/ocaml/mathql_interpreter/.depend +++ b/helm/ocaml/mathql_interpreter/.depend @@ -16,7 +16,7 @@ intersect.cmo: intersect.cmi intersect.cmx: intersect.cmi func.cmo: dbconn.cmi intersect.cmi utility.cmi func.cmi func.cmx: dbconn.cmx intersect.cmx utility.cmx func.cmi -mqint.cmo: context.cmo dbconn.cmi diff.cmi intersect.cmi meet.cmi \ +mqint.cmo: context.cmo dbconn.cmi diff.cmi func.cmi intersect.cmi meet.cmi \ relation.cmi sub.cmi union.cmi mqint.cmi -mqint.cmx: context.cmx dbconn.cmx diff.cmx intersect.cmx meet.cmx \ +mqint.cmx: context.cmx dbconn.cmx diff.cmx func.cmx intersect.cmx meet.cmx \ relation.cmx sub.cmx union.cmx mqint.cmi diff --git a/helm/ocaml/mathql_interpreter/func.ml b/helm/ocaml/mathql_interpreter/func.ml index 1338af008..921a85da5 100644 --- a/helm/ocaml/mathql_interpreter/func.ml +++ b/helm/ocaml/mathql_interpreter/func.ml @@ -34,23 +34,17 @@ open Intersect;; (* * implementazione delle funzioni dublin core *) -let rec func_dc tab outv inv = function +let rec fun_ex tab = function [] -> [] - | s::tl -> let res = - let c = pgc () in - let q = ("select " ^ tab ^ "." ^ outv ^ " from " ^ tab ^ " where " ^ tab ^ "." ^ inv ^ " = '" ^ s ^ "'") in - pgresult_to_string_list (c#exec q) - in - append (res,(func_dc tab outv inv tl)) -;; - -(* - * - *) -let fun_ex f value = - match f with - "name" -> func_dc "names" "name" "uri" value - | "reference" -> func_dc "names" "uri" "name" value - | _ -> [] + | s::tl -> + let res = + let c = pgc () in + let q = + "select objectName.uri from objectName where objectName.value = '" ^ + s ^ "'" + in + pgresult_to_string_list (c#exec q) + in + append (res,(fun_ex tab tl)) ;; diff --git a/helm/ocaml/mathql_interpreter/mqint.ml b/helm/ocaml/mathql_interpreter/mqint.ml index 54dc0e05c..ee757f3f0 100644 --- a/helm/ocaml/mathql_interpreter/mqint.ml +++ b/helm/ocaml/mathql_interpreter/mqint.ml @@ -87,7 +87,7 @@ let rec exec_set_exp c = function let ll1 = string_of_int (List.length rs1) in let ll2 = string_of_int (List.length rs2) in let diff = string_of_float (after -. before) in - if ! stat then + if !stat then (print_endline("INTERSECT(" ^ ll1 ^ "," ^ ll2 ^ ") = " ^ string_of_int (List.length res) ^ ": " ^ diff ^ "s"); flush stdout); @@ -97,7 +97,7 @@ let rec exec_set_exp c = function let res = union_ex (exec_set_exp c sexp1) (exec_set_exp c sexp2) in let after = Sys.time() in let diff = string_of_float (after -. before) in - if ! stat then + if !stat then (print_endline ("UNION: " ^ diff ^ "s"); flush stdout); res @@ -130,7 +130,7 @@ let rec exec_set_exp c = function res) else (let res = relation_galax_ex rop path (exec_set_exp c sexp) attl in - if ! stat then + if !stat then (print_string ("RELATION-GALAX " ^ (List.hd path) ^ " = " ^ string_of_int(List.length res) ^ ": "); print_endline (string_of_float (Sys.time() -. before) ^ "s"); flush stdout); -- 2.39.2