Rel.Col
Column definitions.
A column is defined by its name, its type, an optional default value and how to project it from the OCaml row representation it is part of.
The type for extensible column parameters. Warning this may be removed in the future.
The type for column value defaults.
The type for a column definition with values represented by type 'a
and which are part of a row represented by type 'r
.
The type for existential column definitions part of a row of type 'r
.
The type for a column value part of a row of type 'r
.
val make :
?params:'a param list ->
?default:'a default ->
string ->
'a Type.t ->
('r -> 'a) ->
('r, 'a) t
make name type' proj
is a column definition with:
name
, the name of the column.type'
, the type of the column.proj
, the projection function from the type 'r
representing the row the column is part of.default
, the default value of the column (if any).params
, a list of parameters for the column.val proj : ('r, 'a) t -> 'r -> 'a
proj c
is the projection function of c
.
equal_name c0 c1
is true
if c0
and c1
have the same name.