![]()  | 
  
       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.