sig
  val version : string
  exception SQL_Error of string
  type sql_column_type =
      SQL_unknown
    | SQL_char
    | SQL_numeric
    | SQL_decimal
    | SQL_integer
    | SQL_smallint
    | SQL_float
    | SQL_real
    | SQL_double
    | SQL_varchar
    | SQL_date
    | SQL_time
    | SQL_timestamp
    | SQL_longvarchar
    | SQL_binary
    | SQL_varbinary
    | SQL_longvarbinary
    | SQL_bigint
    | SQL_tinyint
    | SQL_bit
  module SQL_column :
    sig
      type t = Ocamlodbc.sql_column_type
      val string : Ocamlodbc.sql_column_type -> string
    end
  type connection
  val connect : string -> string -> string -> Ocamlodbc.connection
  val connect_driver : ?prompt:bool -> string -> Ocamlodbc.connection
  val disconnect : Ocamlodbc.connection -> unit
  val execute :
    Ocamlodbc.connection -> string -> int * string option list list
  val execute_with_info :
    Ocamlodbc.connection ->
    string ->
    int * (string * Ocamlodbc.sql_column_type) list * string option list list
  val execute_gen :
    Ocamlodbc.connection ->
    ?get_info:bool ->
    ?n_rec:int ->
    string ->
    (string option list list -> unit) ->
    int * (string * Ocamlodbc.sql_column_type) list
  class data_base :
    string ->
    string ->
    string ->
    object
      method connect : unit -> unit
      method disconnect : unit -> unit
      method execute : string -> int * string option list list
      method execute_gen :
        ?get_info:bool ->
        ?n_rec:int ->
        string ->
        (string option list list -> unit) ->
        int * (string * Ocamlodbc.sql_column_type) list
      method execute_with_info :
        string ->
        int * (string * Ocamlodbc.sql_column_type) list *
        string option list list
    end
end