#include <OWBI1_WQLCompile.hpp>
Collaboration diagram for OWBI1::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 OWBI1_WQLCompile.hpp.
|
Definition at line 119 of file OWBI1_WQLCompile.hpp. |
|
Definition at line 117 of file OWBI1_WQLCompile.hpp. |
|
Definition at line 61 of file OWBI1_WQLCompile.hpp. |
|
Definition at line 197 of file OWBI1_WQLCompile.cpp. |
|
Definition at line 200 of file OWBI1_WQLCompile.cpp. References compile(). |
|
Definition at line 204 of file OWBI1_WQLCompile.cpp. |
|
|
Definition at line 534 of file OWBI1_WQLCompile.cpp. References OWBI1::Array< T >::append(), EVAL_HEAP, eval_heap, i, index, OWBI1::Array< T >::insert(), s, OWBI1::Array< T >::size(), OWBI1::WQL_AND, and OWBI1::WQL_OR. |
|
Definition at line 628 of file OWBI1_WQLCompile.cpp. References OWBI1::Array< T >::append(), OWBI1::Array< T >::empty(), EVAL_HEAP, eval_heap, i, OWBI1::Array< T >::insert(), OWBI1::Array< T >::remove(), OWBI1::Array< T >::size(), type, OWBI1::WQLCompile::stack_el::type, OWBI1::WQL_AND, OWBI1::WQL_DO_NOTHING, and OWBI1::WQL_OR. Referenced by _gatherConj(), and _gatherDisj(). |
|
Definition at line 624 of file OWBI1_WQLCompile.cpp. References _gather(). |
|
Definition at line 620 of file OWBI1_WQLCompile.cpp. References _gather(), and TERMINAL_HEAP. |
|
Definition at line 448 of file OWBI1_WQLCompile.cpp. References EVAL_HEAP, eval_heap, i, OWBI1::Array< T >::size(), OWBI1::WQL_DO_NOTHING, and OWBI1::WQL_NOT. |
|
Definition at line 146 of file OWBI1_WQLCompile.hpp. References OWBI1::WQLOperand::getPropertyName(), OWBI1::WQLOperand::getType(), OWBI1::WQLPropertySource::getValue(), OWBI1_THROW, and OWBI1::WQLOperand::PROPERTY_NAME. |
|
Definition at line 685 of file OWBI1_WQLCompile.cpp. References _tableau, i, OWBI1::WQLOperand::PROPERTY_NAME, OWBI1::Array< T >::size(), OWBI1::WQL_GE, OWBI1::WQL_GT, OWBI1::WQL_LE, and OWBI1::WQL_LT. |
|
Definition at line 207 of file OWBI1_WQLCompile.cpp. References OWBI1::WQLSelectStatement::hasWhereClause(). Referenced by OWBI1::WQLSelectStatement::compileWhereClause(), and WQLCompile(). |
|
Evalautes the where clause using the symbol table to resolve symbols.
Definition at line 250 of file OWBI1_WQLCompile.cpp. References _tableau, className, OWBI1::WQLPropertySource::evaluateISA(), i, OWBI1::WQLOperand::PROPERTY_NAME, OWBI1::Array< T >::size(), and OWBI1::WQL_ISA. |
|
Definition at line 126 of file OWBI1_WQLCompile.hpp. |
|
Definition at line 307 of file OWBI1_WQLCompile.cpp. References EVAL_HEAP, eval_heap, i, OWBI1::Array< T >::size(), TERMINAL_HEAP, OWBI1::WQL_DO_NOTHING, and OWBI1::WQLOperationToString(). |
|
Definition at line 353 of file OWBI1_WQLCompile.cpp. References _tableau, i, OWBI1::Array< T >::size(), and OWBI1::WQLOperationToString(). |
|
Definition at line 167 of file OWBI1_WQLCompile.hpp. Referenced by _sortTableau(), evaluate(), and printTableau(). |
|
Definition at line 174 of file OWBI1_WQLCompile.hpp. Referenced by _buildEvalHeap(), _factoring(), _gather(), _pushNOTDown(), and print(). |
|
Definition at line 173 of file OWBI1_WQLCompile.hpp. Referenced by _buildEvalHeap(). |