public abstract class AbstractQueryExecutor extends Object implements IQueryExecutor
| Modifier and Type | Class and Description | 
|---|---|
protected static class  | 
AbstractQueryExecutor.EntriesOrderByComparator
This private class implements the Comparator and is used to sort. 
 | 
| Modifier and Type | Field and Description | 
|---|---|
protected static Logger | 
_logger  | 
protected AbstractDMLQuery | 
query  | 
| Constructor and Description | 
|---|
AbstractQueryExecutor(AbstractDMLQuery query)  | 
| Modifier and Type | Method and Description | 
|---|---|
IEntryPacket | 
aggregate(IQueryResultSet<IEntryPacket> entries)
Execute SQL function that processes the result entries and calculates one value -
 sum,average,min,max 
 | 
Number | 
avg(SelectColumn funcColumn,
   IQueryResultSet<IEntryPacket> entries)
Calculate the average value of the given column for all entries . 
 | 
int | 
clear(QueryTemplatePacket template,
     ISpaceProxy space,
     Transaction txn,
     int modifiers)
Execute clear 
 | 
ResultEntry | 
convertEntriesToResultArrays(IQueryResultSet<IEntryPacket> entries)
Converts the list of ExternaEntries to 2 dimensional array that contains the values of the
 entries. 
 | 
int | 
count(QueryTemplatePacket template,
     ISpaceProxy space,
     Transaction txn,
     int readModifier)  | 
void | 
execute(InnerQueryNode innerQueryNode,
       ISpaceProxy space,
       Transaction txn,
       int readModifier,
       int max)
Executes an inner query 
 | 
IQueryResultSet<IEntryPacket> | 
executeTemplate(QueryTemplatePacket template,
               ISpaceProxy space,
               Transaction txn,
               int readModifier,
               int max)  | 
IQueryResultSet<IEntryPacket> | 
extractResults(ExpNode node)  | 
void | 
filterDistinctEntries(IQueryResultSet<IEntryPacket> entries)
Removes duplicate entries from the result set. 
 | 
Comparator<IEntryPacket> | 
getGroupByComparator(IQueryResultSet<IEntryPacket> queryResult,
                    List<SelectColumn> groupColumns)  | 
protected HashMap<ExpNode,IQueryResultSet<IEntryPacket>> | 
getIntermediateResults()  | 
Comparator<IEntryPacket> | 
getOrderByComparator(IQueryResultSet<IEntryPacket> entries,
                    List<OrderColumn> orderColumns)  | 
AbstractDMLQuery | 
getQuery()  | 
IQueryResultSet<IEntryPacket> | 
groupBy(IQueryResultSet<IEntryPacket> entries,
       List<SelectColumn> groupColumns)
Group the results according to the group by clause 
 | 
Object | 
minMax(SelectColumn funcColumn,
      IQueryResultSet<IEntryPacket> entries,
      boolean isMax)
Finds the minimum/maximum value of given column 
 | 
void | 
orderBy(IQueryResultSet<IEntryPacket> entries,
       List<OrderColumn> orderColumns)
Order the results according to the order by clause 
 | 
IQueryResultSet | 
readAll(ISpaceProxy space,
       Transaction txn)  | 
void | 
setResults(ExpNode node,
          IQueryResultSet<IEntryPacket> results)  | 
Number | 
sum(SelectColumn funcColumn,
   IQueryResultSet<IEntryPacket> entries)
Calculate the sum value of the given column for all entries 
 | 
protected IQueryResultSet<IEntryPacket> | 
traverseExpressionTree(ExpNode root,
                      ISpaceProxy space,
                      Transaction txn,
                      int readModifier,
                      int max)
Traverse the binary expression tree non-recursively using a custom stack The tree has to be
 traversed in postorder - the parent is traversed after its children. 
 | 
protected static final Logger _logger
protected final AbstractDMLQuery query
public AbstractQueryExecutor(AbstractDMLQuery query)
public int clear(QueryTemplatePacket template, ISpaceProxy space, Transaction txn, int modifiers) throws RemoteException, TransactionException, UnusableEntryException
IQueryExecutorclear in interface IQueryExecutorRemoteExceptionTransactionExceptionUnusableEntryExceptionpublic int count(QueryTemplatePacket template, ISpaceProxy space, Transaction txn, int readModifier) throws SQLException
count in interface IQueryExecutorSQLExceptionpublic AbstractDMLQuery getQuery()
public IQueryResultSet<IEntryPacket> extractResults(ExpNode node)
public void setResults(ExpNode node, IQueryResultSet<IEntryPacket> results)
protected IQueryResultSet<IEntryPacket> traverseExpressionTree(ExpNode root, ISpaceProxy space, Transaction txn, int readModifier, int max) throws SQLException
SQLExceptionpublic IQueryResultSet readAll(ISpaceProxy space, Transaction txn) throws SQLException
readAll in interface IQueryExecutorSQLExceptionpublic IQueryResultSet<IEntryPacket> executeTemplate(QueryTemplatePacket template, ISpaceProxy space, Transaction txn, int readModifier, int max) throws SQLException
SQLExceptionprotected HashMap<ExpNode,IQueryResultSet<IEntryPacket>> getIntermediateResults()
public IEntryPacket aggregate(IQueryResultSet<IEntryPacket> entries) throws SQLException
aggregate in interface IQueryExecutorSQLExceptionpublic IQueryResultSet<IEntryPacket> groupBy(IQueryResultSet<IEntryPacket> entries, List<SelectColumn> groupColumns) throws SQLException
groupBy in interface IQueryExecutorSQLExceptionpublic Comparator<IEntryPacket> getGroupByComparator(IQueryResultSet<IEntryPacket> queryResult, List<SelectColumn> groupColumns)
public void orderBy(IQueryResultSet<IEntryPacket> entries, List<OrderColumn> orderColumns) throws SQLException
orderBy in interface IQueryExecutorSQLExceptionpublic Comparator<IEntryPacket> getOrderByComparator(IQueryResultSet<IEntryPacket> entries, List<OrderColumn> orderColumns)
public Object minMax(SelectColumn funcColumn, IQueryResultSet<IEntryPacket> entries, boolean isMax)
public Number avg(SelectColumn funcColumn, IQueryResultSet<IEntryPacket> entries) throws SQLException
SQLExceptionpublic Number sum(SelectColumn funcColumn, IQueryResultSet<IEntryPacket> entries) throws SQLException
SQLExceptionpublic void filterDistinctEntries(IQueryResultSet<IEntryPacket> entries)
filterDistinctEntries in interface IQueryExecutorpublic ResultEntry convertEntriesToResultArrays(IQueryResultSet<IEntryPacket> entries)
convertEntriesToResultArrays in interface IQueryExecutorpublic void execute(InnerQueryNode innerQueryNode, ISpaceProxy space, Transaction txn, int readModifier, int max) throws SQLException
execute in interface IQueryExecutorSQLExceptionCopyright © GigaSpaces.