let ll2 = string_of_int (List.length rs2) in
let diff = string_of_float (after -. before) in
if !stat then
- (print_endline("INTERSECT(" ^ ll1 ^ "," ^ ll2 ^ ") = " ^ string_of_int (List.length res) ^
+ (prerr_endline("INTERSECT(" ^ ll1 ^ "," ^ ll2 ^ ") = " ^ string_of_int (List.length res) ^
": " ^ diff ^ "s");
flush stdout);
res
let after = Sys.time() in
let diff = string_of_float (after -. before) in
if !stat then
- (print_endline ("UNION: " ^ diff ^ "s");
+ (prerr_endline ("UNION: " ^ diff ^ "s");
flush stdout);
res
| MathQL.LetSVar (svar, sexp1, sexp2) ->
let c1 = upd_svars c ((svar, exec_set_exp c sexp1) :: c.svars) in
let res = exec_set_exp c1 sexp2 in
if ! stat then
- (print_string ("LETIN " ^ svar ^ " = " ^ string_of_int (List.length res) ^ ": ");
- print_endline (string_of_float (Sys.time() -. before) ^ "s");
+ (prerr_string ("LETIN " ^ svar ^ " = " ^ string_of_int (List.length res) ^ ": ");
+ prerr_endline (string_of_float (Sys.time() -. before) ^ "s");
flush stdout);
res
| MathQL.LetVVar (vvar, vexp, sexp) ->
let c1 = upd_vvars c ((vvar, exec_val_exp c vexp) :: c.vvars) in
let res = exec_set_exp c1 sexp in
if ! stat then
- (print_string ("LETIN " ^ vvar ^ " = " ^ string_of_int (List.length res) ^ ": ");
- print_endline (string_of_float (Sys.time() -. before) ^ "s");
+ (prerr_string ("LETIN " ^ vvar ^ " = " ^ string_of_int (List.length res) ^ ": ");
+ prerr_endline (string_of_float (Sys.time() -. before) ^ "s");
flush stdout);
res
| MathQL.Relation (inv, rop, path, sexp, assl) ->
if ! dbname = postgres_db then
(let res = relation_ex inv rop path (exec_set_exp c sexp) assl in
if ! stat then
- (print_string ("RELATION " ^ (fst path) ^ " = " ^ string_of_int(List.length res) ^ ": ");
- print_endline (string_of_float (Sys.time() -. before) ^ "s");
+ (prerr_string ("RELATION " ^ (fst path) ^ " = " ^ string_of_int(List.length res) ^ ": ");
+ prerr_endline (string_of_float (Sys.time() -. before) ^ "s");
flush stdout);
res)
else
(let res = relation_galax_ex inv rop path (exec_set_exp c sexp) assl in
if !stat then
- (print_string ("RELATION-GALAX " ^ (fst path) ^ " = " ^ string_of_int(List.length res) ^ ": ");
- print_endline (string_of_float (Sys.time() -. before) ^ "s");
+ (prerr_string ("RELATION-GALAX " ^ (fst path) ^ " = " ^ string_of_int(List.length res) ^ ": ");
+ prerr_endline (string_of_float (Sys.time() -. before) ^ "s");
flush stdout);
res)
| MathQL.Select (rvar, sexp, bexp) ->
let before = Sys.time() in
let rset = (exec_set_exp c sexp) in
- let rec select_ex rset =
- match rset with
- [] -> []
- | r::tl -> let c1 = upd_rvars c ((rvar,r)::c.rvars) in
- if (exec_boole_exp c1 bexp) then r::(select_ex tl)
- else select_ex tl
+ let rec select_ex =
+ function
+ [] -> []
+ | r::tl ->
+ let c1 = upd_rvars c ((rvar,r)::c.rvars) in
+ if (exec_boole_exp c1 bexp) then
+ r::(select_ex tl)
+ else
+ select_ex tl
in
let res = select_ex rset in
if ! stat then
- (print_string ("SELECT " ^ rvar ^ " = " ^ string_of_int (List.length res) ^ ": ");
- print_endline (string_of_float (Sys.time() -. before) ^ "s");
+ (prerr_string ("SELECT " ^ rvar ^ " = " ^ string_of_int (List.length res) ^ ": ");
+ prerr_endline (string_of_float (Sys.time() -. before) ^ "s");
flush stdout);
res
| MathQL.Diff (sexp1, sexp2) -> diff_ex (exec_set_exp c sexp1) (exec_set_exp c sexp2)
meet_ex (exec_val_exp c vexp1) (exec_val_exp c vexp2)
| MathQL.Eq (vexp1, vexp2) -> (exec_val_exp c vexp1) = (exec_val_exp c vexp2)
| MathQL.Ex l bexp ->
- if l = [] then (exec_boole_exp c bexp) else
+ if l = [] then
+ (exec_boole_exp c bexp)
+ else
let latt =
List.map
(fun uri ->
in
let ul1 = set_of_result (None,!execute env q1) in
let ul2 = set_of_result (None,!execute env q2) in
- print_endline ("MQSETEQUAL(" ^
+ prerr_endline ("MQSETEQUAL(" ^
string_of_int (List.length (!execute env q1)) ^ ">" ^
string_of_int (List.length ul1) ^ "," ^
string_of_int (List.length (!execute env q2)) ^ ">" ^
in
let ul1 = set_of_result (None,!execute env q1) in
let ul2 = set_of_result (None,!execute env q2) in
- print_endline ("MQSUBSET(" ^
+ prerr_endline ("MQSUBSET(" ^
string_of_int (List.length (!execute env q1)) ^ ">" ^
string_of_int (List.length ul1) ^ "," ^
string_of_int (List.length (!execute env q2)) ^ ">" ^
* implementazione del comando SELECT
*)
let select_ex env avar alist abool =
- let _ = print_string ("SELECT = ")
+ let _ = prerr_string ("SELECT = ")
and t = Sys.time () in
let result =
List.filter (function entry -> is_good ((avar,entry)::env) abool) alist
in
- print_string (string_of_int (List.length result) ^ ": ") ;
- print_endline (string_of_float (Sys.time () -. t) ^ "s") ;
+ prerr_string (string_of_int (List.length result) ^ ": ") ;
+ prerr_endline (string_of_float (Sys.time () -. t) ^ "s") ;
flush stdout ;
result
;; *)