![]() |
mutable
A Database System for Research and Fast Prototyping
|
Evaluates SQL operator trees on the database. More...
#include <Interpreter.hpp>
Public Member Functions | |
| Interpreter ()=default | |
| void | register_operators (PhysicalOptimizer &phys_opt) const override |
Registers all physical operators of this Backend in phys_opt. | |
| void | execute (const MatchBase &plan) const override |
Executes the already computed physical covering represented by plan using this Backend. | |
| M_OPERATOR_LIST (DECLARE) static Value eval(const ast | |
Static Public Member Functions | |
| static StackMachine | compile_load (const Schema &tuple_schema, void *address, const storage::DataLayout &layout, const Schema &layout_schema, std::size_t row_id=0, std::size_t tuple_id=0) |
Compile a StackMachine to load a tuple of Schema tuple_schema using a given memory address and a given DataLayout. | |
| static StackMachine | compile_store (const Schema &tuple_schema, void *address, const storage::DataLayout &layout, const Schema &layout_schema, std::size_t row_id=0, std::size_t tuple_id=0) |
Compile a StackMachine to store a tuple of Schema tuple_schema using a given memory address and a given DataLayout. | |
Evaluates SQL operator trees on the database.
Definition at line 215 of file Interpreter.hpp.
|
default |
|
static |
Compile a StackMachine to load a tuple of Schema tuple_schema using a given memory address and a given DataLayout.
| tuple_schema | the Schema of the tuple to load, specifying the Schema::Identifiers to load |
| address | the memory address of the Store we are loading from |
| layout | the DataLayout of the Table we are loading from |
| layout_schema | the Schema of layout, specifying the Schema::Identifiers present in layout |
| row_id | the ID of the first row to load |
| tuple_id | the ID of the tuple used for loading |
Definition at line 544 of file Interpreter.cpp.
References m::storage::layout_schema, and m::storage::tuple_schema.
Referenced by m::wasm::detail::read_result_set().
|
static |
Compile a StackMachine to store a tuple of Schema tuple_schema using a given memory address and a given DataLayout.
| tuple_schema | the Schema of the tuple to store, specifying the Schema::Identifiers to store |
| address | the memory address of the Store we are storing to |
| layout | the DataLayout of the Table we are storing to |
| layout_schema | the Schema of layout, specifying the Schema::Identifiers present in layout |
| row_id | the ID of the first row to store |
| tuple_id | the ID of the tuple used for storing |
Definition at line 550 of file Interpreter.cpp.
References m::storage::layout_schema, and m::storage::tuple_schema.
Referenced by m::StoreWriter::append(), and m::DSVReader::operator()().
|
inlineoverridevirtual |
Executes the already computed physical covering represented by plan using this Backend.
Implements m::Backend.
Definition at line 222 of file Interpreter.hpp.
References m::MatchBase::get_matched_root().
|
inline |
Definition at line 228 of file Interpreter.hpp.
References m::Catalog::Get(), m::interpret(), M_insist, M_unreachable, m::Catalog::pool(), m::ast::Token::text, m::ast::Expr::tok, and m::ast::Token::type.
|
inlineoverridevirtual |
Registers all physical operators of this Backend in phys_opt.
Implements m::Backend.
Definition at line 220 of file Interpreter.hpp.