26 #ifndef __TERRALIB_DATAACCESS_INTERNAL_JOIN_H
27 #define __TERRALIB_DATAACCESS_INTERNAL_JOIN_H
#define TE_DEFINE_VISITABLE
An abstract class that models a source of data in a query.
An abstract class that models a source of data in a query.
A condition to be used in a Join clause.
A Join clause combines two FromItems.
bool isNatural() const
It tells if the join is Natural.
void setSecond(FromItem *item)
It sets second item involved in the join.
std::unique_ptr< FromItem > m_first
The first item involved in the join.
FromItem * getFirst() const
It returns the first from item involved in the join.
bool m_isNatural
Natural is a shorthand for a JoinConditionUsing list that mentions all columns in the two tables that...
std::unique_ptr< JoinCondition > m_condition
The join condition.
void setType(JoinType t)
It sets join type.
Join(const FromItem &first, const FromItem &second, JoinType t, const JoinCondition &c)
Constructor.
FromItem * clone() const
It creates a new copy of this FromItem.
void setFirst(FromItem *item)
It sets first item involved in the join.
void setCondition(JoinCondition *c)
It sets the join condition.
void setNatural(bool n)
It marks if the join is a natural join.
Join & operator=(const Join &rhs)
Join(const Join &rhs)
Copy constructor.
JoinType getType() const
It returns the join type.
TE_DEFINE_VISITABLE Join(FromItem *first, FromItem *second, JoinType t, JoinCondition *c)
Constructor.
JoinCondition * getCondition() const
It returns the join condition.
FromItem * getSecond() const
It returns the second item involved in the join.
std::unique_ptr< FromItem > m_second
The first item involved in the join.
JoinType m_type
The join type.
JoinType
The type of join in a query.
#define TEDATAACCESSEXPORT
You can use this macro in order to export/import classes and functions from this module.