public Cube getCube() { return olap4jStatement.olap4jConnection.toOlap4j(query.getCube()); }
private List<Member> getMeasures(Query query) { return ((RolapCube)query.getCube()).getMeasures(); }
private List<OlapElement> resolveReturnList(List<Exp> returnList) { if (returnList == null) { return Collections.emptyList(); } List<OlapElement> returnClauseElements = new ArrayList<OlapElement>(); SchemaReader reader = query.getSchemaReader(true); for (Exp exp : returnList) { final OlapElement olapElement = reader.lookupCompound( query.getCube(), Util.parseIdentifier(exp.toString()), true, Category.Unknown); if (olapElement instanceof OlapElement) { returnClauseElements.add(olapElement); } } return returnClauseElements; }
/** * Retrieves all base cubes associated with the cube specified by query. * (not just those applicable to the current query) */ Collection<RolapCube> getBaseCubeCollection(final Query query) { if (!((RolapCube) query.getCube()).isVirtual()) { return Collections.singletonList((RolapCube) query.getCube()); } Set<RolapCube> cubes = new TreeSet<>(new RolapCube.CubeComparator()); for (Member member : getMeasures(query)) { if (member instanceof RolapStoredMeasure) { cubes.add(((RolapStoredMeasure) member).getCube()); } else if (member instanceof RolapHierarchy.RolapCalculatedMeasure) { RolapCube baseCube = ( (RolapHierarchy.RolapCalculatedMeasure) member).getBaseCube(); if (baseCube != null) { cubes.add(baseCube); } } } return cubes; }
/** * Returns the dimensions an expression does not depend on. If the * current member of any of these dimensions changes, the expression * will return the same result. * * @param calc Expression * @return List of dimensions that the expression does not depend on */ private Hierarchy[] getIndependentHierarchies(Calc calc) { List<Hierarchy> list = new ArrayList<Hierarchy>(); final List<RolapHierarchy> hierarchies = ((RolapCube) getValidator().getQuery().getCube()) .getHierarchies(); for (Hierarchy hierarchy : hierarchies) { if (!calc.dependsOn(hierarchy)) { list.add(hierarchy); } } return list.toArray(new Hierarchy[list.size()]); } }
if (!((RolapCube)query.getCube()).isVirtual()) { targetGroupList.add(targets); return targetGroupList;
List<TargetBase> targets, Query query) assert ((RolapCube)query.getCube()).isVirtual(); Collection<RolapCube> cubesFromQuery = query.getBaseCubes(); assert cubesFromQuery != null;
public IdBatchResolver(Query query) { this.query = query; formulas = query.getFormulas(); axes = query.getAxes(); cube = query.getCube(); initOlapElementNames(); initIdentifiers(); }
/** * @return true if the relevant property for ignoring invalid members is * set to true for this query's environment (a different property is * checked depending on whether environment is schema load vs query * validation) */ public boolean ignoreInvalidMembers() { MondrianProperties props = MondrianProperties.instance(); final boolean load = ((RolapCube) getCube()).isLoadInProgress(); return !strictValidation && (load ? props.IgnoreInvalidMembers.get() : props.IgnoreInvalidMembersDuringQuery.get()); }
public Type getResultType(Validator validator, Exp[] args) { if (args.length == 0) { // With no args, the default implementation cannot // guess the hierarchy, so we supply the Time // dimension. RolapHierarchy defaultTimeHierarchy = ((RolapCube) validator.getQuery().getCube()).getTimeHierarchy( getName()); return MemberType.forHierarchy(defaultTimeHierarchy); } return super.getResultType(validator, args); }
public Type getResultType(Validator validator, Exp[] args) { if (args.length == 0) { // With no args, the default implementation cannot // guess the hierarchy, so we supply the Time // dimension. RolapHierarchy defaultTimeHierarchy = ((RolapCube) validator.getQuery().getCube()).getTimeHierarchy( getName()); return MemberType.forHierarchy(defaultTimeHierarchy); } return super.getResultType(validator, args); }
Cube cube = query.getCube(); Dimension dimension = cube.getDimensions()[0]; query.addMeasuresMembers(
this.statement = statement; this.query = statement.getQuery(); this.cube = (RolapCube) query.getCube(); this.connection = statement.getMondrianConnection(); this.schemaReader = query.getSchemaReader(true);
public SelectNode toOlap4j(Query query) { List<IdentifierNode> list = Collections.emptyList(); return new SelectNode( null, toOlap4j(query.getFormulas()), toOlap4j(query.getAxes()), new CubeNode( null, olap4jConnection.toOlap4j(query.getCube())), query.getSlicerAxis() == null ? null : toOlap4j(query.getSlicerAxis()), list); }
public Type getResultType(Validator validator, Exp[] args) { if (args.length == 1) { // If Member is not specified, // it is Time.CurrentMember. RolapHierarchy defaultTimeHierarchy = ((RolapCube) validator.getQuery().getCube()).getTimeHierarchy( getName()); return new SetType(MemberType.forHierarchy(defaultTimeHierarchy)); } else { Type type = args[1].getType(); Type memberType = TypeUtil.toMemberOrTupleType(type); return new SetType(memberType); } }
public Type getResultType(Validator validator, Exp[] args) { if (args.length == 0) { // With no args, the default implementation cannot // guess the hierarchy. RolapHierarchy defaultTimeHierarchy = ((RolapCube) validator.getQuery().getCube()).getTimeHierarchy( getName()); return new SetType(MemberType.forHierarchy(defaultTimeHierarchy)); } final Type type = args[0].getType(); if (type.getDimension().getDimensionType() != DimensionType.TimeDimension) { throw MondrianResource.instance().TimeArgNeeded.ex(getName()); } return super.getResultType(validator, args); }
for (Hierarchy hierarchy : ((RolapCube) getCube()).getHierarchies()) { int useCount = 0; for (QueryAxis axis : allAxes()) {
final Cube cube = q.getCube(); OlapElement olapElement = schemaReaderSansAc.lookupCompound(
public Type getResultType(Validator validator, Exp[] args) { if (args.length == 0) { // With no args, the default implementation cannot // guess the hierarchy. RolapHierarchy defaultTimeHierarchy = ((RolapCube) validator.getQuery().getCube()).getTimeHierarchy( getName()); return new SetType(MemberType.forHierarchy(defaultTimeHierarchy)); } if (args.length >= 2) { Type hierarchyType = args[0].getType(); MemberType memberType = (MemberType) args[1].getType(); if (memberType.getHierarchy() != null && hierarchyType.getHierarchy() != null && memberType.getHierarchy() != hierarchyType.getHierarchy()) { throw Util.newError( "Type mismatch: member must belong to hierarchy " + hierarchyType.getHierarchy().getUniqueName()); } } // If we have at least one arg, it's a level which will // tell us the type. return super.getResultType(validator, args); }