public boolean isAll() { return member.isAll(); }
/** * Returns whether a join with the fact table is required. A join is * required if the context contains members from dimensions other than * level. If we are interested in the members of a level or a members * children then it does not make sense to join only one dimension (the one * that contains the requested members) with the fact table for NON EMPTY * optimization. */ protected boolean isJoinRequired() { Member[] members = evaluator.getMembers(); // members[0] is the Measure, so loop starts at 1 for (int i = 1; i < members.length; i++) { if (!members[i].isAll() || members[i] instanceof LimitedRollupMember || members[i] instanceof MultiCardinalityDefaultMember) { return true; } } return false; }
private static boolean canOptimize( Member parentMember, Cube baseCube) { return dimensionJoinsToBaseCube( parentMember.getDimension(), baseCube) || !parentMember.isAll(); }
private void mergeMember(final Member member) { this.axisCount++; if (! countOnly) { if (isSlicer) { if (! members.contains(member)) { members.add(member); } } else { if (member.isNull()) { return; } else if (member.isMeasure()) { return; } else if (member.isCalculated()) { return; } else if (member.isAll()) { return; } Member topParent = getTopParent(member); if (! this.members.contains(topParent)) { this.members.add(topParent); } } } } }
private boolean isNativeCompatible(Member member) { return member.isParentChildLeaf() || (!member.isMeasure() && !member.isCalculated() && !member.isAll()); }
new ArrayList<RolapMember>(availableMembers.size()); for (Member available : availableMembers) { if (!available.isAll()) { slicerMembers.add((RolapMember) available);
/** * Adds the slicer member and all parent members to mapOfSlicerMembers * capturing the sliced members associated with an Expression. * */ private static void addSlicedMemberToMap( Map<MondrianDef.Expression, Set<RolapMember>> mapOfSlicerMembers, Member slicerMember) { if (slicerMember == null || slicerMember.isAll() || slicerMember.isNull()) { return; } assert slicerMember instanceof RolapMember; MondrianDef.Expression expression = ((RolapLevel) slicerMember.getLevel()).getKeyExp(); if (!mapOfSlicerMembers.containsKey(expression)) { mapOfSlicerMembers.put( expression, new LinkedHashSet<RolapMember>()); } mapOfSlicerMembers.get(expression).add((RolapMember) slicerMember); addSlicedMemberToMap( mapOfSlicerMembers, slicerMember.getParentMember()); }
public static boolean hasMultipleLevelSlicer(Evaluator evaluator) { Map<Dimension, Level> levels = new HashMap<Dimension, Level>(); List<Member> slicerMembers = expandSupportedCalculatedMembers( ((RolapEvaluator) evaluator).getSlicerMembers(), evaluator).getMembers(); for (Member member : slicerMembers) { if (member.isAll()) { continue; } Level before = levels .put(member.getDimension(), member.getLevel()); if (before != null && !before.equals(member.getLevel())) { return true; } } return false; }
schemaReader.getLevelMembers(affectedLevel, false); for (Member availableMember : availableMembers) { if (!availableMember.isAll()) { slicerMembers.add((RolapMember) availableMember);
if (sameHierarchy) { encounteredHierarchy = true; childOrEqual = memberCheckedForConflict.isAll() || memberInMeasure .isChildOrEqualTo(memberCheckedForConflict);
public static boolean matches( Member member, List<Id.Segment> nameParts) { if (Util.equalName(Util.implode(nameParts), member.getUniqueName())) { // exact match return true; } Id.Segment segment = nameParts.get(nameParts.size() - 1); while (member.getParentMember() != null) { if (!segment.matches(member.getName())) { return false; } member = member.getParentMember(); nameParts = nameParts.subList(0, nameParts.size() - 1); segment = nameParts.get(nameParts.size() - 1); } if (segment.matches(member.getName())) { return Util.equalName( member.getHierarchy().getUniqueName(), Util.implode(nameParts.subList(0, nameParts.size() - 1))); } else if (member.isAll()) { return Util.equalName( member.getHierarchy().getUniqueName(), Util.implode(nameParts)); } else { return false; } }
private String getUniqueNameWithoutAll(Member member) { // build unique string Member parentMember = member.getParentMember(); if ((parentMember != null) && !parentMember.isAll()) { return Util.makeFqName( getUniqueNameWithoutAll(parentMember), member.getName()); } else { return Util.makeFqName(member.getHierarchy(), member.getName()); } }
while (memberWalk != null && ! memberWalk.isAll()) {
if (lowMember.isAll()) { break;
for (RolapHierarchy hierarchy : hierarchies) { final Member member = ev.getContext(hierarchy); if (member.isAll()) { continue;
|| (parentMember.isAll() && (!isCalculated() || this instanceof VisualTotalsFunDef.VisualTotalMember