![]() |
mutable
A Database System for Research and Fast Prototyping
|
Public Member Functions | |
StackMachineBuilder (StackMachine &stack_machine, const ast::Expr &expr, const std::vector< Schema > &schemas, const std::vector< std::size_t > &tuple_ids) | |
Private Member Functions | |
std::pair< std::size_t, std::size_t > | find_id (const Schema::Identifier &id) const |
Returns a pair of (tuple_id, attr_id). | |
void | operator() (Const< ast::ErrorExpr > &) override |
void | operator() (Const< ast::Designator > &e) override |
void | operator() (Const< ast::Constant > &e) override |
void | operator() (Const< ast::FnApplicationExpr > &e) override |
void | operator() (Const< ast::UnaryExpr > &e) override |
void | operator() (Const< ast::BinaryExpr > &e) override |
void | operator() (Const< ast::QueryExpr > &e) override |
Private Attributes | |
StackMachine & | stack_machine_ |
const std::vector< Schema > & | schemas_ |
const std::vector< std::size_t > & | tuple_ids_ |
Static Private Attributes | |
static std::unordered_map< std::string, std::regex > | regexes_ |
regexes built from patterns in LIKE expressions | |
Definition at line 42 of file StackMachine.cpp.
|
inline |
Definition at line 50 of file StackMachine.cpp.
|
inlineprivate |
Returns a pair of (tuple_id, attr_id).
Definition at line 65 of file StackMachine.cpp.
References M_unreachable, schemas_, and tuple_ids_.
Referenced by operator()().
|
overrideprivate |
Definition at line 200 of file StackMachine.cpp.
References m::StackMachine::add_and_emit_load(), m::arithmetic_join(), m::StackMachine::emit(), m::interpret(), M_insist, M_unreachable, m::pattern_to_regex(), m::powi(), regexes_, stack_machine_, m::StackMachine::STR_TO_OPCODE, and tystr().
|
overrideprivate |
Definition at line 93 of file StackMachine.cpp.
References m::StackMachine::add_and_emit_load(), and stack_machine_.
|
overrideprivate |
Definition at line 87 of file StackMachine.cpp.
References find_id(), and stack_machine_.
|
inlineoverrideprivate |
Definition at line 76 of file StackMachine.cpp.
References M_unreachable.
|
overrideprivate |
Definition at line 100 of file StackMachine.cpp.
References find_id(), m::Function::FN_UDF, m::Catalog::Get(), M_insist, M_unreachable, and stack_machine_.
|
overrideprivate |
Definition at line 515 of file StackMachine.cpp.
References find_id(), m::Catalog::Get(), m::Catalog::pool(), and stack_machine_.
|
overrideprivate |
Definition at line 154 of file StackMachine.cpp.
References M_insist, M_unreachable, and stack_machine_.
|
staticprivate |
regexes built from patterns in LIKE expressions
Definition at line 61 of file StackMachine.cpp.
Referenced by operator()().
|
private |
Definition at line 46 of file StackMachine.cpp.
Referenced by find_id().
|
private |
Definition at line 45 of file StackMachine.cpp.
Referenced by operator()().
|
private |
Definition at line 47 of file StackMachine.cpp.
Referenced by find_id().