package links

  1. Overview
  2. Docs
type t
include Sexplib0.Sexpable.S with type t := t
val t_of_sexp : Sexplib0.Sexp.t -> t
val sexp_of_t : t -> Sexplib0.Sexp.t
val pp_pretty : Format.formatter -> t -> unit

Print functional dependencies in a human readable form, e.g. 'Col1 Col2 -> Col 3'

val make : Alias.Set.t -> Alias.Set.t -> t

Construct a new functional dependency. Example:

let fd = Fun_dep.make left right in
...
val left : t -> Alias.Set.t

Get the left side of a functional dependency (i.e. left of X -> Y returns X)

val left_list : t -> Alias.t list

Get the left side of a functional dependency as a list (i.e. left of X -> Y returns Y)

val right : t -> Alias.Set.t

Get the right side of a functional dependency (i.e. left of X -> Y returns Y)

val right_list : t -> Alias.t list

Get the right side of a functional dependency as a list (i.e. left of X -> Y returns Y)

val all_columns : t -> Alias.Set.t

Get all of the columns of a functional dependency (i.e. left of X -> Y returns XY)

val all_columns_list : t -> Alias.t list

Get all of the columns of a functional dependency as a list (i.e. left of X -> Y returns XY)

val of_lists : (Alias.t list * Alias.t list) -> t

Convert two sets of alias lists into a functional dependency

val key_fd : keys:Alias.t list -> cols:Alias.t list -> t

Construct a single functional dependency from a set of columns and a key

module Check_error : sig ... end
module Remove_defines_error : sig ... end
module Compare : sig ... end
module Set : sig ... end
module Tree : sig ... end
OCaml

Innovation. Community. Security.