sig
type t_key = V1.t_key = Primary_key | Key
val xparse_t_key : IoXML.ast -> Dbf_types.V1.t_key
val xprint_t_key : Format.formatter -> Dbf_types.V1.t_key -> unit
type sql_code = string
val xparse_sql_code : IoXML.ast -> string
val xprint_sql_code : Format.formatter -> string -> unit
type dbms = V1.dbms = Odbc | Mysql | Postgres
val xparse_dbms : IoXML.ast -> Dbf_types.V1.dbms
val xprint_dbms : Format.formatter -> Dbf_types.V1.dbms -> unit
type column_dbms =
V1.column_dbms = {
mutable col_type_sql : string * string option * string option;
mutable col_2ml : string;
mutable col_ml2 : string;
mutable col_key : Dbf_types.V1.t_key option;
mutable col_default : Dbf_types.V1.sql_code option;
mutable col_atts : (string * Dbf_types.V1.sql_code) list;
}
val xparse_column_dbms : IoXML.ast -> Dbf_types.V1.column_dbms
val xprint_column_dbms :
Format.formatter -> Dbf_types.V1.column_dbms -> unit
type column =
V1.column = {
mutable col_name : string;
mutable col_comment : string;
mutable col_type_ml : string;
mutable col_nullable : bool;
mutable col_index : bool;
mutable col_dbms : (Dbf_types.V1.dbms * Dbf_types.V1.column_dbms) list;
}
val xparse_column : IoXML.ast -> Dbf_types.V1.column
val xprint_column : Format.formatter -> Dbf_types.V1.column -> unit
type table =
V1.table = {
mutable ta_name : string;
mutable ta_comment : string;
mutable ta_columns : Dbf_types.V1.column list;
mutable ta_atts : int list;
mutable ta_indexes : int list;
}
val xparse_table : IoXML.ast -> Dbf_types.V1.table
val xprint_table : Format.formatter -> Dbf_types.V1.table -> unit
type schema = V1.schema = { mutable sch_tables : Dbf_types.V1.table list; }
val xparse_schema : IoXML.ast -> Dbf_types.V1.schema
val xprint_schema : Format.formatter -> Dbf_types.V1.schema -> unit
type att_desc = V1.att_desc = Att_string
val xparse_att_desc : IoXML.ast -> Dbf_types.V1.att_desc
val xprint_att_desc : Format.formatter -> Dbf_types.V1.att_desc -> unit
val default : unit -> Dbf_types.V1.schema
val version : string
val read : Pervasives.in_channel -> Dbf_types.V1.schema
val write : Pervasives.out_channel -> Dbf_types.V1.schema -> unit
end