Class 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 Detail

      • 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()