]> matita.cs.unibo.it Git - helm.git/commitdiff
now database interfaces are more abstract
authorFerruccio Guidi <ferruccio.guidi@unibo.it>
Fri, 27 Feb 2004 14:06:41 +0000 (14:06 +0000)
committerFerruccio Guidi <ferruccio.guidi@unibo.it>
Fri, 27 Feb 2004 14:06:41 +0000 (14:06 +0000)
helm/ocaml/mathql_interpreter/.depend
helm/ocaml/mathql_interpreter/Makefile
helm/ocaml/mathql_interpreter/mQIConn.mli
helm/ocaml/mathql_interpreter/mQIMySql.mli
helm/ocaml/mathql_interpreter/mQIPostgres.mli
helm/ocaml/mathql_interpreter/mQIProperty.mli
helm/ocaml/mathql_interpreter/mQITypes.ml [new file with mode: 0644]

index c9d883b213944e3639d64bc1d1c9ee048ae1d311..c675ba3525d8c749e485968aaa1123d6d6b8dd83 100644 (file)
@@ -1,4 +1,6 @@
-mQIConn.cmi: mQIMap.cmi mQIPostgres.cmi 
+mQIPostgres.cmi: mQITypes.cmo 
+mQIMySql.cmi: mQITypes.cmo 
+mQIConn.cmi: mQIMap.cmi mQITypes.cmo 
 mQIProperty.cmi: mQIConn.cmi 
 mQueryInterpreter.cmi: mQIConn.cmi 
 mQueryTParser.cmo: mQueryTParser.cmi 
@@ -9,20 +11,16 @@ mQueryUtil.cmo: mQueryTLexer.cmo mQueryTParser.cmi mQueryUtil.cmi
 mQueryUtil.cmx: mQueryTLexer.cmx mQueryTParser.cmx mQueryUtil.cmi 
 mQIUtil.cmo: mQIUtil.cmi 
 mQIUtil.cmx: mQIUtil.cmi 
-mQIDataBase.cmo: mQIDataBase.cmi 
-mQIDataBase.cmx: mQIDataBase.cmi 
 mQIPostgres.cmo: mQIPostgres.cmi 
 mQIPostgres.cmx: mQIPostgres.cmi 
 mQIMySql.cmo: mQIMySql.cmi 
 mQIMySql.cmx: mQIMySql.cmi 
 mQIMap.cmo: mQueryUtil.cmi mQIMap.cmi 
 mQIMap.cmx: mQueryUtil.cmx mQIMap.cmi 
-mQIConn.cmo: mQIDataBase.cmi mQIMap.cmi mQIConn.cmi 
-mQIConn.cmx: mQIDataBase.cmx mQIMap.cmx mQIConn.cmi 
-mQIProperty.cmo: mQIConn.cmi mQIDataBase.cmi mQIMap.cmi mQIUtil.cmi \
-    mQIProperty.cmi 
-mQIProperty.cmx: mQIConn.cmx mQIDataBase.cmx mQIMap.cmx mQIUtil.cmx \
-    mQIProperty.cmi 
+mQIConn.cmo: mQIMap.cmi mQIMySql.cmi mQIPostgres.cmi mQIConn.cmi 
+mQIConn.cmx: mQIMap.cmx mQIMySql.cmx mQIPostgres.cmx mQIConn.cmi 
+mQIProperty.cmo: mQIConn.cmi mQIMap.cmi mQIUtil.cmi mQIProperty.cmi 
+mQIProperty.cmx: mQIConn.cmx mQIMap.cmx mQIUtil.cmx mQIProperty.cmi 
 mQueryInterpreter.cmo: mQIConn.cmi mQIProperty.cmi mQIUtil.cmi mQueryUtil.cmi \
     mQueryInterpreter.cmi 
 mQueryInterpreter.cmx: mQIConn.cmx mQIProperty.cmx mQIUtil.cmx mQueryUtil.cmx \
index 2f842bb6b3305356e04dbc983483be71d613c5e1..7d21bc6ba427f827fc8dc2b2e7e13fd8583e9539 100644 (file)
@@ -9,10 +9,11 @@ INTERFACE_FILES = mQueryUtil.mli mQIUtil.mli \
                  mQIProperty.mli mQueryInterpreter.mli
 
 IMPLEMENTATION_FILES = mQueryTParser.ml mQueryTLexer.ml \
