Skip to content

Commit

Permalink
MONDRIAN-LAGUNITAS: Fixup after previous integration.
Browse files Browse the repository at this point in the history
[git-p4: depot-paths = "//open/mondrian-release/lagunitas/": change = 15018]
  • Loading branch information
julianhyde committed Mar 15, 2012
1 parent fcaf0c9 commit 1a616bd
Showing 1 changed file with 15 additions and 16 deletions.
31 changes: 15 additions & 16 deletions src/main/mondrian/rolap/sql/MemberKeyConstraint.java
Expand Up @@ -10,58 +10,57 @@
package mondrian.rolap.sql;

import mondrian.olap.Evaluator;
import mondrian.olap.MondrianDef;
import mondrian.rolap.*;
import mondrian.rolap.aggmatcher.AggStar;
import mondrian.spi.Dialect;
import mondrian.util.Pair;

import java.util.List;
import java.util.*;

/**
* Restricts the SQL result set to members where particular columns have
* particular values.
*
* @version $Id$
*/
public class MemberKeyConstraint
implements TupleConstraint
{
private final Pair<List<MondrianDef.Expression>, List<Comparable>> cacheKey;
private final List<MondrianDef.Expression> columnList;
private final List<Dialect.Datatype> datatypeList;
private final Pair<List<RolapSchema.PhysColumn>, List<Comparable>> cacheKey;
private final List<RolapSchema.PhysColumn> columnList;
private final List<Comparable> valueList;

public MemberKeyConstraint(
List<MondrianDef.Expression> columnList,
List<Dialect.Datatype> datatypeList,
List<RolapSchema.PhysColumn> columnList,
List<Comparable> valueList)
{
this.columnList = columnList;
this.datatypeList = datatypeList;
this.valueList = valueList;
cacheKey = Pair.of(columnList, valueList);
}

public boolean isJoinRequired() {
return false;
}

public List<RolapMeasureGroup> getMeasureGroupList() {
return Collections.emptyList();
}

public void addConstraint(
SqlQuery sqlQuery, RolapCube baseCube, AggStar aggStar)
SqlQuery sqlQuery, RolapStarSet baseCube, AggStar aggStar)
{
for (int i = 0; i < columnList.size(); i++) {
MondrianDef.Expression expression = columnList.get(i);
RolapSchema.PhysColumn expression = columnList.get(i);
final Comparable value = valueList.get(i);
final Dialect.Datatype datatype = datatypeList.get(i);
sqlQuery.addWhere(
SqlConstraintUtils.constrainLevel2(
sqlQuery,
expression,
datatype,
value));
}
}

public void addLevelConstraint(
SqlQuery sqlQuery,
RolapCube baseCube,
RolapStarSet baseCube,
AggStar aggStar,
RolapLevel level)
{
Expand Down

0 comments on commit 1a616bd

Please sign in to comment.