org.objectweb.medor.query.rdb.api
Interface RdbQueryLeaf
- Cloneable, QueryLeaf, QueryTree
- RdbExpQueryLeaf, RdbStringQueryLeaf
- AggregateRdbQueryNode, BasicRdbExpQueryLeaf, BasicRdbQueryLeaf, BasicRdbStringQueryLeaf
public interface RdbQueryLeaf
An RdbQueryLeaf represents a query leaf which encapsulates access to a
relational database.
A SQL query is associated to an RdbQueryLeaf.
- Sebastien Chassande-Barrioz
RdbExpQueryLeaf
, RdbStringQueryLeaf
String | getSelectList(String selectList, ArrayList selectFields, boolean qualified) - Builds the SELECT clause of the query (without "SELECT ").
|
String | getSqlRequest(ParameterOperand[] pos, ArrayList selectFields, int rangeStartAt, int rangeSize) - Returns the associated SQL queryn giving the list of SELECT fields
as an input parameter.
|
String | getSqlRequest(ParameterOperand[] pos, int rangeStartAt, int rangeSize) - Returns the associated SQL query.
|
boolean | isSubquery() - Is the current query leaf a subquery (in particular for the case of
aggregates).
|
void | setIsSubquery(boolean subquery) - Indicates whether the current RdbExpQueryLeaf is a subquery of another
Rdb query leaf (in particular in the case of subqueries).
|
getSelectList
public String getSelectList(String selectList,
ArrayList selectFields,
boolean qualified)
throws MedorException
Builds the SELECT clause of the query (without "SELECT ").
selectList
- is the start of the SELECT clause to which the list
of qualified columns is appended.selectFields
- is the fields for the SELECT clause. Such fields can
either be plain fields, or can be aggregate fieldsqualified
- indicates whether the field names should be qualified
with the table name or not.
- the list of qualified columns for the SELECT clause
getSqlRequest
public String getSqlRequest(ParameterOperand[] pos,
ArrayList selectFields,
int rangeStartAt,
int rangeSize)
throws MedorException,
ExpressionException
Returns the associated SQL queryn giving the list of SELECT fields
as an input parameter.
In the case of an RdbExpQueryLeaf, the query is computed.
pos
- is an array of ParameterOperandselectFields
- is the input Array of fields for constructing the
SELECT clause.rangeStartAt
- is the offset of the first row to be returned in the
case of a range query, starting at 0.rangeSize
- is the number of rows to be returned in the case of a
range query.
- the SQL query associated to the RdbQueryLeaf, as a String.
MedorException
- in the case of RdbExpQueryLeaves if the
SQL request cannot be computed from the associated Expression
getSqlRequest
public String getSqlRequest(ParameterOperand[] pos,
int rangeStartAt,
int rangeSize)
throws MedorException,
ExpressionException
Returns the associated SQL query.
In the case of an RdbExpQueryLeaf, the query is computed.
pos
- is an array of ParameterOperandrangeStartAt
- is the offset of the first row to be returned in the
case of a range query, starting at 0.rangeSize
- is the number of rows to be returned in the case of a
range query.
- the SQL query associated to the RdbQueryLeaf, as a String.
MedorException
- in the case of RdbExpQueryLeaves if the
SQL request cannot be computed from the associated Expression
isSubquery
public boolean isSubquery()
Is the current query leaf a subquery (in particular for the case of
aggregates).
- true if the current RdbExpQueryLeaf is a subquery
setIsSubquery
public void setIsSubquery(boolean subquery)
Indicates whether the current RdbExpQueryLeaf is a subquery of another
Rdb query leaf (in particular in the case of subqueries).
The default value is false.
subquery
- is true when the current RdbExpQueryLeaf is a subquery
of another Rdb query leaf/node, false otherwise.