![]() |
mutable
A Database System for Research and Fast Prototyping
|
Holds context information used by semantic analysis of a single statement. More...
#include <Sema.hpp>
Data Structures | |
struct | result_t |
Public Types | |
enum | stage_t { S_From , S_Where , S_GroupBy , S_Having , S_Select , S_OrderBy , S_Limit } |
using | named_expr_table = std::unordered_multimap< ThreadSafePooledString, std::pair< std::reference_wrapper< Expr >, unsigned > > |
| |
using | source_type = std::variant< std::monostate, std::reference_wrapper< const Table >, named_expr_table > |
| |
using | source_table = std::unordered_map< ThreadSafePooledString, std::pair< source_type, unsigned > > |
| |
Public Member Functions | |
SemaContext (Stmt &stmt) | |
Data Fields | |
ThreadSafePooledOptionalString | alias |
| |
Stmt & | stmt |
| |
enum m::ast::Sema::SemaContext::stage_t | stage = S_From |
current stage | |
bool | needs_grouping = false |
source_table | sources |
| |
std::unordered_multimap< ThreadSafePooledString, result_t > | results |
| |
std::unordered_multimap< ThreadSafePooledString, std::reference_wrapper< Expr > > | grouping_keys |
| |
Holds context information used by semantic analysis of a single statement.
using m::ast::Sema::SemaContext::named_expr_table = std::unordered_multimap<ThreadSafePooledString, std::pair<std::reference_wrapper<Expr>, unsigned> > |
using m::ast::Sema::SemaContext::source_table = std::unordered_map<ThreadSafePooledString, std::pair<source_type, unsigned> > |
using m::ast::Sema::SemaContext::source_type = std::variant<std::monostate, std::reference_wrapper<const Table>, named_expr_table> |
|
inline |
ThreadSafePooledOptionalString m::ast::Sema::SemaContext::alias |
std::unordered_multimap<ThreadSafePooledString, std::reference_wrapper<Expr> > m::ast::Sema::SemaContext::grouping_keys |
std::unordered_multimap<ThreadSafePooledString, result_t> m::ast::Sema::SemaContext::results |
source_table m::ast::Sema::SemaContext::sources |
enum m::ast::Sema::SemaContext::stage_t m::ast::Sema::SemaContext::stage = S_From |
current stage
Stmt& m::ast::Sema::SemaContext::stmt |
the statement that is currently being analyzed and for which this
SemaContext
is used