sig
exception Sqlite3_error of string
exception Sqlite3_range_error of (int * int)
type db
type stmt
type rc =
RC_ok
| RC_error
| RC_internal
| RC_perm
| RC_abort
| RC_busy
| RC_locked
| RC_nomem
| RC_readonly
| RC_interrupt
| RC_ioerr
| RC_corrupt
| RC_notfound
| RC_full
| RC_cantopen
| RC_protocol
| RC_empty
| RC_schema
| RC_toobig
| RC_constraint
| RC_mismatch
| RC_misuse
| RC_nofls
| RC_auth
| RC_format
| RC_range
| RC_notadb
| RC_row
| RC_done
type data =
Data_none
| Data_null
| Data_int of int64
| Data_float of float
| Data_text of string
| Data_blob of string
type row = Sqlite3.data array
type header = string array
external db_open : string -> Sqlite3.db = "caml_sqlite3_open"
external db_close : Sqlite3.db -> unit = "caml_sqlite3_close"
external errcode : Sqlite3.db -> Sqlite3.rc = "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 ->
string -> (string option array -> Sqlite3.header -> unit) -> Sqlite3.rc
= "caml_sqlite3_exec"
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 = "caml_sqlite3_step"
external finalize : Sqlite3.stmt -> Sqlite3.rc
= "caml_sqlite3_stmt_finalize"
external reset : Sqlite3.stmt -> Sqlite3.rc = "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
= "caml_sqlite3_column"
external column_name : Sqlite3.stmt -> int -> string
= "caml_sqlite3_column_name"
external column_decltype : Sqlite3.stmt -> int -> string
= "caml_sqlite3_column_decltype"
external bind : Sqlite3.stmt -> int -> Sqlite3.data -> Sqlite3.rc
= "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
= "caml_sqlite3_transfer_bindings"
val string_of_data : Sqlite3.data -> string
val string_of_rc : Sqlite3.rc -> string
val exec_sql : (Sqlite3.stmt -> unit) -> Sqlite3.db -> string -> unit
val row_data : Sqlite3.stmt -> Sqlite3.data array
val row_names : Sqlite3.stmt -> string array
val row_decltypes : Sqlite3.stmt -> string array
end