Skip to content

Commit

Permalink
MONDRIAN-PACINO: Renames ConstrainedColumn to SegmentColumn.
Browse files Browse the repository at this point in the history
[git-p4: depot-paths = "//open/mondrian-release/pacino/": change = 14806]
  • Loading branch information
lucboudreau committed Nov 28, 2011
1 parent d76b267 commit 252858a
Show file tree
Hide file tree
Showing 9 changed files with 83 additions and 81 deletions.
16 changes: 8 additions & 8 deletions src/main/mondrian/rolap/CacheControlImpl.java
Expand Up @@ -17,7 +17,7 @@
import mondrian.rolap.sql.MemberChildrenConstraint;
import mondrian.server.Execution;
import mondrian.server.Locus;
import mondrian.spi.ConstrainedColumn;
import mondrian.spi.SegmentColumn;
import mondrian.spi.SegmentHeader;
import mondrian.util.ArraySortedSet;

Expand Down Expand Up @@ -429,9 +429,9 @@ public void visit(MemberRangeCellRegion region) {
return list;
}

public static ConstrainedColumn[] findAxisValues(CellRegion region) {
final List<ConstrainedColumn> list =
new ArrayList<ConstrainedColumn>();
public static SegmentColumn[] findAxisValues(CellRegion region) {
final List<SegmentColumn> list =
new ArrayList<SegmentColumn>();
final CellRegionVisitor visitor =
new CellRegionVisitorImpl() {
public void visit(MemberCellRegion region) {
Expand Down Expand Up @@ -459,15 +459,15 @@ public void visit(MemberCellRegion region) {
new Comparable<?>[entry.getValue().size()]);
if (keys.length == 1 && keys[0].equals(true)) {
list.add(
new ConstrainedColumn(
new SegmentColumn(
entry.getKey(),
null));
} else {
Arrays.sort(
keys,
Util.SqlNullSafeComparator.instance);
list.add(
new ConstrainedColumn(
new SegmentColumn(
entry.getKey(),
new ArraySortedSet(keys)));
}
Expand All @@ -478,13 +478,13 @@ public void visit(MemberRangeCellRegion region) {
// FIXME Optimize this by resolving the list of members
// into an actual list of values for ConstrainedColumn
list.add(
new ConstrainedColumn(
new SegmentColumn(
region.level.getKeyExp().getGenericExpression(),
null));
}
};
((CellRegionImpl) region).accept(visitor);
return list.toArray(new ConstrainedColumn[list.size()]);
return list.toArray(new SegmentColumn[list.size()]);
}

public static List<RolapStar> getStarList(CellRegion region) {
Expand Down
22 changes: 11 additions & 11 deletions src/main/mondrian/rolap/agg/SegmentBuilder.java
Expand Up @@ -17,7 +17,7 @@
import mondrian.rolap.StarPredicate;
import mondrian.rolap.agg.Segment.ExcludedRegion;
import mondrian.rolap.sql.SqlQuery;
import mondrian.spi.ConstrainedColumn;
import mondrian.spi.SegmentColumn;
import mondrian.spi.SegmentHeader;
import mondrian.util.ArraySortedSet;

Expand Down Expand Up @@ -135,7 +135,7 @@ private static class ExcludedRegionList
public ExcludedRegionList(SegmentHeader header) {
this.header = header;
int cellCount = 1;
for (ConstrainedColumn cc : header.getExcludedRegions()) {
for (SegmentColumn cc : header.getExcludedRegions()) {
// TODO find a way to approximate the cardinality
// of wildcard columns.
if (cc.values != null) {
Expand All @@ -156,7 +156,7 @@ public int getCellCount() {
public boolean wouldContain(Object[] keys) {
assert keys.length == header.getConstrainedColumns().length;
for (int i = 0; i < keys.length; i++) {
final ConstrainedColumn excl =
final SegmentColumn excl =
header.getExcludedRegion(
header.getConstrainedColumns()[i].columnExpression);
if (excl == null) {
Expand Down Expand Up @@ -211,18 +211,18 @@ public static boolean isSubset(
return false;
}

public static ConstrainedColumn[] toConstrainedColumns(
public static SegmentColumn[] toConstrainedColumns(
StarColumnPredicate[] predicates)
{
return toConstrainedColumns(
Arrays.asList(predicates));
}

public static ConstrainedColumn[] toConstrainedColumns(
public static SegmentColumn[] toConstrainedColumns(
Collection<StarColumnPredicate> predicates)
{
List<ConstrainedColumn> ccs =
new ArrayList<ConstrainedColumn>();
List<SegmentColumn> ccs =
new ArrayList<SegmentColumn>();
for (StarColumnPredicate predicate : predicates) {
final List<Comparable<?>> values =
new ArrayList<Comparable<?>>();
Expand All @@ -231,7 +231,7 @@ public static ConstrainedColumn[] toConstrainedColumns(
values.toArray(new Comparable<?>[values.size()]);
if (valuesArray.length == 1 && valuesArray[0].equals(true)) {
ccs.add(
new ConstrainedColumn(
new SegmentColumn(
predicate.getConstrainedColumn()
.getExpression().getGenericExpression(),
null));
Expand All @@ -240,13 +240,13 @@ public static ConstrainedColumn[] toConstrainedColumns(
valuesArray,
Util.SqlNullSafeComparator.instance);
ccs.add(
new ConstrainedColumn(
new SegmentColumn(
predicate.getConstrainedColumn()
.getExpression().getGenericExpression(),
new ArraySortedSet(valuesArray)));
}
}
return ccs.toArray(new ConstrainedColumn[ccs.size()]);
return ccs.toArray(new SegmentColumn[ccs.size()]);
}

/**
Expand All @@ -258,7 +258,7 @@ public static ConstrainedColumn[] toConstrainedColumns(
* @return A SegmentHeader describing the supplied Segment object.
*/
public static SegmentHeader toHeader(Segment segment) {
final ConstrainedColumn[] cc =
final SegmentColumn[] cc =
SegmentBuilder.toConstrainedColumns(segment.predicates);
final List<String> cp = new ArrayList<String>();

Expand Down
2 changes: 1 addition & 1 deletion src/main/mondrian/rolap/agg/SegmentCacheManager.java
Expand Up @@ -476,7 +476,7 @@ public Void call() throws Exception {
new ArrayList<SegmentHeader>();
final List<Member> measures =
CacheControlImpl.findMeasures(region);
final ConstrainedColumn[] flushRegion =
final SegmentColumn[] flushRegion =
CacheControlImpl.findAxisValues(region);

for (Member member : measures) {
Expand Down
8 changes: 4 additions & 4 deletions src/main/mondrian/rolap/agg/SegmentLoader.java
Expand Up @@ -15,7 +15,7 @@
import mondrian.rolap.*;
import mondrian.server.Locus;
import mondrian.server.monitor.SqlStatementEvent;
import mondrian.spi.ConstrainedColumn;
import mondrian.spi.SegmentColumn;
import mondrian.spi.SegmentHeader;
import mondrian.util.*;

Expand Down Expand Up @@ -849,10 +849,10 @@ private static boolean useSparse(
*/
abstract class SegmentRollupWrapper {
abstract BitKey getConstrainedColumnsBitKey();
abstract ConstrainedColumn[] getConstrainedColumns();
abstract SegmentColumn[] getConstrainedColumns();
abstract SegmentDataset getDataset();
abstract Object[] getValuesForColumn(ConstrainedColumn cc);
abstract mondrian.spi.ConstrainedColumn getHeader();
abstract Object[] getValuesForColumn(SegmentColumn cc);
abstract mondrian.spi.SegmentColumn getHeader();
public int hashCode() {
return getHeader().hashCode();
}
Expand Down
4 changes: 2 additions & 2 deletions src/main/mondrian/rolap/cache/SegmentCacheIndex.java
Expand Up @@ -10,7 +10,7 @@
package mondrian.rolap.cache;

import mondrian.rolap.BitKey;
import mondrian.spi.ConstrainedColumn;
import mondrian.spi.SegmentColumn;
import mondrian.spi.SegmentHeader;
import mondrian.util.ByteString;

Expand Down Expand Up @@ -45,7 +45,7 @@ public List<SegmentHeader> intersectRegion(
String cubeName,
String measureName,
String rolapStarFactTableName,
ConstrainedColumn[] region);
SegmentColumn[] region);

/**
* Adds a header to the index.
Expand Down
14 changes: 7 additions & 7 deletions src/main/mondrian/rolap/cache/SegmentCacheIndexImpl.java
Expand Up @@ -11,7 +11,7 @@

import mondrian.olap.Util;
import mondrian.rolap.BitKey;
import mondrian.spi.ConstrainedColumn;
import mondrian.spi.SegmentColumn;
import mondrian.spi.SegmentHeader;
import mondrian.util.ByteString;

Expand Down Expand Up @@ -122,7 +122,7 @@ private boolean matches(
}
for (Map.Entry<String, Comparable<?>> entry : coords.entrySet()) {
// Check if the segment explicitly excludes this coordinate.
final ConstrainedColumn excludedColumn =
final SegmentColumn excludedColumn =
header.getExcludedRegion(entry.getKey());
if (excludedColumn != null) {
final SortedSet<Comparable<?>> values =
Expand All @@ -133,7 +133,7 @@ private boolean matches(
}
// Check if the dimensionality of the segment intersects
// with the coordinate.
final ConstrainedColumn constrainedColumn =
final SegmentColumn constrainedColumn =
header.getConstrainedColumn(entry.getKey());
if (constrainedColumn == null) {
throw Util.newInternal(
Expand All @@ -158,7 +158,7 @@ public List<SegmentHeader> intersectRegion(
String cubeName,
String measureName,
String rolapStarFactTableName,
ConstrainedColumn[] region)
SegmentColumn[] region)
{
assert thread == Thread.currentThread()
: "expected " + thread + ", but was " + Thread.currentThread();
Expand Down Expand Up @@ -191,7 +191,7 @@ private boolean intersects(
String cubeName,
String measureName,
String rolapStarFactTableName,
ConstrainedColumn[] region)
SegmentColumn[] region)
{
// most selective condition first
if (!header.schemaName.equals(schemaName)) {
Expand All @@ -212,8 +212,8 @@ private boolean intersects(
if (region.length == 0) {
return true;
}
for (ConstrainedColumn regionColumn : region) {
final ConstrainedColumn headerColumn =
for (SegmentColumn regionColumn : region) {
final SegmentColumn headerColumn =
header.getConstrainedColumn(regionColumn.getColumnExpression());
if (headerColumn == null) {
/*
Expand Down
Expand Up @@ -24,8 +24,10 @@
* predicate).
*
* <p>They are immutable and serializable.
*
* @version $Id$
*/
public class ConstrainedColumn implements Serializable {
public class SegmentColumn implements Serializable {
private static final long serialVersionUID = -5227838916517784720L;
public final String columnExpression;
public final SortedSet<Comparable<?>> values;
Expand All @@ -42,7 +44,7 @@ public class ConstrainedColumn implements Serializable {
* {@link Comparable} and immutable. For example, Integer, Boolean,
* String or Double.
*/
public ConstrainedColumn(
public SegmentColumn(
String columnExpression,
SortedSet<Comparable<?>> valueList)
{
Expand All @@ -62,18 +64,18 @@ public ConstrainedColumn(
* Merged the current constrained column with another
* resulting in a super set of both.
*/
public ConstrainedColumn merge(ConstrainedColumn col) {
public SegmentColumn merge(SegmentColumn col) {
assert col != null;
assert col.columnExpression.equals(this.columnExpression);

// If any values are wildcard, the merged result is a wildcard.
if (this.values == null || col.values == null) {
return new ConstrainedColumn(
return new SegmentColumn(
columnExpression,
null);
}

return new ConstrainedColumn(
return new SegmentColumn(
columnExpression,
((ArraySortedSet)this.values).merge(
(ArraySortedSet)col.values));
Expand All @@ -97,10 +99,10 @@ public SortedSet<Comparable<?>> getValues() {

@Override
public boolean equals(Object obj) {
if (!(obj instanceof ConstrainedColumn)) {
if (!(obj instanceof SegmentColumn)) {
return false;
}
ConstrainedColumn that = (ConstrainedColumn) obj;
SegmentColumn that = (SegmentColumn) obj;
if (this.values == null && that.values == null) {
return true;
}
Expand All @@ -113,4 +115,4 @@ public int hashCode() {
return hashCode;
}
}
// End ConstrainedColumn.java
// End SegmentColumn.java

0 comments on commit 252858a

Please sign in to comment.