diff options
| author | Marcos Magueta <maguetamarcos@gmail.com> | 2026-05-10 22:59:48 -0300 |
|---|---|---|
| committer | Marcos Magueta <maguetamarcos@gmail.com> | 2026-05-10 22:59:48 -0300 |
| commit | 7d0fdcf2048bc736c82f84e92dcfc68b3d6ac45c (patch) | |
| tree | a88d6d7cd3886c24bc48a7c4710db1eeffdd0e9a /include/Types.h | |
| parent | fcfbc5961017e3679c56d9d285a2a3d4d03f0f93 (diff) | |
| download | RNT-7d0fdcf2048bc736c82f84e92dcfc68b3d6ac45c.tar.gz RNT-7d0fdcf2048bc736c82f84e92dcfc68b3d6ac45c.zip | |
add nested loop join strategy to VM and tests
Diffstat (limited to '')
| -rw-r--r-- | include/Types.h | 14 |
1 files changed, 12 insertions, 2 deletions
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<Attribute>& attrs() const { return attributes_; } + private: std::vector<Attribute> attributes_; size_t position_ = 0; |
