26 #ifndef __TERRALIB_DATAACCESS_INTERNAL_SELECT_H    27 #define __TERRALIB_DATAACCESS_INTERNAL_SELECT_H   108         Select(
const Field& f);
   110         Select(
const std::string& propertyName);
   112         Select(
const std::string& propertyName, 
const std::string& alias);
   114         Select(
const Select& rhs);
   116         Select(
const Select* rhs);
   122         Select& operator=(
const Select& rhs);
   125         Query* clone() 
const;
   128         Select& fields(
const Fields& f);
   130         Select& fields(
Fields* f);
   134         const Fields& fields() 
const;
   136         Select& operator()(
const Field& f);
   138         Select& operator()(
Field* f);
   140         Select& operator()(
const std::string& propertyName);
   142         Select& operator()(
const std::string& propertyName, 
const std::string& alias);
   157         Select& from(
const std::string& datasetName);        
   159         Select& from(
From* f);
   161         Select& from(
const From& rhs);
   165         const From& from() 
const;
   189         Select& CrossJoin(
const FromItem& d2);
   200         Select& where(
Where* w);
   202         Select& where(
const Where& rhs);
   206         const Where& where() 
const;
   215         Select& groupBy(
const std::string& propertyName);
   219         Select& groupBy(
const GroupBy& rhs);        
   223         const GroupBy& groupBy() 
const;
   231         Select& having(
Having* h);
   233         Select& having(
const Having& rhs);
   237         const Having& having() 
const;
   246         Select& orderBy(
const std::string& propertyName, 
SortOrder o = 
ASC);
   250         Select& orderBy(
const OrderBy& rhs);
   254         const OrderBy& orderBy() 
const;
   261         Select& distinct(
const std::string& propertyName);
   265         Select& distinct(
const Distinct& rhs);
   272         Select& limit(std::size_t l);
   274         Select& offset(std::size_t i);
   283         void setFields(
Fields* f);
   290         const Fields* getFields() 
const;
   299         void setFrom(
From* f);
   306         const From* getFrom() 
const;
   315         void setWhere(
Where* w);
   322         Where* getWhere() 
const;
   338         const GroupBy* getGroupBy() 
const;
   347         void setHaving(
Having* h);
   354         const Having* getHaving() 
const;
   370         const OrderBy* getOrderBy() 
const;
   386         const Distinct* getDistinct() 
const;
   393         void setLimit(std::size_t m);
   400         std::size_t getLimit() 
const;
   407         void setOffset(std::size_t o);
   414         std::size_t getOffset() 
const;
   452 #endif  // __TERRALIB_DATAACCESS_INTERNAL_SELECT_H A class that can be used to model a filter expression that can be applied to a query. 
 
std::unique_ptr< Having > m_having
 
boost::ptr_vector< GroupByItem > GroupBy
A class that can be used to model a GROUP BY clause. 
 
A class that can be used in a GROUP BY clause. 
 
An abstract class that models a source of data in a query. 
 
The Field class can be used to model an expression that takes part of the output items of a SELECT...
 
std::unique_ptr< Distinct > m_distinct
 
boost::ptr_vector< Expression > Distinct
A class that models a Distinct clause on a query. 
 
A class that models a Distinct clause on a query. 
 
boost::ptr_vector< OrderByItem > OrderBy
A class that can be used to model an ORDER BY clause. 
 
The base class for queries. 
 
This is an abstract class that models a query expression. 
 
A condition to be used in a Join clause. 
 
boost::ptr_vector< Field > Fields
Fields is just a boost::ptr_vector of Field pointers. 
 
JoinType
The type of join in a query. 
 
A class that can be used to model a filter expression that can be applied to a query. 
 
A Join clause combines two FromItems. 
 
SortOrder
Sort order type: asc or desc. 
 
#define TE_DEFINE_VISITABLE
 
std::unique_ptr< Fields > m_fields
 
A Select models a query to be used when retrieving data from a DataSource. 
 
A class that can be used to model a GROUP BY clause. 
 
boost::ptr_vector< FromItem > From
It models the FROM clause for a query. 
 
std::unique_ptr< From > m_from
 
std::unique_ptr< OrderBy > m_orderBy
 
std::unique_ptr< Where > m_where
 
A class that can be used to model an ORDER BY clause. 
 
It models the FROM clause for a query. 
 
The Fields class can be used to model a set of expressions that form the output items of a SELECT...
 
#define TEDATAACCESSEXPORT
You can use this macro in order to export/import classes and functions from this module. 
 
A class that can be used in an ORDER BY clause to sort the items of a resulting query. 
 
std::unique_ptr< GroupBy > m_groupBy
 
A Query is independent from the data source language/dialect.