|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.ObjectBasicCloneable
org.objectweb.medor.lib.BasicTupleStructure
org.objectweb.medor.query.lib.BasicQueryTree
org.objectweb.medor.query.rdb.lib.BasicRdbQueryLeaf
org.objectweb.medor.query.rdb.lib.BasicRdbStringQueryLeaf
This class represents a QueryLeaf that maps onto a relational database store.
Field Summary |
Fields inherited from class org.objectweb.medor.query.rdb.lib.BasicRdbQueryLeaf |
deleteQuery, ds, isSubquery, query, sqlFilter, updateQuery |
Fields inherited from class org.objectweb.medor.query.lib.BasicQueryTree |
annotations, distinct, indexes, name, orderfields |
Fields inherited from class org.objectweb.medor.lib.BasicTupleStructure |
fields, logger, name2field |
Constructor Summary | |
BasicRdbStringQueryLeaf()
|
|
BasicRdbStringQueryLeaf(DataStore ds,
java.lang.String query,
java.lang.String nodeName)
Constructs a BasicRdbStringQueryLeaf from an SQL string. |
Method Summary | |
RdbField |
addRdbField(java.lang.String name,
PType type,
java.lang.String colName)
Adds a Field to the RdbExpQueryLeaf |
Expression |
getQueryFilter()
Retrieves the filter associated to the QueryTree. |
java.lang.String |
getSelectList(java.lang.String selectList,
java.util.ArrayList selectFields,
boolean qualified)
Builds the SELECT clause of the query (without "SELECT "). |
java.lang.String |
getSqlDelete(ParameterOperand[] pos)
Returns the associated SQL DELETE query for deleting data. |
java.lang.String |
getSqlRequest(ParameterOperand[] pos,
java.util.ArrayList al,
boolean rangeStartAt,
boolean rangeSize)
Returns the associated SQL queryn giving the list of SELECT fields as an input parameter. |
java.lang.String |
getSqlRequest(ParameterOperand[] pos,
boolean rangeStartAt,
boolean rangeSize)
Returns the associated SQL query. |
java.lang.String |
getSqlUpdate(ParameterOperand[] pos,
Expression updateExpression)
Returns the associated SQL UPDATE query for deleting data. |
void |
setQueryFilter(Expression exp)
Sets the filter associated to the FilteredQueryTree. |
Methods inherited from class org.objectweb.medor.query.rdb.lib.BasicRdbQueryLeaf |
clone, getDataStore, isSubquery, setDataStore, setIsSubquery |
Methods inherited from class org.objectweb.medor.query.lib.BasicQueryTree |
getAnnotations, getDistinct, getName, getOrderBy, getTupleStructure, setDistinct, setOrderBy |
Methods inherited from class org.objectweb.medor.lib.BasicTupleStructure |
contains, contains, getField, getField, getFieldRank, getFields, getSize |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.objectweb.medor.query.rdb.api.RdbQueryLeaf |
isSubquery, setIsSubquery |
Methods inherited from interface org.objectweb.medor.query.api.QueryLeaf |
getDataStore |
Methods inherited from interface org.objectweb.medor.query.api.QueryTree |
getDistinct, getName, getOrderBy, getTupleStructure, setDistinct, setOrderBy |
Methods inherited from interface org.objectweb.medor.query.api.AnnotationsHolder |
getAnnotations |
Methods inherited from interface org.objectweb.medor.api.Cloneable |
clone |
Constructor Detail |
public BasicRdbStringQueryLeaf()
public BasicRdbStringQueryLeaf(DataStore ds, java.lang.String query, java.lang.String nodeName)
Method Detail |
public RdbField addRdbField(java.lang.String name, PType type, java.lang.String colName)
RdbStringQueryLeaf
addRdbField
in interface RdbStringQueryLeaf
name
- is the name of the Field to be added.type
- is the PTyme of the Field to be added.colName
- is the name of the column in the associated
QualifiedTable.
public java.lang.String getSqlRequest(ParameterOperand[] pos, boolean rangeStartAt, boolean rangeSize)
RdbQueryLeaf
In the case of an RdbExpQueryLeaf, the query is computed.
getSqlRequest
in interface RdbQueryLeaf
pos
- is an array of ParameterOperandrangeStartAt
- is true for range queries where the first row to be
returned in the case of a range query is greater than 0.rangeSize
- is true for range queries where the number of rows to be
returned in the case of a range query is less than Integer.MAXVALUE
public java.lang.String getSqlRequest(ParameterOperand[] pos, java.util.ArrayList al, boolean rangeStartAt, boolean rangeSize) throws MedorException
RdbQueryLeaf
In the case of an RdbExpQueryLeaf, the query is computed.
getSqlRequest
in interface RdbQueryLeaf
pos
- is an array of ParameterOperandal
- is the input Array of fields for constructing the
SELECT clause.rangeStartAt
- is true for range queries where the first row to be
returned in the case of a range query is greater than 0.rangeSize
- is true for range queries where the number of rows to be
returned in the case of a range query is less than Integer.MAXVALUE
MedorException
- in the case of RdbExpQueryLeaves if the
SQL request cannot be computed from the associated Expressionpublic java.lang.String getSqlDelete(ParameterOperand[] pos)
RdbQueryLeaf
getSqlDelete
in interface RdbQueryLeaf
pos
- is an array of ParameterOperand
public java.lang.String getSqlUpdate(ParameterOperand[] pos, Expression updateExpression)
RdbQueryLeaf
getSqlUpdate
in interface RdbQueryLeaf
pos
- is an array of ParameterOperandupdateExpression
- is a medor expression describing the update
assignement of value. The expression must be AND expressions of
equality between field operand and an operand (or parameter operand).
public java.lang.String getSelectList(java.lang.String selectList, java.util.ArrayList selectFields, boolean qualified) throws MedorException
RdbQueryLeaf
getSelectList
in interface RdbQueryLeaf
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.
MedorException
public Expression getQueryFilter()
FilteredQueryTree
getQueryFilter
in interface FilteredQueryTree
Expression
public void setQueryFilter(Expression exp)
FilteredQueryTree
For a QueryNode:
This method also updates the list of QueryTree children of the current QueryNode according to the FieldOperands present in the Expression.
Usage constraint: if the QueryNode already has an associated Expression, and if this Expression has been modified, the user is requested to call the setQueryFilter method after the modification.
For a RbdQueryLeaf:
It sets the filter associated to the RbdQueryLeaf. This filter is represented by an Expression. Unlike the filter of a QueryNode, is applies to its own Fields, instead of the Fields of its children.
setQueryFilter
in interface FilteredQueryTree
exp
- is the Expression representing the query filter of the current
QueryNode.Expression
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |