aboutsummaryrefslogtreecommitdiffstats
path: root/lib/tuple.ml
diff options
context:
space:
mode:
authorMarcos Magueta <maguetamarcos@gmail.com>2026-03-06 04:10:31 -0300
committerMarcos Magueta <maguetamarcos@gmail.com>2026-03-06 04:10:31 -0300
commit5bbbbc976d25859082014f3720b82bcd2d05a2f0 (patch)
tree91c8a230260006156ef58fcc004775d1387de94e /lib/tuple.ml
parent1f084d995444683e2885beb6e12eeee6df1241d3 (diff)
downloadSakura-5bbbbc976d25859082014f3720b82bcd2d05a2f0.tar.gz
Sakura-5bbbbc976d25859082014f3720b82bcd2d05a2f0.zip
encode relations on module base
Diffstat (limited to '')
-rw-r--r--lib/tuple.ml18
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/tuple.ml b/lib/tuple.ml
new file mode 100644
index 0000000..07632db
--- /dev/null
+++ b/lib/tuple.ml
@@ -0,0 +1,18 @@
+module AttributeMap = Map.Make(String)
+
+type non_materialized = {
+ hash : Conventions.Hash.t;
+ relation : Conventions.Name.t;
+ attributes : Conventions.Hash.t AttributeMap.t;
+}
+
+type materialized = {
+ relation: Conventions.Name.t;
+ attributes: Conventions.AbstractValue.t AttributeMap.t
+}
+
+type t =
+ | Materialized of materialized
+ | NonMaterialized of non_materialized
+
+let make_materialized ~relation ~attributes = Materialized { relation; attributes }