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
  • Method Details

    • makeAggStar

      public static AggStar makeAggStar(RolapStar star, JdbcSchema.Table dbTable, MessageRecorder msgRecorder, long approxRowCount)
      Creates an AggStar and all of its AggStar.Table, AggStar.Table.Columns, 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 property MondrianProperties.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 the levelBitKey parameter and if this AggStar's measure BitKey is a super set (proper or not) of the measureBitKey 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()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • print

      public void print(PrintWriter pw, String prefix)
      Print this AggStar.