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