#include <OW_WQLCompile.hpp>
Collaboration diagram for OW_NAMESPACE::WQLCompile:
Public Types | |
typedef Array< term_el > | TableauRow |
typedef Array< TableauRow > | Tableau |
enum | el_type { EVAL_HEAP, TERMINAL_HEAP, OPERAND } |
Public Member Functions | |
WQLCompile () | |
WQLCompile (const WQLSelectStatement &wqs) | |
~WQLCompile () | |
void | compile (const WQLSelectStatement *wqs) |
const Tableau & | getTableau () const |
bool | evaluate (const WQLPropertySource &source) const |
Evalautes the where clause using the symbol table to resolve symbols. | |
void | print (std::ostream &ostr) |
void | printTableau (std::ostream &ostr) |
Private Member Functions | |
void | _buildEvalHeap (const WQLSelectStatement *wqs) |
void | _pushNOTDown () |
void | _factoring () |
void | _gatherDisj (Array< stack_el > &stk) |
void | _gatherConj (Array< stack_el > &stk, stack_el sel) |
void | _gather (Array< stack_el > &stk, stack_el sel, bool or_flag) |
void | _sortTableau () |
Static Private Member Functions | |
static void | _ResolveProperty (WQLOperand &op, const WQLPropertySource &source) |
Private Attributes | |
Tableau | _tableau |
Array< term_el > | terminal_heap |
Array< eval_el > | eval_heap |
Classes | |
struct | eval_el |
struct | stack_el |
struct | term_el |
Definition at line 39 of file OW_WQLCompile.hpp.
|
Definition at line 119 of file OW_WQLCompile.hpp. |
|
Definition at line 117 of file OW_WQLCompile.hpp. |
|
Definition at line 61 of file OW_WQLCompile.hpp. |
|
Definition at line 195 of file OW_WQLCompile.cpp. |
|
Definition at line 198 of file OW_WQLCompile.cpp. References compile(). |
|
Definition at line 202 of file OW_WQLCompile.cpp. |
|
|
Definition at line 524 of file OW_WQLCompile.cpp. References OW_NAMESPACE::Array< T >::append(), EVAL_HEAP, eval_heap, i, index, OW_NAMESPACE::Array< T >::insert(), s, OW_NAMESPACE::Array< T >::size(), OW_NAMESPACE::WQL_AND, and OW_NAMESPACE::WQL_OR. |
|
Definition at line 618 of file OW_WQLCompile.cpp. References OW_NAMESPACE::Array< T >::append(), OW_NAMESPACE::Array< T >::empty(), EVAL_HEAP, eval_heap, i, OW_NAMESPACE::Array< T >::insert(), OW_NAMESPACE::Array< T >::remove(), OW_NAMESPACE::Array< T >::size(), type, OW_NAMESPACE::WQLCompile::stack_el::type, OW_NAMESPACE::WQL_AND, OW_NAMESPACE::WQL_DO_NOTHING, and OW_NAMESPACE::WQL_OR. Referenced by _gatherConj(), and _gatherDisj(). |
|
Definition at line 614 of file OW_WQLCompile.cpp. References _gather(). |
|
Definition at line 610 of file OW_WQLCompile.cpp. References _gather(), and TERMINAL_HEAP. |
|
Definition at line 438 of file OW_WQLCompile.cpp. References EVAL_HEAP, eval_heap, i, OW_NAMESPACE::Array< T >::size(), OW_NAMESPACE::WQL_DO_NOTHING, and OW_NAMESPACE::WQL_NOT. |
|
Definition at line 146 of file OW_WQLCompile.hpp. References OW_NAMESPACE::WQLOperand::getPropertyName(), OW_NAMESPACE::WQLOperand::getType(), OW_NAMESPACE::WQLPropertySource::getValue(), OW_THROW, and OW_NAMESPACE::WQLOperand::PROPERTY_NAME. |
|
Definition at line 675 of file OW_WQLCompile.cpp. References _tableau, i, OW_NAMESPACE::WQLOperand::PROPERTY_NAME, OW_NAMESPACE::Array< T >::size(), OW_NAMESPACE::WQL_GE, OW_NAMESPACE::WQL_GT, OW_NAMESPACE::WQL_LE, and OW_NAMESPACE::WQL_LT. |
|
Definition at line 205 of file OW_WQLCompile.cpp. References OW_NAMESPACE::WQLSelectStatement::hasWhereClause(). Referenced by OW_NAMESPACE::WQLSelectStatement::compileWhereClause(), and WQLCompile(). |
|
Evalautes the where clause using the symbol table to resolve symbols.
Definition at line 248 of file OW_WQLCompile.cpp. References _tableau, className, OW_NAMESPACE::WQLPropertySource::evaluateISA(), i, OW_NAMESPACE::WQLOperand::PROPERTY_NAME, OW_NAMESPACE::Array< T >::size(), and OW_NAMESPACE::WQL_ISA. |
|
Definition at line 126 of file OW_WQLCompile.hpp. |
|
Definition at line 297 of file OW_WQLCompile.cpp. References EVAL_HEAP, eval_heap, i, OW_NAMESPACE::Array< T >::size(), TERMINAL_HEAP, OW_NAMESPACE::WQL_DO_NOTHING, and OW_NAMESPACE::WQLOperationToString(). |
|
Definition at line 343 of file OW_WQLCompile.cpp. References _tableau, i, OW_NAMESPACE::Array< T >::size(), and OW_NAMESPACE::WQLOperationToString(). |
|
Definition at line 167 of file OW_WQLCompile.hpp. Referenced by _sortTableau(), evaluate(), and printTableau(). |
|
Definition at line 174 of file OW_WQLCompile.hpp. Referenced by _buildEvalHeap(), _factoring(), _gather(), _pushNOTDown(), and print(). |
|
Definition at line 173 of file OW_WQLCompile.hpp. Referenced by _buildEvalHeap(). |