X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fmathql_interpreter%2FmQIConn.ml;fp=helm%2Focaml%2Fmathql_interpreter%2FmQIConn.ml;h=0000000000000000000000000000000000000000;hb=c7514aaa249a96c5fdd39b1123fbdb38d92f20b6;hp=11dbd1674a058ada15206614b505aee47dd8198f;hpb=1c7fb836e2af4f2f3d18afd0396701f2094265ff;p=helm.git diff --git a/helm/ocaml/mathql_interpreter/mQIConn.ml b/helm/ocaml/mathql_interpreter/mQIConn.ml deleted file mode 100644 index 11dbd1674..000000000 --- a/helm/ocaml/mathql_interpreter/mQIConn.ml +++ /dev/null @@ -1,102 +0,0 @@ -(* 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 flag = Postgres | Galax | Stat | Quiet | Warn | Log - -type handle = { - log : string -> unit; (* logging function *) - set : flag list; (* options *) - pgc : Postgres.connection option; (* PG connection *) - pgm : MQIMap.pg_map; (* PG conversion function *) - pga : MQIMap.pg_alias (* PG table aliases *) -} - -let tables handle p = MQIMap.get_tables handle.pgm p - -let field handle p t = MQIMap.get_field handle.pgm p t - -let resolve handle a = MQIMap.resolve handle.pga a - -let log handle = handle.log - -let set handle flag = List.mem flag handle.set - -let pgc handle = handle.pgc - -let flags handle = handle.set - -let string_of_flag = function - | Postgres -> "P" - | Galax -> "G" - | Stat -> "S" - | Quiet -> "Q" - | Warn -> "W" - | Log -> "L" - -let flag_of_char = function - | 'P' -> [Postgres] - | 'G' -> [Galax] - | 'S' -> [Stat] - | 'Q' -> [Quiet] - | 'W' -> [Warn] - | 'L' -> [Log] - | _ -> [] - -let string_fold_left f a s = - let l = String.length s in - let rec aux b i = if i = l then b else aux (f b s.[i]) (succ i) in - aux a 0 - -let string_of_flags flags = - List.fold_left (fun s flag -> s ^ string_of_flag flag) "" flags - -let flags_of_string s = - string_fold_left (fun l c -> l @ flag_of_char c) [] s - -let init myflags mylog = - let s, m, a = - let g = - if List.mem Galax myflags - then MQIMap.empty_map else MQIMap.read_map - in g () - in - {log = mylog; set = myflags; - pgc = if List.mem Galax myflags then None else MQIPostgres.init s; - pgm = m; pga = a - } - -let close handle = - if set handle Galax then () else MQIPostgres.close handle.pgc - -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 - ignore (pgc handle); handle -