]> matita.cs.unibo.it Git - helm.git/commitdiff
- mathql interpreter flags reorganized
authorFerruccio Guidi <ferruccio.guidi@unibo.it>
Fri, 20 Feb 2004 16:31:07 +0000 (16:31 +0000)
committerFerruccio Guidi <ferruccio.guidi@unibo.it>
Fri, 20 Feb 2004 16:31:07 +0000 (16:31 +0000)
- logging function in NQIConn.init is now optional: default is ignore

helm/Makefile
helm/gTopLevel/gTopLevel.conf.xml.sample
helm/gTopLevel/gTopLevel.ml
helm/hbugs/tutors/search_pattern_apply_tutor.ml
helm/mathql_test/mqgtop.ml
helm/mathql_test/mqitop.ml
helm/ocaml/mathql_interpreter/mQIConn.ml
helm/ocaml/mathql_interpreter/mQIConn.mli
helm/ocaml/mathql_interpreter/mQIProperty.ml
helm/ocaml/mathql_interpreter/mQueryInterpreter.ml
helm/searchEngine/searchEngine.ml

index 721a8962121a6593e450a009b785fad81e5ea0a8..b87be5027dfaee912ace426b570fec59eeb3d8e7 100644 (file)
@@ -1,4 +1,4 @@
-DIRS = ocaml hbugs gTopLevel searchEngine mathql_test
+DIRS = ocaml hbugs gTopLevel searchEngine mathql_test hxp
 
 DIRS_BYTE = $(patsubst %,%.byte,$(DIRS))
 DIRS_OPT = $(patsubst %,%.opt,$(DIRS))
index 89001df5632896ec724560f8205e20bc38d297e5..94fd2874a5a61c9b457c1ece3b02548e509068f6 100644 (file)
   <section name="mathql_interpreter">
    <key name="db_map">mathql_db_map.txt</key>
    <key name="postgresql_connection_string">dbname=mowgli host=mowgli.cs.unibo.it user=helm password=awH21Un</key>
-   <!-- flags is a string of the following characters: "S", "L", "W", "V" -->
-   <!-- S logs statistical information (query execution times)            -->
-   <!-- L logs the low-level queries (in SQL)                             -->
-   <!-- W logs some warnings (for mathql experts only)                    -->
-   <!-- V logs the executed queries (in MathQL)                           -->
-   <!-- By default the above information is not logged                    -->
+   <!-- flags is a string of the following characters:         -->
+   <!-- "Q", "R", "S", "T", "W"                                -->
+   <!-- Q logs the low-level queries (in SQL)                  -->
+   <!-- R logs the result of the executed queries (in MathQL)  -->
+   <!-- S logs the source of the executed queries (in MathQL)  -->
+   <!-- T logs statistical information (query execution times) -->
+   <!-- W logs some warnings (for mathql experts only)         -->
+   <!-- By default the above information is not logged         -->
    <key name="flags"></key>
   </section>
   <section name="local_library">
index 69ad5d5025d7b9d284bfc957f41cef31eb9ef647..9ff7e8fc6cc13a386c41ee316103150abaeb6fae 100644 (file)
@@ -62,7 +62,7 @@ let _ =
 (* GLOBAL CONSTANTS *)
 
 let mqi_debug_fun s = debug_print ~level:2 s
-let mqi_handle = MQIC.init mqi_debug_fun
+let mqi_handle = MQIC.init ~log:mqi_debug_fun ()
 
 let xlinkns = Gdome.domString "http://www.w3.org/1999/xlink";;
 
index 0943dd1462244e3b19f87826bca944690b5f3bf8..26183e2b97711e4a05c68facdc585e13256b5b88 100644 (file)
@@ -134,7 +134,7 @@ let main () =
     broker_id :=
       Some (Hbugs_tutors_common.register_to_broker
         my_own_id my_own_url "FOO" "Search_pattern_apply tutor");
-    let mqi_handle = MQIC.init prerr_string in 
+    let mqi_handle = MQIC.init ~log:prerr_string () in 
     if Sys.file_exists environment_file then
       restore_environment ();
     Http_daemon.start'
index 7f8e2b85bb8d0bd6a7229741acfb2b22b5fd8543..bb776474761377a2fca8451524889a9e09b4398f 100644 (file)
@@ -53,7 +53,7 @@ module GU = MQGUtil
 
 let get_handle () = 
    C.init ~flags:(C.flags_of_string ! int_options)
