Package mondrian.rolap.aggmatcher
Class AggStar
- java.lang.Object
-
- mondrian.rolap.aggmatcher.AggStar
-
public class AggStar extends Object
Aggregate table version of a RolapStar for a fact table.There is the following class structure:
AggStar Table JoinCondition Column Level extends Column FactTable extends Table Measure extends Table.Column DimTable extends Table
Each inner class is non-static meaning that instances have implied references to the enclosing object.
- Author:
- Richard M. Emberson
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
AggStar.DimTable
This class represents a dimension table.class
AggStar.FactTable
This is an aggregate fact table.class
AggStar.Table
Base Table class for the FactTable and DimTable classes.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description AggStar.Table
findTable(String name)
Find a table by name (alias) that is a descendant of the base fact table.BitKey
getBitKey()
Returns the BitKey.BitKey
getDistinctMeasureBitKey()
Returns a BitKey containing only distinct measures.AggStar.FactTable
getFactTable()
Get the fact table.BitKey
getForeignKeyBitKey()
BitKey
getLevelBitKey()
Get the foreign-key/level BitKey.BitKey
getMeasureBitKey()
Returns a BitKey of all measures.long
getSize()
Returns a measure of the IO cost of querying this table.RolapStar
getStar()
Get this AggStar's RolapStar.boolean
hasForeignKeys()
Returns whether this AggStar has foreign keys.boolean
hasIgnoredColumns()
boolean
hasLevels()
Return true if AggStar has levelsboolean
hasMeasures()
Return true if AggStar has measuresboolean
isFullyCollapsed()
Returns true if every level column in the AggStar is collapsed.AggStar.Table.Column
lookupColumn(int bitPos)
Get the Column at the bit position.AggStar.Table.Level
lookupLevel(int bitPos)
Get the Level at the given bit position or return null.AggStar.FactTable.Measure
lookupMeasure(int bitPos)
Get the Measure at the given bit position or return null.static AggStar
makeAggStar(RolapStar star, JdbcSchema.Table dbTable, MessageRecorder msgRecorder, long approxRowCount)
Creates an AggStar and all of itsAggStar.Table
,AggStar.Table.Column
s, etc.void
print(PrintWriter pw, String prefix)
Print this AggStar.boolean
select(BitKey levelBitKey, BitKey coreLevelBitKey, BitKey measureBitKey)
Return true if this AggStar's level BitKey equals thelevelBitKey
parameter and if this AggStar's measure BitKey is a super set (proper or not) of themeasureBitKey
parameter.boolean
superSetMatch(BitKey bitKey)
Is this AggStar's BitKey a super set (proper or not) of the BitKey parameter.String
toString()
-
-
-
Method Detail
-
makeAggStar
public static AggStar makeAggStar(RolapStar star, JdbcSchema.Table dbTable, MessageRecorder msgRecorder, long approxRowCount)
Creates an AggStar and all of itsAggStar.Table
,AggStar.Table.Column
s, etc.
-
getFactTable
public AggStar.FactTable getFactTable()
Get the fact table.- Returns:
- the fact table
-
findTable
public AggStar.Table findTable(String name)
Find a table by name (alias) that is a descendant of the base fact table.- Parameters:
name
- the table to find- Returns:
- the table or null
-
getSize
public long getSize()
Returns a measure of the IO cost of querying this table. It can be either the row count or the row count times the size of a row. If the propertyMondrianProperties.ChooseAggregateByVolume
is true, then volume is returned, otherwise row count.
-
getForeignKeyBitKey
public BitKey getForeignKeyBitKey()
-
superSetMatch
public boolean superSetMatch(BitKey bitKey)
Is this AggStar's BitKey a super set (proper or not) of the BitKey parameter.- Returns:
- true if it is a super set
-
select
public boolean select(BitKey levelBitKey, BitKey coreLevelBitKey, BitKey measureBitKey)
Return true if this AggStar's level BitKey equals thelevelBitKey
parameter and if this AggStar's measure BitKey is a super set (proper or not) of themeasureBitKey
parameter.
-
getStar
public RolapStar getStar()
Get this AggStar's RolapStar.
-
hasMeasures
public boolean hasMeasures()
Return true if AggStar has measures
-
hasLevels
public boolean hasLevels()
Return true if AggStar has levels
-
hasForeignKeys
public boolean hasForeignKeys()
Returns whether this AggStar has foreign keys.
-
getBitKey
public BitKey getBitKey()
Returns the BitKey.
-
getLevelBitKey
public BitKey getLevelBitKey()
Get the foreign-key/level BitKey.
-
getMeasureBitKey
public BitKey getMeasureBitKey()
Returns a BitKey of all measures.
-
getDistinctMeasureBitKey
public BitKey getDistinctMeasureBitKey()
Returns a BitKey containing only distinct measures.
-
lookupMeasure
public AggStar.FactTable.Measure lookupMeasure(int bitPos)
Get the Measure at the given bit position or return null. Note that there is no check that the bit position is within the range of the array of columns. Nor is there a check that the column type at that position is a Measure.- Returns:
- A Measure or null.
-
lookupLevel
public AggStar.Table.Level lookupLevel(int bitPos)
Get the Level at the given bit position or return null. Note that there is no check that the bit position is within the range of the array of columns. Nor is there a check that the column type at that position is a Level.- Returns:
- A Level or null.
-
lookupColumn
public AggStar.Table.Column lookupColumn(int bitPos)
Get the Column at the bit position. Note that there is no check that the bit position is within the range of the array of columns.
-
isFullyCollapsed
public boolean isFullyCollapsed()
Returns true if every level column in the AggStar is collapsed.
-
hasIgnoredColumns
public boolean hasIgnoredColumns()
-
print
public void print(PrintWriter pw, String prefix)
Print this AggStar.
-
-