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