aboutsummaryrefslogtreecommitdiffstats
path: root/lib/drl/executor.ml
diff options
context:
space:
mode:
authorMarcos Magueta <maguetamarcos@gmail.com>2026-05-11 23:10:27 -0300
committerGitHub <noreply@github.com>2026-05-11 23:10:27 -0300
commite3d3e20dfea253de291d5b31059cd55c0eaabf02 (patch)
tree82cf0d46ea3768171c8a87630cab5011d1ccf2a1 /lib/drl/executor.ml
parent4fdf3392868c72ff4c33b70d165a177e97f2fece (diff)
downloadSakura-e3d3e20dfea253de291d5b31059cd55c0eaabf02.tar.gz
Sakura-e3d3e20dfea253de291d5b31059cd55c0eaabf02.zip
Multigroup unified reference for hierarchical access
Diffstat (limited to '')
-rw-r--r--lib/drl/executor.ml12
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/drl/executor.ml b/lib/drl/executor.ml
index 1172553..41bdde5 100644
--- a/lib/drl/executor.ml
+++ b/lib/drl/executor.ml
@@ -24,22 +24,22 @@ module Make (Storage : Management.Physical.S) = struct
let common =
List.filter_map
(fun (n, _) ->
- if List.exists (fun (m, _) -> m = n) filter.Relation.schema then
+ if List.exists (fun (m, _) -> m = n) filter#schema then
Some n
else None)
- source.Relation.schema
+ source#schema
in
- let source_attrs = List.map fst source.Relation.schema in
+ let source_attrs = List.map fst source#schema in
Result.bind
(wrap (Alg.equijoin storage common source filter))
(fun joined -> wrap (Alg.project storage source_attrs joined))
- let rec execute (storage : Storage.t) (db : Management.Database.t)
- (q : Ast.query) : (Relation.t, error) Result.t =
+ let rec execute (storage : Storage.t) (db : Management.Multigroup.multigroup)
+ (q : Ast.query) : (Relation.ephemeral, error) Result.t =
let ( >>= ) = Result.bind in
match q with
| Ast.Base name -> (
- match Ops.get_relation db ~name with
+ match Ops.get_relation db name with
| None -> Error (RelationNotFound name)
| Some rel -> Ok rel)
| Ast.Const pairs ->