59 m_isNatural(rhs.m_isNatural)
88 return new Join(*
this);
103 return m_second.get();
108 m_second.reset(item);
123 return m_condition.get();
128 m_condition.reset(c);
virtual FromItem * clone() const =0
It creates a new copy of this FromItem.
virtual JoinCondition * clone() const =0
It creates a new copy of this JoinCondition.
A condition to be used in a Join clause.
JoinType m_type
The join type.
JoinType
The type of join in a query.
bool m_isNatural
Natural is a shorthand for a JoinConditionUsing list that mentions all columns in the two tables that...
void setSecond(FromItem *item)
It sets second item involved in the join.
FromItem * clone() const
It creates a new copy of this FromItem.
FromItem * getSecond() const
It returns the second item involved in the join.
void setType(JoinType t)
It sets join type.
void setFirst(FromItem *item)
It sets first item involved in the join.
std::auto_ptr< JoinCondition > m_condition
The join condition.
An abstract class that models a source of data in a query.
TE_DEFINE_VISITABLE Join(FromItem *first, FromItem *second, JoinType t, JoinCondition *c)
Constructor.
Join & operator=(const Join &rhs)
JoinCondition * getCondition() const
It returns the join condition.
std::auto_ptr< FromItem > m_first
The first item involved in the join.
FromItem * getFirst() const
It returns the first from item involved in the join.
JoinType getType() const
It returns the join type.
std::auto_ptr< FromItem > m_second
The first item involved in the join.
A condition to be used in a Join clause.
FromItem & operator=(const FromItem &rhs)
A Join clause combines two FromItems.
A Join clause combines two FromItems.
void setCondition(JoinCondition *c)
It sets the join condition.