aboutsummaryrefslogtreecommitdiffstats
path: root/lib/drl
diff options
context:
space:
mode:
authorEstevan Castilho <tevo@riajuu.net>2026-05-30 02:52:21 +0000
committerEstevan Castilho <tevo@riajuu.net>2026-05-30 02:52:21 +0000
commit00365c4a39826bf20d289af7daaa8a41c0aa6ca7 (patch)
tree94d81fc6e0b3704f92ac216b501b51edfddf5e60 /lib/drl
parent91675d81b8899bbe65f399b71065773aab7f1d13 (diff)
downloadSakura-00365c4a39826bf20d289af7daaa8a41c0aa6ca7.tar.gz
Sakura-00365c4a39826bf20d289af7daaa8a41c0aa6ca7.zip
`Project` plan node
Diffstat (limited to 'lib/drl')
-rw-r--r--lib/drl/executor.ml8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/drl/executor.ml b/lib/drl/executor.ml
index 5f820c8..34edc08 100644
--- a/lib/drl/executor.ml
+++ b/lib/drl/executor.ml
@@ -28,10 +28,14 @@ module Make (NT : Nt.S) = struct
Ok (Nt.Take { limit = n; source = p })
| Ast.Const _ ->
Error (Error.unsupported_operator
- "Const: literal relations not yet reachable by VM; use Base")
+ "Const: literal relations not yet reachable by VM; use Base")
+ | Ast.Project (attrs, query) ->
+ let* source = compile resolve query in
+ Ok (Nt.Project { attrs; source })
+ | Ast.Rename _ -> Error (Error.unsupported_operator "TODO")
| _ ->
Error (Error.unsupported_operator
- "Select/Project/Rename/Union/Diff/Cartesian require VM operators not yet implemented")
+ "Select/Union/Diff/Cartesian require VM operators not yet implemented")
let page_limit = 16