use of mondrian.rolap.agg.MemberColumnPredicate in project mondrian by pentaho.
the class SqlConstraintUtils method addMember.
/**
* add single member constraint to predicate list
*/
private static void addMember(RolapMember member, List<StarPredicate> predicateList, RolapCube baseCube, AggStar aggStar, SqlQuery sqlQuery) {
ArrayList<MemberColumnPredicate> memberList = new ArrayList<MemberColumnPredicate>();
// add parents until a unique level is reached
for (RolapMember currMember = member; currMember != null; currMember = currMember.getParentMember()) {
if (currMember.isAll()) {
continue;
}
RolapLevel level = currMember.getLevel();
RolapStar.Column column = getLevelColumn(level, baseCube, aggStar, sqlQuery);
((RolapCubeLevel) level).getBaseStarKeyColumn(baseCube);
memberList.add(new MemberColumnPredicate(column, currMember));
if (level.isUnique()) {
break;
}
}
for (int i = memberList.size() - 1; i >= 0; i--) {
predicateList.add(memberList.get(i));
}
}
Aggregations