Module type Sqlexpr_sqlite.POOL


module type POOL = sig .. end

type 'a result 
type db 
type stmt 
val open_db : ?init:(Sqlite3.db -> unit) -> string -> db
val close_db : db -> unit
val prepare : db ->
(stmt ->
string -> Sqlite3.Data.t list -> 'a result) ->
Sqlexpr_sqlite.st -> 'a result
val step : ?sql:string ->
?params:Sqlite3.Data.t list ->
stmt -> Sqlite3.Rc.t result
val step_with_last_insert_rowid : ?sql:string ->
?params:Sqlite3.Data.t list ->
stmt -> Int64.t result
val reset : stmt -> unit result
val row_data : stmt -> Sqlite3.Data.t array result
val raise_error : stmt ->
?sql:string ->
?params:Sqlite3.Data.t list ->
?errmsg:string -> Sqlite3.Rc.t -> 'a result
val unsafe_execute : db -> string -> unit result
val borrow_worker : db ->
(db -> 'a result) ->
'a result
val steal_worker : db ->
(db -> 'a result) ->
'a result