X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=helm%2Focaml%2Fmathql_interpreter%2FmQIConn.ml;fp=helm%2Focaml%2Fmathql_interpreter%2FmQIConn.ml;h=d0dedf143ca20beed109c4db9399d15412a6e940;hp=460ef41d088b5bd91481a152a3e32f4cbc2e6b1c;hb=6c9b7696b51aa36a7c592ff76b922259ccf9570e;hpb=ca7f3849e34817154c6cdac0754409bbbb5b7ba7 diff --git a/helm/ocaml/mathql_interpreter/mQIConn.ml b/helm/ocaml/mathql_interpreter/mQIConn.ml index 460ef41d0..d0dedf143 100644 --- a/helm/ocaml/mathql_interpreter/mQIConn.ml +++ b/helm/ocaml/mathql_interpreter/mQIConn.ml @@ -26,7 +26,7 @@ (* AUTOR: Ferruccio Guidi *) -type flag = Postgres | Galax | Stat | Quiet | Warn | Log +type flag = Galax | Postgres | Queries | Result | Source | Times | Warn type handle = { log : string -> unit; (* logging function *) @@ -51,20 +51,22 @@ let pgc handle = handle.pgc let flags handle = handle.set let string_of_flag = function - | Postgres -> "P" | Galax -> "G" - | Stat -> "S" - | Quiet -> "Q" + | Postgres -> "P" + | Queries -> "Q" + | Result -> "R" + | Source -> "S" + | Times -> "T" | Warn -> "W" - | Log -> "L" let flag_of_char = function - | 'P' -> [Postgres] | 'G' -> [Galax] - | 'S' -> [Stat] - | 'Q' -> [Quiet] + | 'P' -> [Postgres] + | 'Q' -> [Queries] + | 'R' -> [Result] + | 'S' -> [Source] + | 'T' -> [Times] | 'W' -> [Warn] - | 'L' -> [Log] | _ -> [] let string_fold_left f a s = @@ -78,16 +80,22 @@ let string_of_flags flags = let flags_of_string s = string_fold_left (fun l c -> l @ flag_of_char c) [] s -let init myflags mylog = +let init ?(flags = []) ?(log = ignore) () = + let flags = + if flags = [] then + flags_of_string (Helm_registry.get "mathql_interpreter.flags") + else + flags + in let m, a = let g = - if List.mem Galax myflags + if List.mem Galax flags then MQIMap.empty_map else MQIMap.read_map in g () in - {log = mylog; set = myflags; + {log = log; set = flags; pgc = - if List.mem Galax myflags then + if List.mem Galax flags then None else MQIPostgres.init @@ -101,7 +109,6 @@ let close handle = let connected handle = if set handle Galax then false else (pgc handle) <> None -let init_if_connected myflags mylog = - let handle = init myflags mylog in +let init_if_connected ?(flags = []) ?(log = ignore) () = + let handle = init ~flags:flags ~log:log () in ignore (pgc handle); handle -