aboutsummaryrefslogtreecommitdiffstats
path: root/lib/drl/executor.ml
diff options
context:
space:
mode:
authorEstevan Castilho <tevo@riajuu.net>2026-05-30 02:52:21 +0000
committerEstevan Castilho <tevo@riajuu.net>2026-06-13 00:28:12 +0000
commit52d8859ee6b2176ca13c3ea6c79d1c8b251658d5 (patch)
tree98d741d9695e54cb001af8fbf97f0825855d7a93 /lib/drl/executor.ml
parent57b55b51ee6a1d4678ba37e4631d61a248411ff2 (diff)
downloadSakura-52d8859ee6b2176ca13c3ea6c79d1c8b251658d5.tar.gz
Sakura-52d8859ee6b2176ca13c3ea6c79d1c8b251658d5.zip
`Project` plan node
Diffstat (limited to 'lib/drl/executor.ml')
-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