All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
te::da::SQLVisitor Class Reference

A visitor for building an SQL statement from a given Query hierarchy. More...

#include <SQLVisitor.h>

Inheritance diagram for te::da::SQLVisitor:
te::da::QueryVisitor te::ado::SQLVisitor te::ogr::SQLVisitor te::pgis::SQLVisitor te::sqlite::SQLVisitor

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 SQLDialectm_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...
 

Detailed Description

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.

Constructor & Destructor Documentation

te::da::SQLVisitor::SQLVisitor ( const SQLDialect dialect,
std::string &  sql 
)
inline

Default constructor.

Definition at line 65 of file SQLVisitor.h.

virtual te::da::SQLVisitor::~SQLVisitor ( )
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.

Member Function Documentation

void te::da::SQLVisitor::visit ( const Expression visited)
virtual

Implements te::da::QueryVisitor.

Definition at line 67 of file SQLVisitor.cpp.

Referenced by te::ogr::SQLVisitor::visit(), and te::ado::SQLVisitor::visit().

void te::da::SQLVisitor::visit ( const DataSetName visited)
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().

void te::da::SQLVisitor::visit ( const FromItem visited)
virtual

Implements te::da::QueryVisitor.

Definition at line 82 of file SQLVisitor.cpp.

void te::da::SQLVisitor::visit ( const Function visited)
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().

void te::da::SQLVisitor::visit ( const JoinCondition visited)
virtual

Implements te::da::QueryVisitor.

Definition at line 150 of file SQLVisitor.cpp.

void te::da::SQLVisitor::visit ( const JoinConditionOn visited)
virtual
void te::da::SQLVisitor::visit ( const JoinConditionUsing visited)
virtual
void te::da::SQLVisitor::visit ( const Literal visited)
virtual
void te::da::SQLVisitor::visit ( const LiteralBool visited)
virtual
void te::da::SQLVisitor::visit ( const LiteralByteArray visited)
virtual
void te::da::SQLVisitor::visit ( const LiteralDateTime visited)
virtual
void te::da::SQLVisitor::visit ( const LiteralDouble visited)
virtual
void te::da::SQLVisitor::visit ( const LiteralEnvelope visited)
virtual
void te::da::SQLVisitor::visit ( const LiteralGeom visited)
virtual
void te::da::SQLVisitor::visit ( const LiteralInt16 visited)
virtual
void te::da::SQLVisitor::visit ( const LiteralInt32 visited)
virtual
void te::da::SQLVisitor::visit ( const LiteralInt64 visited)
virtual
void te::da::SQLVisitor::visit ( const LiteralString visited)
virtual
void te::da::SQLVisitor::visit ( const PropertyName visited)
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().

void te::da::SQLVisitor::visit ( const Query visited)
virtual

Implements te::da::QueryVisitor.

Definition at line 253 of file SQLVisitor.cpp.

void te::da::SQLVisitor::visit ( const SubSelect visited)
virtual
void te::da::SQLVisitor::visit ( const In visited)
virtual
void te::da::SQLVisitor::visit ( const Fields visited)
virtual

Definition at line 362 of file SQLVisitor.cpp.

void te::da::SQLVisitor::visit ( const From visited)
virtual

Definition at line 378 of file SQLVisitor.cpp.

void te::da::SQLVisitor::visit ( const GroupBy visited)
virtual

Definition at line 393 of file SQLVisitor.cpp.

void te::da::SQLVisitor::visit ( const OrderBy visited)
virtual

Definition at line 408 of file SQLVisitor.cpp.

References te::da::ASC.

void te::da::SQLVisitor::visitDistinct ( const Distinct visited)
virtual

Reimplemented in te::ogr::SQLVisitor.

Definition at line 338 of file SQLVisitor.cpp.

Member Data Documentation

const SQLDialect& te::da::SQLVisitor::m_dialect
protected

The function catalog to use when translating the query.

Definition at line 105 of file SQLVisitor.h.

std::string& te::da::SQLVisitor::m_sql
protected

The buffer string where the query will be outputed.

Definition at line 106 of file SQLVisitor.h.


The documentation for this class was generated from the following files: