Go to the documentation of this file.
   26 #ifndef __TERRALIB_DATAACCESS_INTERNAL_SELECT_H 
   27 #define __TERRALIB_DATAACCESS_INTERNAL_SELECT_H 
  113         Select(
const std::string& propertyName, 
const std::string& alias);
 
  453 #endif  // __TERRALIB_DATAACCESS_INTERNAL_SELECT_H 
  
 
Select & operator+(te::da::Having *h)
 
Select(const Fields &fds, const From &f)
 
Select & CrossJoin(FromItem *d2)
 
Select & operator()(const Field &f)
 
Select(Fields *fds, From *f=0, Where *w=0, OrderBy *o=0)
 
Select & fields(const Fields &f)
 
Select & FullOuterJoin(FromItem *d2, JoinCondition *c)
 
Select & having(const Having &rhs)
 
TE_DEFINE_VISITABLE Select()
Default constructor.
 
Select & from(const FromItem &item)
 
void setDistinct(Distinct *d)
If Distinct is specified, all duplicate rows are removed from the result set (one row is kept from ea...
 
Select & LeftJoin(const FromItem &d2, const JoinCondition &c)
 
const From & from() const
 
Select & from(FromItem *item)
 
boost::ptr_vector< Expression > Distinct
A class that models a Distinct clause on a query.
 
void setGroupBy(GroupBy *g)
It sets the list of expressions used to condense the result set.
 
Select & where(const Where &rhs)
 
std::unique_ptr< Where > m_where
 
const Distinct & distinct() const
 
Select(Fields *fds, From *f, Where *w, GroupBy *gb, Having *h, OrderBy *o=0)
 
Select & InnerJoin(const FromItem &d2, const JoinCondition &c)
 
Select(const Select *rhs)
 
SortOrder
Sort order type: asc or desc.
 
std::unique_ptr< From > m_from
 
Select(const Fields &fds, const From &f, const Where &w, const GroupBy &gb, const OrderBy &o)
 
A class that can be used in an ORDER BY clause to sort the items of a resulting query.
 
Select(const Fields &fds, const From &f, const GroupBy &gb, const OrderBy &o)
 
std::unique_ptr< Having > m_having
 
const Having * getHaving() const
It returns the list of expressions used to eliminate group row that doesn't satisfy the condition.
 
Select & offset(std::size_t i)
 
JoinType
The type of join in a query.
 
A Query is independent from the data source language/dialect.
 
Select & orderBy(const std::string &propertyName, SortOrder o=ASC)
 
void setHaving(Having *h)
It sets the list of expressions used to eliminate group row that doesn't satisfy the condition.
 
std::unique_ptr< Distinct > m_distinct
 
Select(const Fields &fds, const From &f, const GroupBy &gb)
 
Select & operator+(te::da::From *f)
 
The base class for queries.
 
boost::ptr_vector< Field > Fields
Fields is just a boost::ptr_vector of Field pointers.
 
Select & limit(std::size_t l)
 
Select & having(Expression *e)
 
std::unique_ptr< GroupBy > m_groupBy
 
Select & NaturalJoin(FromItem *d2, JoinType t)
 
Select & CrossJoin(const FromItem &d2)
 
Select & NaturalJoin(const FromItem &d2, JoinType t)
 
A class that can be used to model a GROUP BY clause.
 
It models the FROM clause for a query.
 
Select & from(const FromItem &i1, const FromItem &i2, const FromItem &i3)
 
Select & having(Having *h)
 
Select & fields(Fields *f)
 
void setFields(Fields *f)
It sets the list of output expressions used to form the result set.
 
Select & operator+(const te::da::Where &w)
 
std::size_t getLimit() const
It tells the maximum number of rows to return.
 
Select & orderBy(const OrderBy &rhs)
 
A class that can be used in a GROUP BY clause.
 
#define TEDATAACCESSEXPORT
You can use this macro in order to export/import classes and functions from this module.
 
Select & operator+(const te::da::OrderBy &o)
 
Select & operator+(const te::da::From &f)
 
const OrderBy & orderBy() const
 
Select & orderBy(OrderByItem *item)
 
Select(const Select &rhs)
 
Where * getWhere() const
It returns the filter condition.
 
std::unique_ptr< Fields > m_fields
 
A class that models a Distinct clause on a query.
 
Select(const Fields &fds, const From &f, const Where &w, const GroupBy &gb, const Having &h, const OrderBy &o)
 
Select & where(const Expression &e)
 
boost::ptr_vector< OrderByItem > OrderBy
A class that can be used to model an ORDER BY clause.
 
void setLimit(std::size_t m)
It specifies the maximum number of rows to return.
 
std::unique_ptr< OrderBy > m_orderBy
 
Select & distinct(const Distinct &rhs)
 
Select(const std::string &propertyName, const std::string &alias)
 
Select & LeftJoin(FromItem *d2, JoinCondition *c)
 
Select & operator=(const Select &rhs)
 
std::size_t getOffset() const
It tells the number of rows to skip before starting to return rows.
 
This is an abstract class that models a query expression.
 
Select & orderBy(OrderBy *o)
 
Select(Fields *fds, From *f, Where *w, GroupBy *gb, OrderBy *o=0)
 
Select(const Fields &fds, const From &f, const OrderBy &o)
 
Select(const Fields &fds, const From &f, const Where &w, const OrderBy &o)
 
Select & distinct(Expression *e)
 
const Where & where() const
 
Select & operator+(te::da::Where *w)
 
Query * clone() const
It creates a new copy of this query.
 
Select & groupBy(const GroupByItem &item)
 
#define TE_DEFINE_VISITABLE
 
The Field class can be used to model an expression that takes part of the output items of a SELECT.
 
Select & operator()(const std::string &propertyName, const std::string &alias)
 
Select(Fields *fds, From *f, OrderBy *o)
 
const Having & having() const
 
const OrderBy * getOrderBy() const
It returns the list of expressions used to sort the output result.
 
Select & from(const FromItem &i1, const FromItem &i2)
 
const Fields & fields() const
 
Select & Join(FromItem *d2, JoinType t, JoinCondition *c)
 
Select & operator+(const te::da::GroupBy &g)
 
Select & groupBy(const std::string &propertyName)
 
Select & having(const Expression &e)
 
Select & from(FromItem *i1, FromItem *i2, FromItem *i3)
 
A class that can be used to model an ORDER BY clause.
 
void setWhere(Where *w)
It sets the filter codition.
 
An abstract class that models a source of data in a query.
 
Select(Fields *fds, From *f, GroupBy *gb, OrderBy *o=0)
 
Select & groupBy(GroupBy *gb)
 
A class that can be used to model a filter expression that can be applied to a query.
 
Select & from(const From &rhs)
 
Select(const std::string &propertyName)
 
A Select models a query to be used when retrieving data from a DataSource.
 
Select(const Fields &fds, const From &f, const Where &w)
 
void setOrderBy(OrderBy *o)
It sets the list of expressions used to sort the output result.
 
Select & orderBy(const OrderByItem &item)
 
void setFrom(From *f)
It sets the list of source information.
 
const Fields * getFields() const
It returns the list of output expressions used to form the result set.
 
Select & distinct(const std::string &propertyName)
 
A condition to be used in a Join clause.
 
Select & Join(const FromItem &d2, JoinType t, const JoinCondition &c)
 
void setOffset(std::size_t o)
It specifies the number of rows to skip before starting to return rows.
 
const From * getFrom() const
It returns the list of source information to be used by the query.
 
Select(const Fields &fds, const From &f, const Where &w, const GroupBy &gb)
 
const GroupBy * getGroupBy() const
It returns the list of expressions used to condense the result set.
 
Select & FullOuterJoin(const FromItem &d2, const JoinCondition &c)
 
Select & groupBy(const GroupBy &rhs)
 
Select & RightJoin(const FromItem &d2, const JoinCondition &c)
 
Select & from(const std::string &datasetName)
 
Select & distinct(Distinct *d)
 
Select & operator+(const te::da::Having &h)
 
A class that can be used to model a filter expression that can be applied to a query.
 
boost::ptr_vector< GroupByItem > GroupBy
A class that can be used to model a GROUP BY clause.
 
Select & operator()(Field *f)
 
Select & distinct(const Expression &e)
 
const Distinct * getDistinct() const
It returns the Distinct modifier.
 
Select & operator()(const std::string &propertyName)
 
Select & where(Expression *e)
 
Select(const Fields &fds)
 
Select & InnerJoin(FromItem *d2, JoinCondition *c)
 
Select & operator+(te::da::OrderBy *o)
 
Select & orderBy(const Expression &e, SortOrder o=ASC)
 
Select & RightJoin(FromItem *d2, JoinCondition *c)
 
The Fields class can be used to model a set of expressions that form the output items of a SELECT.
 
boost::ptr_vector< FromItem > From
It models the FROM clause for a query.
 
const GroupBy & groupBy() const
 
Select & groupBy(const Expression &e)
 
Select & operator+(te::da::GroupBy *g)
 
Select & groupBy(GroupByItem *item)
 
Select & from(FromItem *i1, FromItem *i2)
 
Select(const Fields &fds, const From &f, const Where &w, const GroupBy &gb, const Having &h)