|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectmondrian.spi.SegmentColumn
public class SegmentColumn
Constrained columns are part of the SegmentHeader and SegmentCache. They uniquely identify a constrained column within a segment. Each segment can have many constrained columns. Each column can be constrained by multiple values at once (similar to a SQL in() predicate).
They are immutable and serializable.
| Field Summary | |
|---|---|
String |
columnExpression
|
int |
valueCount
|
SortedSet<Comparable> |
values
|
| Constructor Summary | |
|---|---|
SegmentColumn(String columnExpression,
int valueCount,
SortedSet<Comparable> valueList)
Creates a SegmentColumn. |
|
| Method Summary | |
|---|---|
boolean |
equals(Object obj)
|
String |
getColumnExpression()
Returns the column expression of this constrained column. |
int |
getValueCount()
Returns the number of distinct values that occur for this column in the database. |
SortedSet<Comparable> |
getValues()
Returns an array of predicate values for this column. |
int |
hashCode()
|
SegmentColumn |
merge(SegmentColumn col)
Merges this column with another resulting in another whose values are super set of both. |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public final String columnExpression
public final int valueCount
public final SortedSet<Comparable> values
| Constructor Detail |
|---|
public SegmentColumn(String columnExpression,
int valueCount,
SortedSet<Comparable> valueList)
columnExpression - SQL expression for the column. Unique within the
star schema, including accesses to the same physical column via
different join paths.valueCount - Number of distinct values of this column in the
database. For these purposes, null is counted as a value. If there
are N distinct values of the column, and we have a collection of
segments that cover N values, then Mondrian assumes that it is safe
to roll up.valueList - List of values to constrain the
column to, or null if unconstrained. Values must be
Comparable and immutable. For example, Integer, Boolean,
String or Double.| Method Detail |
|---|
public SegmentColumn merge(SegmentColumn col)
public String getColumnExpression()
public SortedSet<Comparable> getValues()
public boolean equals(Object obj)
equals in class Objectpublic int hashCode()
hashCode in class Objectpublic int getValueCount()
Mondrian uses this to know that it can safely combine multiple segments to roll up. For example, if for the "quarter" column, one segment has values {"Q1", "Q2"} and another has values {"Q3", "Q4"}, and Mondrian knows that there are 4 values, then it can roll up.
If this method returns a value that is too low, Mondrian may generate incorrect results. If you don't know the number of values, return -1.
|
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||