public abstract class Query extends Prepared
| Modifier and Type | Field and Description |
|---|---|
protected boolean |
distinct
Whether the result must only contain distinct rows.
|
protected Expression |
limitExpr
The limit expression as specified in the LIMIT or TOP clause.
|
protected Expression |
offsetExpr
The offset expression as specified in the LIMIT ..
|
protected boolean |
randomAccessResult
Whether the result needs to support random access.
|
protected int |
sampleSize
The sample size
|
create, parameters, prepareAlways, session, sqlStatement| Modifier and Type | Method and Description |
|---|---|
abstract void |
addGlobalCondition(Parameter param,
int columnId,
int comparisonType)
Add a condition to the query.
|
void |
disableCache()
Disable caching of result sets.
|
abstract void |
fireBeforeSelectTriggers()
Call the before triggers on all tables.
|
abstract int |
getColumnCount()
Get the column count of this query.
|
abstract double |
getCost()
Calculate the cost to execute this query.
|
int |
getCostAsExpression()
Calculate the cost when used as a subquery.
|
abstract ArrayList<Expression> |
getExpressions()
The the list of select expressions.
|
long |
getMaxDataModificationId() |
Value[] |
getParameterValues() |
abstract HashSet<Table> |
getTables()
Get all tables that are involved in this query.
|
abstract void |
init()
Initialize the query.
|
abstract boolean |
isEverything(ExpressionVisitor visitor)
Check if this expression and all sub-expressions can fulfill a criteria.
|
boolean |
isQuery()
Check if this object is a query.
|
boolean |
isTransactional()
Check if this command is transactional.
|
abstract void |
mapColumns(ColumnResolver resolver,
int level)
Map the columns to the given column resolver.
|
SortOrder |
prepareOrder(ArrayList<SelectOrderBy> orderList,
int expressionCount)
Create a
SortOrder object given the list of SelectOrderBy
objects. |
LocalResult |
query(int maxrows)
Execute the query.
|
protected abstract LocalResult |
queryWithoutCache(int limit,
ResultTarget target)
Execute the query without checking the cache.
|
void |
setDistinct(boolean b)
Set the distinct flag.
|
abstract void |
setEvaluatable(TableFilter tableFilter,
boolean b)
Change the evaluatable flag.
|
abstract void |
setForUpdate(boolean forUpdate)
Set the 'for update' flag.
|
void |
setLimit(Expression limit) |
void |
setOffset(Expression offset) |
abstract void |
setOrder(ArrayList<SelectOrderBy> order)
Set the order by list.
|
void |
setRandomAccessResult(boolean b)
Whether results need to support random access.
|
void |
setSampleSize(int sampleSize) |
abstract void |
updateAggregate(Session s)
Update all aggregate function values.
|
checkCanceled, checkParameters, getCurrentObjectId, getCurrentRowNumber, getObjectId, getParameters, getPlanSQL, getSQL, getSQL, getSQL, getType, isCacheable, isReadOnly, needRecompile, prepare, queryMeta, setCommand, setCurrentRowNumber, setObjectId, setParameterList, setPrepareAlways, setRow, setSession, setSQL, toString, updateprotected Expression limitExpr
protected Expression offsetExpr
protected int sampleSize
protected boolean distinct
protected boolean randomAccessResult
protected abstract LocalResult queryWithoutCache(int limit, ResultTarget target)
limit - the limit as specified in the JDBC method calltarget - the target to write results topublic abstract void init()
public abstract ArrayList<Expression> getExpressions()
public abstract double getCost()
public int getCostAsExpression()
public abstract HashSet<Table> getTables()
public abstract void setOrder(ArrayList<SelectOrderBy> order)
order - the order by listpublic abstract void setForUpdate(boolean forUpdate)
forUpdate - the new settingpublic abstract int getColumnCount()
public abstract void mapColumns(ColumnResolver resolver, int level)
resolver - the resolverlevel - the subquery level (0 is the top level query, 1 is the first
subquery level)public abstract void setEvaluatable(TableFilter tableFilter, boolean b)
tableFilter - the table filterb - the new valuepublic abstract void addGlobalCondition(Parameter param, int columnId, int comparisonType)
param - the parametercolumnId - the column index (0 meaning the first column)comparisonType - the comparison typepublic abstract boolean isEverything(ExpressionVisitor visitor)
visitor - the visitorpublic abstract void updateAggregate(Session s)
s - the sessionpublic abstract void fireBeforeSelectTriggers()
public void setDistinct(boolean b)
b - the new valuepublic void setRandomAccessResult(boolean b)
b - the new valuepublic boolean isQuery()
Preparedpublic boolean isTransactional()
PreparedisTransactional in class Preparedpublic void disableCache()
public final Value[] getParameterValues()
public LocalResult query(int maxrows)
Preparedpublic SortOrder prepareOrder(ArrayList<SelectOrderBy> orderList, int expressionCount)
SortOrder object given the list of SelectOrderBy
objects. The expression list is extended if necessary.orderList - a list of SelectOrderBy elementsexpressionCount - the number of columns in the querySortOrder objectpublic void setOffset(Expression offset)
public void setLimit(Expression limit)
public void setSampleSize(int sampleSize)
public final long getMaxDataModificationId()
Copyright © 2012 JBoss by Red Hat. All Rights Reserved.