* http://www.cs.unibo.it/helm/.
*)
-(*
- * gestione della connessione al database
- *)
-
-(*
- * le eccezioni lanciate dalle funzioni init e pgc sono
- * definite nel modulo Mathql
- *)
-open MathQL;;
-
-exception InvalidURI of string
-exception ConnectionFailed of string
-exception InvalidConnection
-
-(*
- * connessione al db
- *)
-let conn = ref None
-
-(*
- * controllo sulla connessione
- *)
-let pgc () =
- match !conn with
- None -> raise InvalidConnection
- | Some c -> c
-;;
-
-(*
- * inizializzazione della connessione
- *
- * TODO
- * passare i parametri della connessione come argomento di init
- *)
let init connection_param =
- try (
- conn := Some (new Postgres.connection connection_param);
- ) with
- _ -> raise (ConnectionFailed ("init: " ^ connection_param))
-;;
+ try Some (new Postgres.connection connection_param)
+ with _ -> None
-(*
- * chiusura della connessione
- *)
-let close () =
- match !conn with
- None -> ()
+let close = function
+ | None -> ()
| Some c -> c#close
-;;
+