-          (fun s -> print_string s; flush stdout
+          ~log:(fun s -> print_string s; flush stdout) (
              
 let issue handle q =
    let mode = [Open_wronly; Open_append; Open_creat; Open_text] in
index efac469a88cb41dff207385a66f4f0a5f03c3c2a..0558410520f26f94493898d1fe553632289ee57c 100644 (file)
@@ -36,7 +36,7 @@ let _ =
    let ich = Lexing.from_channel stdin in
    let flags = if Array.length Sys.argv >= 2 then Sys.argv.(1) else "" in
    let log s = print_string s; flush stdout in
-   let handle = C.init ~flags:(C.flags_of_string flags) log in 
+   let handle = C.init ~flags:(C.flags_of_string flags) ~log:log () in 
    if not (C.connected handle) then begin  
        print_endline "mqitop: no connection"; flush stdout
    end;
index 9c9cfa995b870f515af8ffcf6069e18b3b37d54e..d0dedf143ca20beed109c4db9399d15412a6e940 100644 (file)
@@ -26,7 +26,7 @@
 (*  AUTOR: Ferruccio Guidi <fguidi@cs.unibo.it>
  *)
 
-type flag = Postgres | Galax | Stat | Quiet | Warn | Log | Source
+type flag = Galax | Postgres | Queries | Result | Source | Times | Warn
 
 type handle = {
    log : string -> unit;             (* logging function        *)
@@ -51,22 +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"
-      | Source   -> "V"
 
 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]
-      | 'V' -> [Source]
       | _   -> []
 
 let string_fold_left f a s =
@@ -80,7 +80,7 @@ let string_of_flags flags =
 let flags_of_string s =
    string_fold_left (fun l c -> l @ flag_of_char c) [] s
 
-let init ?(flags = []) mylog =
+let init ?(flags = []) ?(log = ignore) () =
    let flags = 
       if flags = [] then
          flags_of_string (Helm_registry.get "mathql_interpreter.flags")
@@ -93,7 +93,7 @@ let init ?(flags = []) mylog =
            then MQIMap.empty_map else MQIMap.read_map
       in g ()
    in
-   {log = mylog; set = flags; 
+   {log = log; set = flags; 
     pgc =
      if List.mem Galax flags then
       None
@@ -109,7 +109,6 @@ let close handle =
 let connected handle =
    if set handle Galax then false else (pgc handle) <> None  
 
-let init_if_connected ?(flags = []) mylog =
-   let handle = init ~flags:flags mylog in
+let init_if_connected ?(flags = []) ?(log = ignore) () =
+   let handle = init ~flags:flags ~log:log () in
    ignore (pgc handle); handle
index cb1ae4ddcc9b0833b1348f91c1e82bec52d6e37b..b83453ae9683ba8a183233019ff032a88c1d8b79 100644 (file)
 (*  AUTOR: Ferruccio Guidi <fguidi@cs.unibo.it>
  *)
 
-type flag = Postgres | Galax | Stat | Quiet | Warn | Log | Source
+type flag = Galax | Postgres | Queries | Result | Source | Times | Warn
 
 val string_of_flags : flag list -> string
 val flags_of_string : string -> flag list
 
 type handle
 
-val init      : ?flags:(flag list) -> (string -> unit) -> handle
+val init      : ?flags:(flag list) -> ?log:(string -> unit) -> unit -> handle
 val close     : handle -> unit
 val connected : handle -> bool
 
-val init_if_connected : ?flags:(flag list) -> (string -> unit) -> handle
+val init_if_connected : ?flags:(flag list) -> ?log:(string -> unit) -> unit -> handle
 
 (* The following functions allow to read the handle internal fields. 
  * For exclusive use of the interpreter.  
index be559adc7f107bb7dda849d4ebb7a4480c252bde..639fc6bb00f4baef2003dbcd3dcf60907d1deeba 100644 (file)
@@ -57,7 +57,7 @@ let cl_print l =
 
 let pg_query h table cols ct cfl =
    let exec q = 
-      if C.set h C.Log then C.log h (q ^ "\n");
+      if C.set h C.Queries then C.log h (q ^ "\n");
       P.exec (C.pgc h) q 
    in
    let rec iter f sep = function
index 8a3a3b3cf5d9535615ccfec5c36546d575d6842b..453b1643ce7fec85eef7483312848fde097f0298 100644 (file)
@@ -133,7 +133,7 @@ let execute h x =
            let t = P.start_time () in
            P.text_of_query (C.log h) "\n" x;
            let s = P.stop_time t in
-           if C.set h C.Stat then 
+           if C.set h C.Times then 
               C.log h (Printf.sprintf "Log source: %s\n" s);
            eval_query c x
         end else begin
@@ -141,7 +141,7 @@ let execute h x =
            let t = P.start_time () in
            P.text_of_result (C.log h) "\n" s; 
            let r = P.stop_time t in
-           if C.set h C.Stat then 
+           if C.set h C.Times then 
               C.log h (Printf.sprintf "Log: %s\n" r);
            s
         end
@@ -196,7 +196,7 @@ let execute h x =
         let t = P.start_time () in
         let r = MQIProperty.exec h q1 subj cons_true cons_false exp in 
         let s = P.stop_time t in
-         if C.set h C.Stat then 
+         if C.set h C.Times then 
            C.log h (Printf.sprintf "Property: %s,%i\n" s (List.length r));
         r 
       | M.StatQuery x ->
@@ -237,8 +237,9 @@ let execute h x =
    let t = P.start_time () in   
    if C.set h C.Source then P.text_of_query (C.log h) "\n" x;
    let r = eval_query c x in
+   if C.set h C.Result then P.text_of_result (C.log h) "\n" r;
    let s = P.stop_time t in
-   if C.set h C.Stat then 
+   if C.set h C.Times then 
       C.log h (Printf.sprintf "MQIExecute: %s,%s\n" s 
          (C.string_of_flags (C.flags h)));
    r
index 507dadb63d207546cd9cee1cabe272c315aab669..f3690204f2cee7218b9902a363e56ee5948cdc55 100644 (file)
@@ -610,7 +610,7 @@ printf "Current directory is %s\n" (Sys.getcwd ());
 printf "HTML directory is %s\n" pages_dir;
 flush stdout;
 Unix.putenv "http_proxy" "";
-let mqi_handle = C.init debug_print in
+let mqi_handle = C.init ~log:debug_print () in
 Http_daemon.start' ~port (callback mqi_handle);
 C.close mqi_handle;
 printf "%s is terminating, bye!\n" daemon_name