public int getLevelCardinality( Level level, boolean approximate, boolean materialize) { return schemaReader.getLevelCardinality( level, approximate, materialize); }
private int getLevelCardinality(RolapLevel level) { return getSchemaReader(level) .getLevelCardinality(level, true, true); }
public static int getHierarchyCardinality( SchemaReader schemaReader, Hierarchy hierarchy) { int cardinality = 0; Level[] levels = hierarchy.getLevels(); for (Level level1 : levels) { cardinality += schemaReader.getLevelCardinality(level1, true, true); } return cardinality; }
private long getLevelCardinality(SchemaReader schema, Level level) { if (cardinalityIsKnown(level)) { return level.getApproxRowCount(); } return schema.getLevelCardinality(level, false, true); }
public int getLevelCardinality(Level level) throws OlapException { if (level instanceof MondrianOlap4jLevel) { // Improved implementation if the provider is mondrian. final MondrianOlap4jLevel olap4jLevel = (MondrianOlap4jLevel) level; final mondrian.olap.SchemaReader schemaReader = olap4jLevel.olap4jSchema.olap4jCatalog.olap4jDatabaseMetaData .olap4jConnection.getMondrianConnection().getSchemaReader() .withLocus(); return schemaReader.getLevelCardinality( olap4jLevel.level, true, true); } else { return level.getCardinality(); } }
private boolean isHighCardinality(Exp funArg, Evaluator evaluator) { Level level = findLevel(funArg); if (level != null) { int cardinality = evaluator.getSchemaReader() .getLevelCardinality(level, false, true); final int minThreshold = MondrianProperties.instance() .NativizeMinThreshold.get(); final boolean isHighCard = cardinality > minThreshold; logHighCardinality( ESTIMATE_MESSAGE, minThreshold, cardinality, isHighCard); return isHighCard; } return false; }
int memberCount = scr.getLevelCardinality(level, true, false); if (memberCount > 0) { bloats[i] = constraintLength / memberCount;