let locate s =
let query =
M.Property (true,M.RefineExact,["objectName"],[],[],[],[],false,(M.Const s) )
- in M.Log (false, true, M.StatQuery query)
+ in M.StatQuery query
let unreferred target_pattern source_pattern =
let query =
M.Property(false,M.RefineExact,["refObj"],["h:occurrence"],[],[],[],true,(M.Const source_pattern))
))
- in M.Log (false, true, M.StatQuery query)
+ in M.StatQuery query
let compose cl =
let letin = ref [] in
let f (vvar, msval) x = M.LetVVar(vvar,msval,x) in
iter f (fun x y z -> x (y z)) ! letin
in
- M.Log (false, true, M.StatQuery (letin_query (select_query must_query)))
+ M.StatQuery (letin_query (select_query must_query))
(* high-level functions ****************************************************)
(* AUTOR: Ferruccio Guidi <fguidi@cs.unibo.it>
*)
-type flag = Postgres | Galax | Stat | Quiet | Warn | Log
+type flag = Postgres | Galax | Stat | Quiet | Warn | Log | Source
type handle = {
log : string -> unit; (* logging function *)
| Quiet -> "Q"
| Warn -> "W"
| Log -> "L"
+ | Source -> "V"
let flag_of_char = function
| 'P' -> [Postgres]
| 'Q' -> [Quiet]
| 'W' -> [Warn]
| 'L' -> [Log]
+ | 'V' -> [Source]
| _ -> []
let string_fold_left f a s =
(* AUTOR: Ferruccio Guidi <fguidi@cs.unibo.it>
*)
-type flag = Postgres | Galax | Stat | Quiet | Warn | Log
+type flag = Postgres | Galax | Stat | Quiet | Warn | Log | Source
val string_of_flags : flag list -> string
val flags_of_string : string -> flag list
try snd (List.assoc i c.avars)
with Not_found -> warn (M.AVar i); []
in
+ let x = if C.set h C.Source then M.Log (false, true, x) else x in
let c = {svars = []; avars = []; groups = []; vvars = []} in
let t = P.start_time () in
let r = eval_query c x in