Relational NT
A relational database kernel shaped around NT-style object management.
Loading...
Searching...
No Matches
nt::ObjectManager::ephemeral_object_type Struct Reference

Object type descriptor for EPHEMERAL_RELATION objects. More...

#include <ObjectManager.h>

Inheritance diagram for nt::ObjectManager::ephemeral_object_type:
nt::ObjectManager::object_type

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.

Detailed Description

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.

Member Typedef Documentation

◆ Generator

Initial value:
std::function<std::vector<Tuple>(
const std::vector<std::string>& args, std::size_t offset, std::size_t limit)>

Produces a page of tuples for the given bound arguments.

Parameters
argsBound argument values written by the JOIN before probing.
offsetZero-based logical tuple offset (for pagination).
limitMaximum number of tuples to return.

The documentation for this struct was generated from the following file: