aboutsummaryrefslogtreecommitdiffstats
path: root/lib/drl/executor.ml
diff options
context:
space:
mode:
authorEstevan Castilho <tevo@riajuu.net>2026-06-13 02:17:06 +0000
committerEstevan Castilho <tevo@riajuu.net>2026-06-13 02:17:06 +0000
commit059af607c75987de624ea87be6f7e50911747796 (patch)
treecfe303f7c160af1397b6ad4235767eacbb27e070 /lib/drl/executor.ml
parented1c73f5a05d9630c1bd1216d97d38b97f23bbc6 (diff)
downloadSakura-059af607c75987de624ea87be6f7e50911747796.tar.gz
Sakura-059af607c75987de624ea87be6f7e50911747796.zip
Implement `Ast.Cartesian` in terms of `Nt.Join`
Diffstat (limited to 'lib/drl/executor.ml')
-rw-r--r--lib/drl/executor.ml4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/drl/executor.ml b/lib/drl/executor.ml
index 34edc08..b634ba9 100644
--- a/lib/drl/executor.ml
+++ b/lib/drl/executor.ml
@@ -32,6 +32,10 @@ module Make (NT : Nt.S) = struct
| Ast.Project (attrs, query) ->
let* source = compile resolve query in
Ok (Nt.Project { attrs; source })
+ | Ast.Cartesian (q1, q2) ->
+ let* p1 = compile resolve q1 in
+ let* p2 = compile resolve q2 in
+ Ok (Nt.Join { left = p1; right = p2; []})
| Ast.Rename _ -> Error (Error.unsupported_operator "TODO")
| _ ->
Error (Error.unsupported_operator