Package mondrian.rolap.agg
Class DrillThroughQuerySpec
- java.lang.Object
-
- mondrian.rolap.agg.AbstractQuerySpec
-
- mondrian.rolap.agg.DrillThroughQuerySpec
-
- All Implemented Interfaces:
QuerySpec
class DrillThroughQuerySpec extends AbstractQuerySpec
Provides the information necessary to generate SQL for a drill-through request.- Author:
- jhyde, Richard M. Emberson
-
-
Field Summary
-
Fields inherited from class mondrian.rolap.agg.AbstractQuerySpec
countOnly
-
-
Constructor Summary
Constructors Constructor Description DrillThroughQuerySpec(DrillThroughCellRequest request, StarPredicate starPredicateSlicer, List<OlapElement> fields, boolean countOnly)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addMeasure(int i, SqlQuery sqlQuery)
Adds a measure to a query.protected void
extraPredicates(SqlQuery sqlQuery)
Adds predicates not associated with columns.Pair<String,List<SqlStatement.Type>>
generateSqlQuery()
String
getColumnAlias(int i)
StarColumnPredicate
getColumnPredicate(int i)
Returns the predicate on thei
th column.RolapStar.Column[]
getColumns()
RolapStar.Measure
getMeasure(int i)
String
getMeasureAlias(int i)
int
getMeasureCount()
protected List<StarPredicate>
getPredicateList()
Returns a list of predicates not associated with a particular column.protected boolean
isAggregate()
protected boolean
isOrdered()
Whether to add an ORDER BY clause to make results deterministic.protected boolean
isPartOfSelect(RolapStar.Column col)
Allows subclasses to specify if a given column must be returned as part of the result set, in the select clause.protected boolean
isPartOfSelect(RolapStar.Measure measure)
Allows subclasses to specify if a given column must be returned as part of the result set, in the select clause.-
Methods inherited from class mondrian.rolap.agg.AbstractQuerySpec
addGroupingFunction, addGroupingSets, distinctGenerateSql, getDistinctMeasureCount, getStar, newSqlQuery, nonDistinctGenerateSql
-
-
-
-
Constructor Detail
-
DrillThroughQuerySpec
public DrillThroughQuerySpec(DrillThroughCellRequest request, StarPredicate starPredicateSlicer, List<OlapElement> fields, boolean countOnly)
-
-
Method Detail
-
isPartOfSelect
protected boolean isPartOfSelect(RolapStar.Column col)
Description copied from class:AbstractQuerySpec
Allows subclasses to specify if a given column must be returned as part of the result set, in the select clause.- Overrides:
isPartOfSelect
in classAbstractQuerySpec
-
isPartOfSelect
protected boolean isPartOfSelect(RolapStar.Measure measure)
Description copied from class:AbstractQuerySpec
Allows subclasses to specify if a given column must be returned as part of the result set, in the select clause.- Overrides:
isPartOfSelect
in classAbstractQuerySpec
-
getMeasureCount
public int getMeasureCount()
-
getMeasure
public RolapStar.Measure getMeasure(int i)
-
getMeasureAlias
public String getMeasureAlias(int i)
-
getColumns
public RolapStar.Column[] getColumns()
-
getColumnAlias
public String getColumnAlias(int i)
-
getColumnPredicate
public StarColumnPredicate getColumnPredicate(int i)
Description copied from interface:QuerySpec
Returns the predicate on thei
th column.If the column is unconstrained, returns
LiteralStarPredicate
(true).- Parameters:
i
- Column ordinal- Returns:
- Constraint on column
-
generateSqlQuery
public Pair<String,List<SqlStatement.Type>> generateSqlQuery()
- Specified by:
generateSqlQuery
in interfaceQuerySpec
- Overrides:
generateSqlQuery
in classAbstractQuerySpec
-
addMeasure
protected void addMeasure(int i, SqlQuery sqlQuery)
Description copied from class:AbstractQuerySpec
Adds a measure to a query.- Overrides:
addMeasure
in classAbstractQuerySpec
- Parameters:
i
- Ordinal of measuresqlQuery
- Query object
-
isAggregate
protected boolean isAggregate()
- Specified by:
isAggregate
in classAbstractQuerySpec
-
isOrdered
protected boolean isOrdered()
Description copied from class:AbstractQuerySpec
Whether to add an ORDER BY clause to make results deterministic. Necessary if query returns more than one row and results are for human consumption.- Overrides:
isOrdered
in classAbstractQuerySpec
- Returns:
- whether to sort query
-
getPredicateList
protected List<StarPredicate> getPredicateList()
Description copied from class:AbstractQuerySpec
Returns a list of predicates not associated with a particular column.- Overrides:
getPredicateList
in classAbstractQuerySpec
- Returns:
- list of non-column predicates
-
extraPredicates
protected void extraPredicates(SqlQuery sqlQuery)
Description copied from class:AbstractQuerySpec
Adds predicates not associated with columns.- Overrides:
extraPredicates
in classAbstractQuerySpec
- Parameters:
sqlQuery
- Query
-
-