A visitor for building an SQL statement using PostGIS dialect. More...
#include <SQLVisitor.h>
Public Member Functions | |
| 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 Insert &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 LiteralDouble &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 SelectExpression &visited) |
| virtual void | visit (const SubSelect &visited) |
| virtual void | visit (const In &visited) |
| virtual void | visit (const Cast &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) |
Initializer Methods | |
Methods related to instantiation and destruction. | |
| SQLVisitor (const te::da::SQLDialect &dialect, std::string &sql, PGconn *conn) | |
| Default constructor. More... | |
| ~SQLVisitor () | |
| Destructor. More... | |
Select | |
All concrete visitors must implement these methods. | |
| void | visit (const te::da::LiteralByteArray &visited) |
| void | visit (const te::da::LiteralDateTime &visited) |
| void | visit (const te::da::LiteralEnvelope &visited) |
| void | visit (const te::da::LiteralGeom &visited) |
| void | visitDistinct (const te::da::Distinct &visited) |
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... | |
Private Attributes | |
| PGconn * | m_conn |
| The PostGIS connection used to escape string! More... | |
A visitor for building an SQL statement using PostGIS dialect.
Definition at line 52 of file src/terralib/postgis/SQLVisitor.h.
| te::pgis::SQLVisitor::SQLVisitor | ( | const te::da::SQLDialect & | dialect, |
| std::string & | sql, | ||
| PGconn * | conn | ||
| ) |
Default constructor.
Definition at line 38 of file src/terralib/postgis/SQLVisitor.cpp.
|
inlinevirtual |
Destructor.
Reimplemented from te::da::SQLVisitor.
Definition at line 65 of file src/terralib/postgis/SQLVisitor.h.
|
virtualinherited |
Implements te::da::QueryVisitor.
Definition at line 75 of file src/terralib/dataaccess/query/SQLVisitor.cpp.
Referenced by te::qt::plugins::tv::TimeViewerDockWidget::onSliderChanged(), te::pgis::Transactor::remove(), te::qt::plugins::tv::TimeViewerDockWidget::setupLayerInt(), te::gpkg::SQLVisitor::visit(), te::ogr::SQLVisitor::visit(), te::ado::SQLVisitor::visit(), and te::da::SQLVisitor::visit().
|
virtualinherited |
Implements te::da::QueryVisitor.
Reimplemented in te::ogr::SQLVisitor, and te::gpkg::SQLVisitor.
Definition at line 79 of file src/terralib/dataaccess/query/SQLVisitor.cpp.
References te::da::FromItem::getAlias(), te::da::DataSetName::getName(), and te::da::SQLVisitor::m_sql.
|
virtualinherited |
Implements te::da::QueryVisitor.
Definition at line 90 of file src/terralib/dataaccess/query/SQLVisitor.cpp.
|
virtualinherited |
Implements te::da::QueryVisitor.
Reimplemented in te::ado::SQLVisitor.
Definition at line 94 of file src/terralib/dataaccess/query/SQLVisitor.cpp.
References te::da::SQLDialect::find(), te::da::Function::getName(), te::da::SQLVisitor::m_dialect, te::da::SQLVisitor::m_sql, TE_TR, and te::da::SQLFunctionEncoder::toSQL().
|
virtualinherited |
Implements te::da::QueryVisitor.
Definition at line 106 of file src/terralib/dataaccess/query/SQLVisitor.cpp.
References te::da::Insert::getDataSetName(), te::da::Insert::getFields(), te::da::Insert::getSelect(), te::da::SQLVisitor::m_sql, and te::da::SQLVisitor::visit().
|
virtual |
Reimplemented from te::da::SQLVisitor.
Definition at line 44 of file src/terralib/postgis/SQLVisitor.cpp.
References te::da::Literal::getValue().
|
virtual |
Reimplemented from te::da::SQLVisitor.
Definition at line 50 of file src/terralib/postgis/SQLVisitor.cpp.
References te::da::Literal::getValue(), te::da::SQLVisitor::m_sql, and te::dt::AbstractData::toString().
|
virtualinherited |
Implements te::da::QueryVisitor.
Reimplemented in te::ogr::SQLVisitor, and te::gpkg::SQLVisitor.
Definition at line 130 of file src/terralib/dataaccess/query/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::SQLVisitor::m_sql, te::da::NATURAL_JOIN, and te::da::RIGHT_JOIN.
|
virtual |
Reimplemented from te::da::SQLVisitor.
Definition at line 62 of file src/terralib/postgis/SQLVisitor.cpp.
References te::pgis::Convert2PostGIS(), te::da::LiteralEnvelope::getSRID(), te::da::LiteralEnvelope::getValue(), and te::da::SQLVisitor::m_sql.
|
virtualinherited |
Implements te::da::QueryVisitor.
Definition at line 182 of file src/terralib/dataaccess/query/SQLVisitor.cpp.
|
virtual |
Reimplemented from te::da::SQLVisitor.
Definition at line 68 of file src/terralib/postgis/SQLVisitor.cpp.
References te::pgis::Convert2PostGIS(), te::da::Literal::getValue(), m_conn, and te::da::SQLVisitor::m_sql.
|
virtualinherited |
Implements te::da::QueryVisitor.
Reimplemented in te::ado::SQLVisitor, te::ogr::SQLVisitor, and te::gpkg::SQLVisitor.
Definition at line 186 of file src/terralib/dataaccess/query/SQLVisitor.cpp.
References te::common::BaseVisitable< T, R >::accept(), te::da::JoinConditionOn::getCondition(), and te::da::SQLVisitor::m_sql.
|
virtualinherited |
Implements te::da::QueryVisitor.
Definition at line 194 of file src/terralib/dataaccess/query/SQLVisitor.cpp.
References te::common::BaseVisitable< T, R >::accept(), te::da::JoinConditionUsing::getNumFields(), and te::da::SQLVisitor::m_sql.
|
virtualinherited |
Implements te::da::QueryVisitor.
Definition at line 212 of file src/terralib/dataaccess/query/SQLVisitor.cpp.
References te::da::Literal::getValue(), te::da::SQLVisitor::m_sql, and te::dt::AbstractData::toString().
|
virtualinherited |
Implements te::da::QueryVisitor.
Definition at line 218 of file src/terralib/dataaccess/query/SQLVisitor.cpp.
References te::da::Literal::getValue(), te::da::SQLVisitor::m_sql, and te::dt::AbstractData::toString().
|
virtualinherited |
Implements te::da::QueryVisitor.
Definition at line 236 of file src/terralib/dataaccess/query/SQLVisitor.cpp.
References te::da::Literal::getValue(), te::da::SQLVisitor::m_sql, and te::dt::AbstractData::toString().
|
virtualinherited |
Implements te::da::QueryVisitor.
Definition at line 252 of file src/terralib/dataaccess/query/SQLVisitor.cpp.
References te::da::Literal::getValue(), te::da::SQLVisitor::m_sql, and te::dt::AbstractData::toString().
|
virtualinherited |
Implements te::da::QueryVisitor.
Definition at line 258 of file src/terralib/dataaccess/query/SQLVisitor.cpp.
References te::da::Literal::getValue(), te::da::SQLVisitor::m_sql, and te::dt::AbstractData::toString().
|
virtualinherited |
Implements te::da::QueryVisitor.
Definition at line 264 of file src/terralib/dataaccess/query/SQLVisitor.cpp.
References te::da::Literal::getValue(), te::da::SQLVisitor::m_sql, and te::dt::AbstractData::toString().
|
virtualinherited |
Implements te::da::QueryVisitor.
Definition at line 270 of file src/terralib/dataaccess/query/SQLVisitor.cpp.
References te::da::Literal::getValue(), te::da::SQLVisitor::m_sql, and te::dt::AbstractData::toString().
|
virtualinherited |
Implements te::da::QueryVisitor.
Reimplemented in te::ado::SQLVisitor, te::ogr::SQLVisitor, and te::gpkg::SQLVisitor.
Definition at line 280 of file src/terralib/dataaccess/query/SQLVisitor.cpp.
References te::da::PropertyName::getName(), and te::da::SQLVisitor::m_sql.
|
virtualinherited |
Implements te::da::QueryVisitor.
Definition at line 285 of file src/terralib/dataaccess/query/SQLVisitor.cpp.
|
virtualinherited |
Implements te::da::QueryVisitor.
Reimplemented in te::ogr::SQLVisitor, and te::gpkg::SQLVisitor.
Definition at line 289 of file src/terralib/dataaccess/query/SQLVisitor.cpp.
References te::common::BaseVisitable< T, R >::accept(), te::da::Select::getDistinct(), te::da::Where::getExp(), te::da::Having::getExp(), te::da::Select::getFields(), te::da::Select::getFrom(), te::da::Select::getGroupBy(), te::da::Select::getHaving(), te::da::Select::getOrderBy(), te::da::Select::getWhere(), te::da::SQLVisitor::m_sql, te::da::SQLVisitor::visit(), and te::da::SQLVisitor::visitDistinct().
|
virtualinherited |
Implements te::da::QueryVisitor.
Definition at line 335 of file src/terralib/dataaccess/query/SQLVisitor.cpp.
References te::common::BaseVisitable< T, R >::accept(), te::da::SelectExpression::getSelect(), and te::da::SQLVisitor::m_sql.
|
virtualinherited |
Implements te::da::QueryVisitor.
Definition at line 344 of file src/terralib/dataaccess/query/SQLVisitor.cpp.
References te::common::BaseVisitable< T, R >::accept(), te::da::FromItem::getAlias(), te::da::SubSelect::getSelect(), and te::da::SQLVisitor::m_sql.
|
virtualinherited |
Implements te::da::QueryVisitor.
Definition at line 359 of file src/terralib/dataaccess/query/SQLVisitor.cpp.
References te::common::BaseVisitable< T, R >::accept(), te::da::Function::getNumArgs(), te::da::In::getPropertyName(), and te::da::SQLVisitor::m_sql.
|
virtualinherited |
Implements te::da::QueryVisitor.
Definition at line 379 of file src/terralib/dataaccess/query/SQLVisitor.cpp.
References te::common::BaseVisitable< T, R >::accept(), te::dt::DATETIME_TYPE, te::dt::DOUBLE_TYPE, te::da::Function::getNumArgs(), te::da::Literal::getValue(), te::dt::SimpleData< T, typeCode >::getValue(), te::dt::INT32_TYPE, te::da::SQLVisitor::m_sql, and te::dt::STRING_TYPE.
|
virtualinherited |
Reimplemented in te::ado::SQLVisitor.
Definition at line 456 of file src/terralib/dataaccess/query/SQLVisitor.cpp.
References te::da::SQLVisitor::m_sql.
|
virtualinherited |
Definition at line 475 of file src/terralib/dataaccess/query/SQLVisitor.cpp.
References te::da::SQLVisitor::m_sql.
|
virtualinherited |
Definition at line 490 of file src/terralib/dataaccess/query/SQLVisitor.cpp.
References te::da::SQLVisitor::m_sql.
|
virtualinherited |
Definition at line 505 of file src/terralib/dataaccess/query/SQLVisitor.cpp.
References te::da::ASC, and te::da::SQLVisitor::m_sql.
|
virtual |
Reimplemented from te::da::SQLVisitor.
Definition at line 74 of file src/terralib/postgis/SQLVisitor.cpp.
References te::da::SQLVisitor::m_sql.
|
private |
The PostGIS connection used to escape string!
Definition at line 84 of file src/terralib/postgis/SQLVisitor.h.
Referenced by visit().
|
protectedinherited |
The function catalog to use when translating the query.
Definition at line 108 of file src/terralib/dataaccess/query/SQLVisitor.h.
Referenced by te::da::SQLVisitor::visit().
|
protectedinherited |
The buffer string where the query will be outputed.
Definition at line 109 of file src/terralib/dataaccess/query/SQLVisitor.h.
Referenced by te::ogr::SQLVisitor::visit(), te::gpkg::SQLVisitor::visit(), te::da::SQLVisitor::visit(), visit(), te::ado::SQLVisitor::visit(), te::ogr::SQLVisitor::visitDistinct(), te::gpkg::SQLVisitor::visitDistinct(), visitDistinct(), and te::da::SQLVisitor::visitDistinct().