A visitor for building an SQL statement from a given Query hierarchy. More...
#include <SQLVisitor.h>
  
 Public Member Functions | |
| SQLVisitor (const SQLDialect &dialect, std::string &sql) | |
| Default constructor.  More... | |
| virtual void | visit (const Expression &visited) | 
| virtual void | visit (const DataSetName &visited) | 
| virtual void | visit (const FromItem &visited) | 
| virtual void | visit (const Function &visited) | 
| virtual void | visit (const Join &visited) | 
| virtual void | visit (const JoinCondition &visited) | 
| virtual void | visit (const JoinConditionOn &visited) | 
| virtual void | visit (const JoinConditionUsing &visited) | 
| virtual void | visit (const Literal &visited) | 
| virtual void | visit (const LiteralBool &visited) | 
| virtual void | visit (const LiteralByteArray &visited) | 
| virtual void | visit (const LiteralDateTime &visited) | 
| virtual void | visit (const LiteralDouble &visited) | 
| virtual void | visit (const LiteralEnvelope &visited) | 
| virtual void | visit (const LiteralGeom &visited) | 
| virtual void | visit (const LiteralInt16 &visited) | 
| virtual void | visit (const LiteralInt32 &visited) | 
| virtual void | visit (const LiteralInt64 &visited) | 
| virtual void | visit (const LiteralString &visited) | 
| virtual void | visit (const PropertyName &visited) | 
| virtual void | visit (const Query &visited) | 
| virtual void | visit (const Select &visited) | 
| virtual void | visit (const SubSelect &visited) | 
| virtual void | visit (const In &visited) | 
| virtual void | visit (const Fields &visited) | 
| virtual void | visit (const From &visited) | 
| virtual void | visit (const GroupBy &visited) | 
| virtual void | visit (const OrderBy &visited) | 
| virtual void | visitDistinct (const Distinct &visited) | 
| virtual | ~SQLVisitor () | 
| Virtual destructor.  More... | |
Protected Attributes | |
| const SQLDialect & | m_dialect | 
| The function catalog to use when translating the query.  More... | |
| std::string & | m_sql | 
| The buffer string where the query will be outputed.  More... | |
A visitor for building an SQL statement from a given Query hierarchy.
Each driver must implement a SQL dialect in order help this class to translate the query object to its specific dialect.
Definition at line 58 of file SQLVisitor.h.
      
  | 
  inline | 
Default constructor.
Definition at line 65 of file SQLVisitor.h.
      
  | 
  inlinevirtual | 
Virtual destructor.
Reimplemented in te::pgis::SQLVisitor, te::ado::SQLVisitor, te::sqlite::SQLVisitor, and te::ogr::SQLVisitor.
Definition at line 68 of file SQLVisitor.h.
      
  | 
  virtual | 
Implements te::da::QueryVisitor.
Definition at line 67 of file SQLVisitor.cpp.
Referenced by te::ogr::SQLVisitor::visit(), and te::ado::SQLVisitor::visit().
      
  | 
  virtual | 
Implements te::da::QueryVisitor.
Reimplemented in te::ogr::SQLVisitor.
Definition at line 71 of file SQLVisitor.cpp.
References te::da::FromItem::getAlias(), and te::da::DataSetName::getName().
      
  | 
  virtual | 
Implements te::da::QueryVisitor.
Definition at line 82 of file SQLVisitor.cpp.
      
  | 
  virtual | 
Implements te::da::QueryVisitor.
Reimplemented in te::ado::SQLVisitor.
Definition at line 86 of file SQLVisitor.cpp.
References te::da::Function::getName(), TE_TR, and te::da::SQLFunctionEncoder::toSQL().
      
  | 
  virtual | 
Implements te::da::QueryVisitor.
Reimplemented in te::ogr::SQLVisitor.
Definition at line 98 of file SQLVisitor.cpp.
References te::common::BaseVisitable< T, R >::accept(), te::da::CROSS_JOIN, te::da::FULL_OUTER_JOIN, te::da::Join::getCondition(), te::da::Join::getFirst(), te::da::Join::getSecond(), te::da::Join::getType(), te::da::INNER_JOIN, te::da::Join::isNatural(), te::da::JOIN, te::da::LEFT_JOIN, te::da::NATURAL_JOIN, and te::da::RIGHT_JOIN.
      
  | 
  virtual | 
Implements te::da::QueryVisitor.
Definition at line 150 of file SQLVisitor.cpp.
      
  | 
  virtual | 
Implements te::da::QueryVisitor.
Reimplemented in te::ogr::SQLVisitor.
Definition at line 154 of file SQLVisitor.cpp.
References te::common::BaseVisitable< T, R >::accept(), and te::da::JoinConditionOn::getCondition().
      
  | 
  virtual | 
Implements te::da::QueryVisitor.
Definition at line 162 of file SQLVisitor.cpp.
References te::common::BaseVisitable< T, R >::accept(), and te::da::JoinConditionUsing::getNumFields().
      
  | 
  virtual | 
