From 7d0fdcf2048bc736c82f84e92dcfc68b3d6ac45c Mon Sep 17 00:00:00 2001 From: Marcos Magueta Date: Sun, 10 May 2026 22:59:48 -0300 Subject: add nested loop join strategy to VM and tests --- include/Types.h | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'include/Types.h') diff --git a/include/Types.h b/include/Types.h index c6f4b9f..3e38829 100644 --- a/include/Types.h +++ b/include/Types.h @@ -12,12 +12,19 @@ enum OBJECT_TYPE { /** A database snapshot grouping relations and tuples. */ MULTIGROUP, - /** A relation object. */ + /** A relation object backed by physical storage. */ RELATION, /** An attribute object (schema metadata). */ ATTRIBUTE, /** A transaction object. */ - TRANSACTION + TRANSACTION, + /** + * A relation whose tuples are produced on demand by a generator function + * rather than read from physical storage. Cardinality may be finite (e.g. + * a projected stored relation) or AlephZero (e.g. the eq builtin). The + * object_type for this label must be an ephemeral_object_type. + */ + EPHEMERAL_RELATION }; /** @brief Operations that may be supported by an object type. */ @@ -76,6 +83,9 @@ namespace nt void Reset() { position_ = 0; } + /** @brief Direct read-only access to all attributes without affecting position. */ + const std::vector& attrs() const { return attributes_; } + private: std::vector attributes_; size_t position_ = 0; -- cgit v1.2.3