Repodb.Repo.REPO

repodb · API reference

type conn
val get : 
  conn ->
  table:Schema.table ->
  id:int ->
  decode:(Driver.row -> 'a) ->
  'a result
val get_opt : 
  conn ->
  table:Schema.table ->
  id:int ->
  decode:(Driver.row -> 'a) ->
  'a option result
val all : 
  conn ->
  table:Schema.table ->
  decode:(Driver.row -> 'a) ->
  'a list result
val insert : 
  conn ->
  table:Schema.table ->
  columns:string list ->
  values:Driver.Value.t list ->
  unit result
val update : 
  conn ->
  table:Schema.table ->
  columns:string list ->
  values:Driver.Value.t list ->
  where_column:string ->
  where_value:Driver.Value.t ->
  unit result
val delete : 
  conn ->
  table:Schema.table ->
  where_column:string ->
  where_value:Driver.Value.t ->
  unit result
val transaction : conn -> (conn -> 'a result) -> 'a result

Query execution functions - connect Query DSL to database

val all_query : 
  conn ->
  ('a, Query.select_query) Query.t ->
  decode:(Driver.row -> 'b) ->
  'b list result

Execute a SELECT query and return all matching rows

val one_query : 
  conn ->
  ('a, Query.select_query) Query.t ->
  decode:(Driver.row -> 'b) ->
  'b result

Execute a SELECT query and return the first row, or Not_found

val one_query_opt : 
  conn ->
  ('a, Query.select_query) Query.t ->
  decode:(Driver.row -> 'b) ->
  'b option result

Execute a SELECT query and return the first row as option

val insert_query : conn -> ('a, Query.insert_query) Query.t -> unit result

Execute an INSERT query

val update_query : conn -> ('a, Query.update_query) Query.t -> unit result

Execute an UPDATE query

val delete_query : conn -> ('a, Query.delete_query) Query.t -> unit result

Execute a DELETE query

val insert_query_returning : 
  conn ->
  ('a, Query.insert_query) Query.t ->
  decode:(Driver.row -> 'b) ->
  'b result

Execute an INSERT query with RETURNING clause

val update_query_returning : 
  conn ->
  ('a, Query.update_query) Query.t ->
  decode:(Driver.row -> 'b) ->
  'b list result

Execute an UPDATE query with RETURNING clause

val delete_query_returning : 
  conn ->
  ('a, Query.delete_query) Query.t ->
  decode:(Driver.row -> 'b) ->
  'b list result

Execute a DELETE query with RETURNING clause