|
Relational NT
A relational database kernel shaped around NT-style object management.
|
Object type descriptor for EPHEMERAL_RELATION objects. More...
#include <ObjectManager.h>
Public Types | |
| enum class | Cardinality { Finite , ConstrainedFinite , AlephZero , Continuum } |
| using | Generator |
| Produces a page of tuples for the given bound arguments. | |
Public Attributes | |
| Cardinality | cardinality |
| Generator | generator |
| Public Attributes inherited from nt::ObjectManager::object_type | |
| OBJECT_TYPE | label |
| Object category label. | |
| bool | disposable |
| True when the object is not durable. | |
| std::set< METHOD > | methods |
| Methods supported by this object type. | |
| bool | exclusive = false |
| When true, only one write-mode handle may be open at a time. | |
Object type descriptor for EPHEMERAL_RELATION objects.
An ephemeral relation has no physical storage. Its tuples are produced on demand by a generator function. Cardinality may be finite (e.g. a projected stored relation) or AlephZero (e.g. the eq/lt builtins).
The generator receives the bound argument values that were written into the cursor by the JOIN operator before each probe, together with a pagination offset and limit. It must return at most limit tuples starting at logical position offset.
For membership-probe builtins (all args ground), the generator returns at most one tuple. For enumeration over AlephZero relations the generator maps offset to the appropriate pair via a bijective enumeration scheme (e.g. Cantor pairing); callers must bound such scans with a TAKE node.
Produces a page of tuples for the given bound arguments.
| args | Bound argument values written by the JOIN before probing. |
| offset | Zero-based logical tuple offset (for pagination). |
| limit | Maximum number of tuples to return. |