blob: ffeb3c95c5bb35197124c5a527566b6d2b769c31 (
plain) (
tree)
|
|
module AttributeMap = struct
include BatMap.String
let sexp_of_t sexp_of_v m =
Sexplib.Sexp.List
(List.map
(fun (k, v) -> Sexplib.Sexp.List [ Sexplib.Sexp.Atom k; sexp_of_v v ])
(bindings m))
end
type non_materialized = {
hash : Conventions.Hash.t;
relation : Conventions.Name.t;
attributes : Attribute.referenced AttributeMap.t;
(* lineage : Relation.Lineage.t option; *)
}
[@@deriving sexp_of]
type materialized = {
relation : Conventions.Name.t;
attributes : Attribute.materialized AttributeMap.t;
(* lineage : Relation.Lineage.t option; *)
}
[@@deriving sexp_of]
type t = Materialized of materialized | NonMaterialized of non_materialized
[@@deriving sexp_of]
let make_materialized ~relation ~attributes =
Materialized {
relation;
attributes;
(* lineage = None *)
}
let materialized_equal a b =
AttributeMap.equal Attribute.materialized_equal a.attributes b.attributes
|