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. 
 
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...
 
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. 
 
std::auto_ptr< Where > m_where
 
std::auto_ptr< Having > m_having
 
This is an abstract class that models a query expression. 
 
std::auto_ptr< GroupBy > m_groupBy
 
The base class for queries. 
 
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. 
 
std::auto_ptr< Fields > m_fields
 
#define TE_DEFINE_VISITABLE
 
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::auto_ptr< From > m_from
 
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::auto_ptr< OrderBy > m_orderBy
 
A Query is independent from the data source language/dialect. 
 
std::auto_ptr< Distinct > m_distinct