X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=helm%2Focaml%2Fmathql_interpreter%2FmQIConn.mli;fp=helm%2Focaml%2Fmathql_interpreter%2FmQIConn.mli;h=35c8b3ef002087b54a86de8c5ddfbaa99261cfde;hp=0000000000000000000000000000000000000000;hb=792b5d29ebae8f917043d9dd226692919b5d6ca1;hpb=a14a8c7637fd0b95e9d4deccb20c6abc98e8f953 diff --git a/helm/ocaml/mathql_interpreter/mQIConn.mli b/helm/ocaml/mathql_interpreter/mQIConn.mli new file mode 100644 index 000000000..35c8b3ef0 --- /dev/null +++ b/helm/ocaml/mathql_interpreter/mQIConn.mli @@ -0,0 +1,65 @@ +(* Copyright (C) 2000, HELM Team. + * + * This file is part of HELM, an Hypertextual, Electronic + * Library of Mathematics, developed at the Computer Science + * Department, University of Bologna, Italy. + * + * HELM is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * HELM is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with HELM; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, + * MA 02111-1307, USA. + * + * For details, see the HELM World-Wide-Web page, + * http://cs.unibo.it/helm/. + *) + +(* AUTOR: Ferruccio Guidi + *) + +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 + +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) -> ?log:(string -> unit) -> unit -> handle + +(* The following functions allow to read the handle internal fields. + * For exclusive use of the interpreter. + *) + +val log : handle -> string -> unit +val set : handle -> flag -> bool +val flags : handle -> flag list +val tables : handle -> MathQL.path -> MQIMap.pg_tables +val field : handle -> MathQL.path -> string -> string +val resolve : handle -> string -> string