sig
exception InternalError of string
exception Error of string
exception RangeError of int * int
type db
type stmt
type header = string
type headers = Sqlite3.header array
type row = string option array
type row_not_null = string array
module Rc :
sig
type unknown
external int_of_unknown : Sqlite3.Rc.unknown -> int = "%identity"
type t =
OK
| ERROR
| INTERNAL
| PERM
| ABORT
| BUSY
| LOCKED
| NOMEM
| READONLY
| INTERRUPT
| IOERR
| CORRUPT
| NOTFOUND
| FULL
| CANTOPEN
| PROTOCOL
| EMPTY
| SCHEMA
| TOOBIG
| CONSTRAINT
| MISMATCH
| MISUSE
| NOFLS
| AUTH
| FORMAT
| RANGE
| NOTADB
| ROW
| DONE
| UNKNOWN of Sqlite3.Rc.unknown
val to_string : Sqlite3.Rc.t -> string
end
module Data :
sig
type t =
NONE
| NULL
| INT of int64
| FLOAT of float
| TEXT of string
| BLOB of string
val to_string : Sqlite3.Data.t -> string
end
external db_open : string -> Sqlite3.db = "caml_sqlite3_open"
external db_close : Sqlite3.db -> bool = "caml_sqlite3_close"
external errcode : Sqlite3.db -> Sqlite3.Rc.t = "caml_sqlite3_errcode"
external errmsg : Sqlite3.db -> string = "caml_sqlite3_errmsg"
external last_insert_rowid : Sqlite3.db -> int64
= "caml_sqlite3_last_insert_rowid"
external exec :
Sqlite3.db ->
?cb:(Sqlite3.row -> Sqlite3.headers -> unit) -> string -> Sqlite3.Rc.t
= "caml_sqlite3_exec"
external exec_no_headers :
Sqlite3.db -> cb:(Sqlite3.row -> unit) -> string -> Sqlite3.Rc.t
= "caml_sqlite3_exec_no_headers"
external exec_not_null :
Sqlite3.db ->
cb:(Sqlite3.row_not_null -> Sqlite3.headers -> unit) ->
string -> Sqlite3.Rc.t = "caml_sqlite3_exec_not_null"
external exec_not_null_no_headers :
Sqlite3.db -> cb:(Sqlite3.row_not_null -> unit) -> string -> Sqlite3.Rc.t
= "caml_sqlite3_exec_not_null_no_headers"
external prepare : Sqlite3.db -> string -> Sqlite3.stmt
= "caml_sqlite3_prepare"
external prepare_tail : Sqlite3.stmt -> Sqlite3.stmt option
= "caml_sqlite3_prepare_tail"
external recompile : Sqlite3.stmt -> unit = "caml_sqlite3_recompile"
external step : Sqlite3.stmt -> Sqlite3.Rc.t = "caml_sqlite3_step"
external finalize : Sqlite3.stmt -> Sqlite3.Rc.t
= "caml_sqlite3_stmt_finalize"
external reset : Sqlite3.stmt -> Sqlite3.Rc.t = "caml_sqlite3_stmt_reset"
external expired : Sqlite3.stmt -> bool = "caml_sqlite3_expired"
external data_count : Sqlite3.stmt -> int = "caml_sqlite3_data_count"
external column : Sqlite3.stmt -> int -> Sqlite3.Data.t
= "caml_sqlite3_column"
external column_name : Sqlite3.stmt -> int -> Sqlite3.header
= "caml_sqlite3_column_name"
external column_decltype : Sqlite3.stmt -> int -> string
= "caml_sqlite3_column_decltype"
external bind : Sqlite3.stmt -> int -> Sqlite3.Data.t -> Sqlite3.Rc.t
= "caml_sqlite3_bind"
external bind_parameter_count : Sqlite3.stmt -> int
= "caml_sqlite3_bind_parameter_count"
external bind_parameter_name : Sqlite3.stmt -> int -> string option
= "caml_sqlite3_bind_parameter_name"
external bind_parameter_index : Sqlite3.stmt -> string -> int
= "caml_sqlite3_bind_parameter_index"
external transfer_bindings : Sqlite3.stmt -> Sqlite3.stmt -> Sqlite3.Rc.t
= "caml_sqlite3_transfer_bindings"
val row_data : Sqlite3.stmt -> Sqlite3.Data.t array
val row_names : Sqlite3.stmt -> Sqlite3.headers
val row_decltypes : Sqlite3.stmt -> string array
val create_funN :
Sqlite3.db -> string -> (Sqlite3.Data.t array -> Sqlite3.Data.t) -> unit
val create_fun0 : Sqlite3.db -> string -> (unit -> Sqlite3.Data.t) -> unit
val create_fun1 :
Sqlite3.db -> string -> (Sqlite3.Data.t -> Sqlite3.Data.t) -> unit
val create_fun2 :
Sqlite3.db ->
string -> (Sqlite3.Data.t -> Sqlite3.Data.t -> Sqlite3.Data.t) -> unit
val create_fun3 :
Sqlite3.db ->
string ->
(Sqlite3.Data.t -> Sqlite3.Data.t -> Sqlite3.Data.t -> Sqlite3.Data.t) ->
unit
external delete_function : Sqlite3.db -> string -> unit
= "caml_sqlite3_delete_function"
end