-                      $(INTERFACE_FILES:%.mli=%.ml)
+                      mQITypes.ml $(INTERFACE_FILES:%.mli=%.ml)
 
 EXTRA_OBJECTS_TO_INSTALL = mQueryTLexer.cmi \
-                          mQueryTLexer.mll mQueryTParser.mly
+                          mQueryTLexer.mll mQueryTParser.mly \
+                          mQITypes.ml mQITypes.cmi 
 
 EXTRA_OBJECTS_TO_CLEAN = mQueryTParser.ml mQueryTParser.mli \
                         mQueryTLexer.ml
index 5e37f180af2c07a62bb4e4bf0533d683b16b5790..c57674cc2126ba583ee6836e6acca6dd4441f943 100644 (file)
@@ -37,10 +37,9 @@ val init      : ?flags:(flag list) -> ?log:(string -> unit) -> unit -> handle
 val close     : handle -> unit
 val connected : handle -> bool
 val exec      : handle -> 
-                string -> string list ->
-                (bool * string * string list) list ->
-                (bool * string * string list) list list -> 
-               string list list * string
+                MQITypes.table -> MQITypes.columns ->
+                string MQITypes.con_true -> string MQITypes.con_false -> 
+               MQITypes.result * MQITypes.query
 
 val init_if_connected : ?flags:(flag list) -> ?log:(string -> unit) -> unit -> handle
 
index 3cbae4dc55b74a9a7ba3e2c69d99180171676e61..c0102090ae14c0d026b979c16347332753c1e8e4 100644 (file)
@@ -31,8 +31,6 @@ val init  : unit -> Mysql.dbd
 val close : Mysql.dbd -> unit
 
 val exec  : Mysql.dbd -> 
-            string -> string list ->
-            (bool * string * string list) list ->
-            (bool * string * string list) list list -> 
-           string list list * string
-
+            MQITypes.table -> MQITypes.columns ->
+            string MQITypes.con_true -> string MQITypes.con_false -> 
+           MQITypes.result * MQITypes.query
index 63752dfeb3cc073023eb32ee4bb8729fabce5d6e..afc75b051084c71fd2ad7582ed0eb117b5acec44 100644 (file)
@@ -31,12 +31,8 @@ val init  : unit -> Postgres.connection
 val close : Postgres.connection -> unit
 
 val exec  : Postgres.connection -> 
-            string -> string list ->
-            (bool * string * string list) list ->
-            (bool * string * string list) list list -> 
-           string list list * string
-
-
-
+            MQITypes.table -> MQITypes.columns ->
+           string MQITypes.con_true -> string MQITypes.con_false ->
+           MQITypes.result * MQITypes.query
 
 
index 1084cc94aaddb1665275ec20465c479534590981..093447072f9ac2acd1c93384ae2a4b339d4ff515 100644 (file)
@@ -26,9 +26,7 @@
 (*  AUTOR: Ferruccio Guidi <fguidi@cs.unibo.it>
  *)
 
-open MathQL
-open MQIConn
+val exec: MQIConn.handle -> MathQL.refine -> MathQL.path ->  
+          MathQL.path MQITypes.con_true -> MathQL.path MQITypes.con_false -> 
+         MathQL.exp_list -> MathQL.result
 
-val exec: handle -> refine -> path ->  
-          (bool * path * value) list -> (bool * path * value) list list -> 
-         exp_list -> result
diff --git a/helm/ocaml/mathql_interpreter/mQITypes.ml b/helm/ocaml/mathql_interpreter/mQITypes.ml
new file mode 100644 (file)
index 0000000..44b21ce
--- /dev/null
@@ -0,0 +1,41 @@
+(* 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 <fguidi@cs.unibo.it>
+ *)
+
+type 'a con = MathQL.pattern * 'a * MathQL.value
+
+type 'a con_true = 'a con list
+
+type 'a con_false = 'a con list list
+
+type table = string
+
+type columns = string list
+
+type result = string list list
+
+type query = string