#
# *******************************************************************************
#
# Copyright (C) 2002-2018 by Hitachi Vantara : http://www.hitachivantara.com
#
# *******************************************************************************
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

# Allow the use of aggregates
mondrian.rolap.aggregates.Use=false
mondrian.rolap.aggregates.Read=false

# mondrian.properties
mondrian.result.limit=5000000

######################################################################
# Integer property indicating timeout value, in seconds, for queries.
# Default of 0 indicates no timeout
mondrian.rolap.queryTimeout=300

# Property which controls the amount of tracing displayed.  Seperate from log4j.
mondrian.trace.level=0

# Maximum number of simultaneous queries the system will allow.
mondrian.query.limit=40

# Property which determines when a dimension is considered "large".
mondrian.rolap.LargeDimensionThreshold=100

# Boolean property that controls whether a RolapStar's aggregate data cache is cleared after each query.
mondrian.rolap.star.disableCaching=false

# Boolean property which controls SQL pretty-print mode.
mondrian.rolap.generate.formatted.sql=false

# Boolean property which controls whether the MDX parser resolves uses case-sensitive matching when looking up identifiers.
mondrian.olap.case.sensitive=true

# Boolean property which controls whether to use a cache for frequently evaluated expressions.
mondrian.expCache.enable=true

# if enabled some NON EMPTY CrossJoin will be computed in SQL
mondrian.native.crossjoin.enable=true

# if enabled some TopCount will be computed in SQL
mondrian.native.topcount.enable=true

# if enabled some Filter() will be computed in SQL
mondrian.native.filter.enable=true

# some NON EMPTY set operations like member.children, level.members and member descendants will be computed in SQL
mondrian.native.nonempty.enable=true

# enable grouping sets, if the dialect supports it.
mondrian.rolap.groupingsets.enable=true

# Max number of constraints in a single `IN' SQL clause.
mondrian.rolap.maxConstraints=1000

# Property which defines the maximum number of passes allowable while evaluating an MDX expression.
mondrian.rolap.evaluate.MaxEvalDepth=10

###############################################################################
# Boolean property indicating whether errors related to non-existent members
# should be ignored during schema load. If so, the non-existent member is
# treated as a null member.
mondrian.rolap.ignoreInvalidMembers=true

###############################################################################
# Boolean property indicating whether errors related to non-existent members
# should be ignored during query validation. If so, the non-existent member is
# treated as a null member.
mondrian.rolap.ignoreInvalidMembersDuringQuery=true

###############################################################################
# Integer property indicating the maximum number of iterations allowed when
# iterating over members to compute aggregates.  Default of 0 indicates no
# limit.
mondrian.rolap.iterationLimit=5000000

###############################################################################
# String property which controls alerting behavior in case native
# evaluation of a function is enabled but not supported for that
# function's usage in a particular query.  (No alert is ever raised in
# cases where native evaluation would definitely have been wasted
# effort.)  Values recognized are { OFF, WARN, ERROR }.
mondrian.native.unsupported.alert=WARN

###############################################################################
# Boolean property which controls whether sibling members are
# compared according to order key value fetched from their ordinal
# expression.  The default is false (only database ORDER BY is used).
mondrian.rolap.compareSiblingsByOrderKey=true

###############################################################################
# If true, a division having a non-null numerator and a null denominator
# evaluates to Infinity. If false, the same division results in Null.
mondrian.olap.NullDenominatorProducesNull=true

###############################################################################
# Boolean property which controls whether to expand the non native sub-
# expressions of a native expression into MemberLists
mondrian.native.ExpandNonNative=true

###############################################################################
# Property determines if elements of dimension (levels, hierarchies, members)
# need to be prefixed with dimension name in MDX query.
#
# For example when the property is true, the following queries
# will error out. The same queries will work when this property
# is set to false.
#     * select {[M]} on 0 from sales
#     * select {[USA]} on 0 from sales
#     * select {[USA].[CA].[Santa Monica]}  on 0 from sales
#
# When the property is set to true, any query where elements are
# prefixed with dimension name as below will work
#     * select {[Gender].[F]} on 0 from sales
#     * select {[Customers].[Santa Monica]} on 0 from sales
#
# Please note that this property does not govern the behaviour where in
#     * [Gender].[M]
# is resolved into a fully qualified
#     * [Gender].[All Gender].[M]
#
# In a scenario where the schema is very large and dimensions have large
# number of members a MDX query that has a invalid member in it will cause
# mondrian to to go through all the dimensions, levels, hierarchies, members
# and properties trying to resolve the element name. This behaviour consumes
# considerable time and resources on the server. Setting this property to
# true will make it fail fast in a scenario where it is desirable
#
mondrian.olap.elements.NeedDimensionPrefix=true

###############################################################################
# Property to define which data source resolver class Mondrian should use within
# the BI platform.
#
# This SPI implementation makes it possible for Mondrian to access the data sources
# defined by the EE data sources plugin.
#
# Comment this property to have Mondrian resolve datasources
# using straight JNDI APIs.
mondrian.spi.dataSourceResolverClass=org.pentaho.platform.web.servlet.PentahoDataSourceResolver

###############################################################################
# Maximum number of MDX query threads per Mondrian server instance.
# Defaults to 20.
mondrian.rolap.maxQueryThreads=20
