aboutsummaryrefslogtreecommitdiffstats
path: root/lib/backend/managers/Cursor.ml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/backend/managers/Cursor.ml')
-rw-r--r--lib/backend/managers/Cursor.ml18
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/backend/managers/Cursor.ml b/lib/backend/managers/Cursor.ml
new file mode 100644
index 0000000..3295cae
--- /dev/null
+++ b/lib/backend/managers/Cursor.ml
@@ -0,0 +1,18 @@
+type descriptor =
+ | Stored of {merkle_root: string}
+ | Ephemeral of {merkle_root: string; dependencies: string BatFingerTree.t}
+
+module Make (Store : Abstract.Storage.STORAGE) = struct
+ type cursor = unit
+
+ let open_ (_txn : Store.transaction) (descriptor : descriptor)
+ ~(args : Concepts.Value.value BatFingerTree.t) : (cursor, Concepts.Condition.condition) result
+ =
+ ignore (descriptor, args);
+ failwith "NOT IMPLEMENTED: open a cursor by paging the relation's Merkle tree over Store.get"
+
+ let next (_cursor : cursor) : (Concepts.Tuple.t option, Concepts.Condition.condition) result =
+ failwith "NOT IMPLEMENTED: page the next tuple over Store.get"
+
+ let close (_cursor : cursor) : unit = ()
+end