Implements te::da::QueryVisitor.
Definition at line 180 of file SQLVisitor.cpp.
References te::da::Literal::getValue(), and te::dt::AbstractData::toString().
      
  | 
  virtual | 
Implements te::da::QueryVisitor.
Definition at line 186 of file SQLVisitor.cpp.
References te::da::Literal::getValue(), and te::dt::AbstractData::toString().
      
  | 
  virtual | 
Implements te::da::QueryVisitor.
Reimplemented in te::pgis::SQLVisitor, te::ado::SQLVisitor, and te::sqlite::SQLVisitor.
Definition at line 192 of file SQLVisitor.cpp.
References te::da::Literal::getValue(), and te::dt::AbstractData::toString().
      
  | 
  virtual | 
Implements te::da::QueryVisitor.
Reimplemented in te::pgis::SQLVisitor, te::ado::SQLVisitor, and te::sqlite::SQLVisitor.
Definition at line 198 of file SQLVisitor.cpp.
References te::da::Literal::getValue(), and te::dt::AbstractData::toString().
      
  | 
  virtual | 
Implements te::da::QueryVisitor.
Definition at line 204 of file SQLVisitor.cpp.
References te::da::Literal::getValue(), and te::dt::AbstractData::toString().
      
  | 
  virtual | 
Implements te::da::QueryVisitor.
Reimplemented in te::pgis::SQLVisitor, te::ado::SQLVisitor, te::sqlite::SQLVisitor, and te::ogr::SQLVisitor.
Definition at line 210 of file SQLVisitor.cpp.
      
  | 
  virtual | 
Implements te::da::QueryVisitor.
Reimplemented in te::pgis::SQLVisitor, te::ado::SQLVisitor, and te::sqlite::SQLVisitor.
Definition at line 214 of file SQLVisitor.cpp.
References te::da::Literal::getValue(), and te::dt::AbstractData::toString().
      
  | 
  virtual | 
Implements te::da::QueryVisitor.
Definition at line 220 of file SQLVisitor.cpp.
References te::da::Literal::getValue(), and te::dt::AbstractData::toString().
      
  | 
  virtual | 
Implements te::da::QueryVisitor.
Definition at line 226 of file SQLVisitor.cpp.
References te::da::Literal::getValue(), and te::dt::AbstractData::toString().
      
  | 
  virtual | 
Implements te::da::QueryVisitor.
Definition at line 232 of file SQLVisitor.cpp.
References te::da::Literal::getValue(), and te::dt::AbstractData::toString().
      
  | 
  virtual | 
Implements te::da::QueryVisitor.
Definition at line 238 of file SQLVisitor.cpp.
References te::da::Literal::getValue(), and te::dt::AbstractData::toString().
      
  | 
  virtual | 
Implements te::da::QueryVisitor.
Reimplemented in te::ado::SQLVisitor, and te::ogr::SQLVisitor.
Definition at line 248 of file SQLVisitor.cpp.
References te::da::PropertyName::getName().
      
  | 
  virtual | 
Implements te::da::QueryVisitor.
Definition at line 253 of file SQLVisitor.cpp.
      
  | 
  virtual | 
Implements te::da::QueryVisitor.
Reimplemented in te::ogr::SQLVisitor.
Definition at line 257 of file SQLVisitor.cpp.
References te::common::BaseVisitable< T, R >::accept(), te::da::Select::getDistinct(), te::da::Having::getExp(), te::da::Where::getExp(), te::da::Select::getFields(), te::da::Select::getFrom(), te::da::Select::getGroupBy(), te::da::Select::getHaving(), te::da::Select::getOrderBy(), and te::da::Select::getWhere().
      
  | 
  virtual | 
Implements te::da::QueryVisitor.
Definition at line 303 of file SQLVisitor.cpp.
References te::common::BaseVisitable< T, R >::accept(), te::da::FromItem::getAlias(), and te::da::SubSelect::getSelect().
      
  | 
  virtual | 
Implements te::da::QueryVisitor.
Definition at line 318 of file SQLVisitor.cpp.
References te::common::BaseVisitable< T, R >::accept(), te::da::Function::getNumArgs(), and te::da::In::getPropertyName().
      
  | 
  virtual | 
Definition at line 362 of file SQLVisitor.cpp.
      
  | 
  virtual | 
Definition at line 378 of file SQLVisitor.cpp.
      
  | 
  virtual | 
Definition at line 393 of file SQLVisitor.cpp.
      
  | 
  virtual | 
Definition at line 408 of file SQLVisitor.cpp.
References te::da::ASC.
      
  | 
  virtual | 
Reimplemented in te::ogr::SQLVisitor.
Definition at line 338 of file SQLVisitor.cpp.
      
  | 
  protected | 
The function catalog to use when translating the query.
Definition at line 105 of file SQLVisitor.h.
      
  | 
  protected | 
The buffer string where the query will be outputed.
Definition at line 106 of file SQLVisitor.h.