functor (M : Sqlexpr_concurrency.THREAD) ->
sig
type ('a, 'b) statement = {
sql_statement : string;
stmt_id : string option;
directive : (Sqlexpr_sqlite.st -> 'b) -> Sqlexpr_sqlite.st -> 'a;
}
type ('a, 'b, 'c) expression = {
statement : ('a, 'c) Sqlexpr_sqlite.Make.statement;
get_data : int * (Sqlite3.Data.t array -> 'b);
}
exception Error of exn
exception Sqlite_error of string * Sqlite3.Rc.t
val open_db : string -> Sqlexpr_sqlite.db
val close_db : Sqlexpr_sqlite.db -> unit
val sqlite_db : Sqlexpr_sqlite.db -> Sqlite3.db
val execute :
Sqlexpr_sqlite.db -> ('a, unit M.t) Sqlexpr_sqlite.Make.statement -> 'a
val insert :
Sqlexpr_sqlite.db ->
('a, int64 M.t) Sqlexpr_sqlite.Make.statement -> 'a
val select :
Sqlexpr_sqlite.db ->
('a, 'b M.t, 'b list M.t) Sqlexpr_sqlite.Make.expression -> 'a
val select_f :
Sqlexpr_sqlite.db ->
('a -> 'b M.t) ->
('c, 'a, 'b list M.t) Sqlexpr_sqlite.Make.expression -> 'c
val select_one :
Sqlexpr_sqlite.db ->
('a, 'b M.t, 'b M.t) Sqlexpr_sqlite.Make.expression -> 'a
val transaction :
Sqlexpr_sqlite.db -> (Sqlexpr_sqlite.db -> 'a M.t) -> 'a M.t
val fold :
Sqlexpr_sqlite.db ->
('a -> 'b -> 'a M.t) ->
'a -> ('c, 'b, 'a M.t) Sqlexpr_sqlite.Make.expression -> 'c
val iter :
Sqlexpr_sqlite.db ->
('a -> unit M.t) ->
('b, 'a, unit M.t) Sqlexpr_sqlite.Make.expression -> 'b
module Directives :
sig
type ('a, 'b) directive =
(Sqlexpr_sqlite.st -> 'b) -> Sqlexpr_sqlite.st -> 'a
val literal :
string -> ('a, 'a) Sqlexpr_sqlite.Make.Directives.directive
val int : (int -> 'a, 'a) Sqlexpr_sqlite.Make.Directives.directive
val text :
(string -> 'a, 'a) Sqlexpr_sqlite.Make.Directives.directive
val blob :
(string -> 'a, 'a) Sqlexpr_sqlite.Make.Directives.directive
val float :
(float -> 'a, 'a) Sqlexpr_sqlite.Make.Directives.directive
val int32 :
(int32 -> 'a, 'a) Sqlexpr_sqlite.Make.Directives.directive
val int64 :
(int64 -> 'a, 'a) Sqlexpr_sqlite.Make.Directives.directive
val bool : (bool -> 'a, 'a) Sqlexpr_sqlite.Make.Directives.directive
val any :
(('a -> string) -> 'a -> 'b, 'b)
Sqlexpr_sqlite.Make.Directives.directive
val maybe_int :
(int option -> 'a, 'a) Sqlexpr_sqlite.Make.Directives.directive
val maybe_text :
(string option -> 'a, 'a) Sqlexpr_sqlite.Make.Directives.directive
val maybe_blob :
(string option -> 'a, 'a) Sqlexpr_sqlite.Make.Directives.directive
val maybe_float :
(float option -> 'a, 'a) Sqlexpr_sqlite.Make.Directives.directive
val maybe_int32 :
(int32 option -> 'a, 'a) Sqlexpr_sqlite.Make.Directives.directive
val maybe_int64 :
(int64 option -> 'a, 'a) Sqlexpr_sqlite.Make.Directives.directive
val maybe_bool :
(bool option -> 'a, 'a) Sqlexpr_sqlite.Make.Directives.directive
val maybe_any :
(('a -> string) -> 'a option -> 'b, 'b)
Sqlexpr_sqlite.Make.Directives.directive
end
module Conversion :
sig
val text : Sqlite3.Data.t -> string M.t
val blob : Sqlite3.Data.t -> string M.t
val int : Sqlite3.Data.t -> int M.t
val int32 : Sqlite3.Data.t -> int32 M.t
val int64 : Sqlite3.Data.t -> int64 M.t
val float : Sqlite3.Data.t -> float M.t
val bool : Sqlite3.Data.t -> bool M.t
val maybe :
(Sqlite3.Data.t -> 'a M.t) -> Sqlite3.Data.t -> 'a option M.t
val maybe_text : Sqlite3.Data.t -> string option M.t
val maybe_blob : Sqlite3.Data.t -> string option M.t
val maybe_int : Sqlite3.Data.t -> int option M.t
val maybe_int32 : Sqlite3.Data.t -> int32 option M.t
val maybe_int64 : Sqlite3.Data.t -> int64 option M.t
val maybe_float : Sqlite3.Data.t -> float option M.t
val maybe_bool : Sqlite3.Data.t -> bool option M.t
end
end