net.sf.basedb.core
Class RealJoin
java.lang.Object
net.sf.basedb.core.RealJoin
- All Implemented Interfaces:
- Join, QueryElement
class RealJoin
- extends Object
- implements Join
Represents a join from one virtual table in the dynamic database to
a table in the regular database.
virtualTable vt JOIN regularTable rt ON rt.id = vt.leftColumn
.
Note that the join is always done to the id of the items in the regular table.
- Version:
- 2.0
- Author:
- Nicklas
- See Also:
RealTable
- Last modified
- $Date: 2009-04-06 14:52:39 +0200 (Mon, 06 Apr 2009) $
joinType
private final JoinType joinType
left
private final VirtualTable left
right
private final RealTable right
leftColumn
private final VirtualColumn leftColumn
RealJoin
RealJoin(JoinType joinType,
VirtualTable left,
RealTable right,
VirtualColumn leftColumn)
- Create a new join to a regular table.
SELECT ... FROM left JOIN right ON right.id = left.column
.
- Parameters:
joinType
- The type of joinleft
- The left table to join from, if not specified we join
from the root tableright
- The table to join toleftColumn
- The column in the left table to join from, we always
join to the id of the real table
toQl
public String toQl(Query query,
DbControl dc)
throws BaseException
- Description copied from interface:
QueryElement
- Create a query language string of the query element. Use the
Query.getQueryType()
method to find out which query language is wanted
in case the element requires different syntax for different languages.
- Specified by:
toQl
in interface QueryElement
- Parameters:
query
- The query that is about to be executeddc
- The DbControl
object used to execute the query
- Throws:
BaseException
- If there is any other error
getChildren
public Collection<? extends QueryElement> getChildren()
- Description copied from interface:
QueryElement
- Get the children of this query element or null if it has no children.
For example the
AddExpression
has two children, the expression
beeing added.
- Specified by:
getChildren
in interface QueryElement
- Returns:
- Always null
getThetaJoin
public String getThetaJoin(Query query,
DbControl dc)
throws BaseException
- Specified by:
getThetaJoin
in interface Join
- Throws:
BaseException
getThetaJoinCondition
public String getThetaJoinCondition(Query query,
DbControl dc)
throws BaseException
- Specified by:
getThetaJoinCondition
in interface Join
- Throws:
BaseException
toString
public String toString()
- Overrides:
toString
in class Object