Repodb.Repo.Make

repodb · API reference

Parameters

module D : Driver.S

Signature

type conn = D.connection
module Ddl : sig ... end
val placeholder : int -> string
val db_error : D.error -> Error.db_error
val map_driver_result : ('a, D.error) result -> ('a, Error.db_error) result
val map_rows : ('a -> 'b) -> 'a list -> 'b list
val exec_sql : 
  D.connection ->
  string ->
  params:Repodb.Driver.Value.t array ->
  (unit, Error.db_error) result
val query_sql : 
  D.connection ->
  string ->
  params:Repodb.Driver.Value.t array ->
  (Repodb.Driver.row list, Error.db_error) result
val query_one_sql : 
  D.connection ->
  string ->
  params:Repodb.Driver.Value.t array ->
  (Repodb.Driver.row option, Error.db_error) result
val get : 
  D.connection ->
  table:Schema.table ->
  id:int ->
  decode:(Repodb.Driver.row -> 'a) ->
  ('a, Error.db_error) result
val get_opt : 
  D.connection ->
  table:Schema.table ->
  id:int ->
  decode:(Repodb.Driver.row -> 'a) ->
  ('a option, Error.db_error) result
val all : 
  D.connection ->
  table:Schema.table ->
  decode:(Repodb.Driver.row -> 'a) ->
  ('a list, Error.db_error) result
val insert : 
  D.connection ->
  table:Schema.table ->
  columns:string list ->
  values:Repodb.Driver.Value.t list ->
  (unit, Error.db_error) result
val insert_returning : 
  D.connection ->
  table:Schema.table ->
  columns:string list ->
  values:Repodb.Driver.Value.t list ->
  decode:(Repodb.Driver.row -> 'a) ->
  ('a, Error.db_error) result
val update : 
  D.connection ->
  table:Schema.table ->
  columns:string list ->
  values:Repodb.Driver.Value.t list ->
  where_column:string ->
  where_value:Repodb.Driver.Value.t ->
  (unit, Error.db_error) result
val delete : 
  D.connection ->
  table:Schema.table ->
  where_column:string ->
  where_value:Repodb.Driver.Value.t ->
  (unit, Error.db_error) result
val transaction : 
  D.connection ->
  (D.connection -> ('a, Error.db_error) result) ->
  ('a, Error.db_error) result
val preload_has_many : 
  D.connection ->
  'a list ->
  assoc:'b Assoc.t ->
  get_owner_id:('a -> IntMap.key) ->
  decode_related:(Repodb.Driver.row -> 'c) ->
  get_fk:('c -> IntMap.key) ->
  set_assoc:('c list -> 'a -> 'a) ->
  ('a list, Error.db_error) result
val preload_has_one : 
  D.connection ->
  'a list ->
  assoc:'b Assoc.t ->
  get_owner_id:('a -> IntMap.key) ->
  decode_related:(Repodb.Driver.row -> 'c) ->
  get_fk:('c -> IntMap.key) ->
  set_assoc:('c option -> 'a -> 'a) ->
  ('a list, Error.db_error) result
val preload_belongs_to : 
  D.connection ->
  'a list ->
  assoc:'b Assoc.t ->
  get_fk:('a -> int option) ->
  decode_related:(Repodb.Driver.row -> 'c) ->
  get_related_id:('c -> IntMap.key) ->
  set_assoc:('c option -> 'a -> 'a) ->
  ('a list, Error.db_error) result
val preload_many_to_many : 
  D.connection ->
  'a list ->
  assoc:'b Assoc.t ->
  get_owner_id:('a -> IntMap.key) ->
  decode_related:(Driver.row -> 'c) ->
  set_assoc:('c list -> 'a -> 'a) ->
  ('a list, Error.db_error) result
val preload_chunked : 
  'a ->
  chunk_size:int ->
  fetch_chunk:(unit -> ('b list, 'c) result) ->
  preload:('a -> 'b list -> ('d, 'c) result) ->
  process:('d -> 'e) ->
  (unit, 'c) result
val all_query : 
  D.connection ->
  ('a, 'b) Query.t ->
  decode:(Repodb.Driver.row -> 'c) ->
  ('c list, Error.db_error) result
val one_query : 
  D.connection ->
  ('a, 'b) Query.t ->
  decode:(Repodb.Driver.row -> 'c) ->
  ('c, Error.db_error) result
val one_query_opt : 
  D.connection ->
  ('a, 'b) Query.t ->
  decode:(Repodb.Driver.row -> 'c) ->
  ('c option, Error.db_error) result
val insert_query : 
  D.connection ->
  ('a, 'b) Query.t ->
  (unit, Error.db_error) result
val update_query : 
  D.connection ->
  ('a, 'b) Query.t ->
  (unit, Error.db_error) result
val delete_query : 
  D.connection ->
  ('a, 'b) Query.t ->
  (unit, Error.db_error) result
val insert_query_returning : 
  D.connection ->
  ('a, 'b) Query.t ->
  decode:(Repodb.Driver.row -> 'c) ->
  ('c, Error.db_error) result
val update_query_returning : 
  D.connection ->
  ('a, 'b) Query.t ->
  decode:(Repodb.Driver.row -> 'c) ->
  ('c list, Error.db_error) result
val delete_query_returning : 
  D.connection ->
  ('a, 'b) Query.t ->
  decode:(Repodb.Driver.row -> 'c) ->
  ('c list, Error.db_error) result