]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/mathql_interpreter/mQIConn.mli
ocaml 3.09 transition
[helm.git] / helm / ocaml / mathql_interpreter / mQIConn.mli
index cb1ae4ddcc9b0833b1348f91c1e82bec52d6e37b..35c8b3ef002087b54a86de8c5ddfbaa99261cfde 100644 (file)
 (*  AUTOR: Ferruccio Guidi <fguidi@cs.unibo.it>
  *)
 
-type flag = Postgres | Galax | Stat | Quiet | Warn | Log | Source
+type connection = MySQL_C    of HMysql.dbd
+                | Postgres_C of Postgres.connection
+               | No_C
+                  
+type flag = Galax | Postgres | Queries | Result | Source | Times | Warn
+
+type handle = {
+   log : string -> unit; (* logging function        *)
+   set : flag list;      (* options                 *)
+   pgc : connection;     (* PG connection           *)
+   pgm : MQIMap.pg_map;  (* PG conversion function  *)
+   pga : MQIMap.pg_alias (* PG table aliases        *)
+}
 
 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 exec      : handle -> (MQITypes.query -> unit) ->  
+                MQITypes.table -> MQITypes.columns ->
+                string MQITypes.con_true -> string MQITypes.con_false -> 
+               MQITypes.result
 
-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.  
@@ -45,7 +59,6 @@ val init_if_connected : ?flags:(flag list) -> (string -> unit) -> handle
 
 val log     : handle -> string -> unit
 val set     : handle -> flag -> bool   
-val pgc     : handle -> Postgres.connection option
 val flags   : handle -> flag list  
 val tables  : handle -> MathQL.path -> MQIMap.pg_tables
 val field   : handle -> MathQL.path -> string -> string