public class MondrianProperties extends MondrianPropertiesBase
There is a method for property valid in a
mondrian.properties
file. Although it is possible to retrieve
properties using the inherited Properties.getProperty(String)
method, we recommend that you use methods in this class.
MondrianPropertiesBase.PropertySource
Modifier and Type | Field and Description |
---|---|
org.eigenbase.util.property.StringProperty |
AggregateRules
String property containing the name of the file which defines the
rules for recognizing an aggregate table.
|
org.eigenbase.util.property.StringProperty |
AggregateRuleTag
String property that is the AggRule element's tag value.
|
org.eigenbase.util.property.StringProperty |
AlertNativeEvaluationUnsupported
Alerting action to take in case native evaluation of a function is
enabled but not supported for that function's usage in a particular
query.
|
org.eigenbase.util.property.BooleanProperty |
CaseSensitive
Boolean property that controls whether the MDX parser resolves uses
case-sensitive matching when looking up identifiers.
|
org.eigenbase.util.property.StringProperty |
CatalogURL
Property that contains the URL of the catalog to be used by
CmdRunner and XML/A Test. |
org.eigenbase.util.property.IntegerProperty |
CellBatchSize
Integer property that, if set to a value greater than zero, sets a hard limit on the
number of cells that are batched together when building segments.
|
org.eigenbase.util.property.IntegerProperty |
CheckCancelOrTimeoutInterval
Positive integer property that determines loop iterations number between checks for whether the current mdx query has been cancelled or timeout was exceeded.
Setting the interval too small may result in a performance degradation when reading large result sets; setting it too high can cause a big delay between the query being marked as cancelled or timeout was exceeded and system resources associated to it being released. |
org.eigenbase.util.property.BooleanProperty |
ChooseAggregateByVolume
Boolean property that controls whether aggregate tables
are ordered by their volume or row count.
|
org.eigenbase.util.property.BooleanProperty |
CompareSiblingsByOrderKey
Boolean property that controls whether sibling members are
compared according to order key value fetched from their ordinal
expression.
|
org.eigenbase.util.property.IntegerProperty |
CrossJoinOptimizerSize
Property that defines
when to apply the crossjoin optimization algorithm.
|
org.eigenbase.util.property.StringProperty |
DataSourceResolverClass
Property that defines
the name of the plugin class that resolves data source names to
DataSource objects. |
org.eigenbase.util.property.BooleanProperty |
DisableCaching
Boolean property that controls whether a RolapStar's
aggregate data cache is cleared after each query.
|
org.eigenbase.util.property.BooleanProperty |
DisableLocalSegmentCache
Boolean property that controls whether the data from segments
is cached locally.
|
org.eigenbase.util.property.BooleanProperty |
EnableCacheHitCounters
Deprecated.
This property is no longer used, and will be removed in
mondrian-4.0.
|
org.eigenbase.util.property.BooleanProperty |
EnableDrillThrough
If disabled, Mondrian will throw an exception if someone attempts to
perform a drillthrough of any kind.
|
org.eigenbase.util.property.BooleanProperty |
EnableExpCache
Boolean property that controls whether to use a cache for frequently
evaluated expressions.
|
org.eigenbase.util.property.BooleanProperty |
EnableGroupingSets
Property that defines
whether to generate SQL queries using the
GROUPING SETS
construct for rollup. |
org.eigenbase.util.property.BooleanProperty |
EnableInMemoryRollup
Property which turns on or off the in-memory rollup
of segment data.
|
org.eigenbase.util.property.BooleanProperty |
EnableNativeCrossJoin
If enabled some NON EMPTY CrossJoin will be computed in SQL.
|
org.eigenbase.util.property.BooleanProperty |
EnableNativeFilter
If enabled some Filter() will be computed in SQL.
|
org.eigenbase.util.property.BooleanProperty |
EnableNativeNonEmpty
If enabled some NON EMPTY set operations like member.children,
level.members and member descendants will be computed in SQL.
|
org.eigenbase.util.property.BooleanProperty |
EnableNativeTopCount
If enabled some TopCount will be computed in SQL.
|
org.eigenbase.util.property.BooleanProperty |
EnableNonEmptyOnAllAxis
Boolean property that controls whether each query axis implicit has the
NON EMPTY option set.
|
org.eigenbase.util.property.BooleanProperty |
EnableRolapCubeMemberCache
Property that determines whether to cache RolapCubeMember objects,
each of which associates a member of a shared hierarchy with a
particular cube in which it is being used.
|
org.eigenbase.util.property.BooleanProperty |
EnableTotalCount
If enabled, first row in the result of an XML/A drill-through request
will be filled with the total count of rows in underlying database.
|
org.eigenbase.util.property.BooleanProperty |
EnableTriggers
Boolean property that controls whether to notify the Mondrian system
when a
property value changes. |
org.eigenbase.util.property.IntegerProperty |
ExecutionHistorySize
Property that defines how many previous execution instances the
Monitor keeps in its history so that it can send the events
which happen after the fact. |
org.eigenbase.util.property.BooleanProperty |
ExpandNonNative
If this property is true, when looking for native evaluation of an
expression, Mondrian will expand non-native sub-expressions into
lists of members.
|
org.eigenbase.util.property.StringProperty |
ExpCompilerClass
Property that defines
the name of the class used to compile scalar expressions.
|
org.eigenbase.util.property.BooleanProperty |
FilterChildlessSnowflakeMembers
Property that defines
whether to generate joins to filter out members in a snowflake
dimension that do not have any children.
|
org.eigenbase.util.property.StringProperty |
FoodmartJdbcURL
Property containing the JDBC URL of the FoodMart database.
|
org.eigenbase.util.property.BooleanProperty |
GenerateAggregateSql
Boolean property that controls whether to print the SQL code
generated for aggregate tables.
|
org.eigenbase.util.property.BooleanProperty |
GenerateFormattedSql
Boolean property that controls pretty-print mode.
|
org.eigenbase.util.property.IntegerProperty |
HighCardChunkSize
Property that establishes the amount of chunks for querying cells
involving high-cardinality dimensions.
|
org.eigenbase.util.property.BooleanProperty |
IgnoreInvalidMembers
Property that defines whether non-existent member errors should be
ignored during schema load.
|
org.eigenbase.util.property.BooleanProperty |
IgnoreInvalidMembersDuringQuery
Property that defines whether non-existent member errors should be
ignored during query validation.
|
org.eigenbase.util.property.BooleanProperty |
IgnoreMeasureForNonJoiningDimension
Property that defines whether to ignore measure when non joining
dimension is in the tuple during aggregation.
|
org.eigenbase.util.property.IntegerProperty |
IterationLimit
Integer property indicating the maximum number of iterations
allowed when iterating over members to compute aggregates.
|
org.eigenbase.util.property.IntegerProperty |
Iterations
Not documented.
|
org.eigenbase.util.property.StringProperty |
JdbcDrivers
Property containing a list of JDBC drivers to load automatically.
|
org.eigenbase.util.property.StringProperty |
JdbcFactoryClass
Property that defines the JdbcSchema factory class which
determines the list of tables and columns of a specific datasource.
|
org.eigenbase.util.property.IntegerProperty |
LevelPreCacheThreshold
Property which governs whether child members or members of a level are precached
when child or level members are requested within a
query expression.
|
org.eigenbase.util.property.StringProperty |
LocalePropFile
String property that holds the
name of the class whose resource bundle is to be used to for this
schema.
|
org.eigenbase.util.property.IntegerProperty |
MaxConstraints
Max number of constraints in a single 'IN' SQL clause.
|
org.eigenbase.util.property.IntegerProperty |
MaxEvalDepth
Boolean property that defines the maximum number of passes
allowable while evaluating an MDX expression.
|
org.eigenbase.util.property.IntegerProperty |
MaxRows
Property that defines
limit on the number of rows returned by XML/A drill through request.
|
org.eigenbase.util.property.BooleanProperty |
MemoryMonitor
Property that defines whether the
MemoryMonitor should
be enabled. |
org.eigenbase.util.property.StringProperty |
MemoryMonitorClass
Property that defines
the name of the class used as a memory monitor.
|
org.eigenbase.util.property.IntegerProperty |
MemoryMonitorThreshold
Property that defines the default
MemoryMonitor
percentage threshold. |
org.eigenbase.util.property.IntegerProperty |
NativizeMaxResults
Property that controls the maximum number of results contained in a
NativizeSet result set.
|
org.eigenbase.util.property.IntegerProperty |
NativizeMinThreshold
Property that controls minimum expected cardinality required in
order for NativizeSet to natively evaluate a query.
|
org.eigenbase.util.property.BooleanProperty |
NeedDimensionPrefix
Property determines if elements of dimension (levels, hierarchies,
members) need to be prefixed with dimension name in MDX query.
|
org.eigenbase.util.property.BooleanProperty |
NullDenominatorProducesNull
Property that defines
the behavior of division if the denominator evaluates to zero.
|
org.eigenbase.util.property.StringProperty |
NullMemberRepresentation
Property that determines how a null member value is represented in the
result output.
|
org.eigenbase.util.property.BooleanProperty |
OptimizePredicates
Boolean property that determines whether Mondrian optimizes predicates.
|
org.eigenbase.util.property.StringProperty |
PropertyValueMapFactoryClass
Property that defines the name of the factory class used
to create maps of member properties to their respective values.
|
org.eigenbase.util.property.StringProperty |
QueryFileDirectory
Property defining
where the test XML files are.
|
org.eigenbase.util.property.StringProperty |
QueryFilePattern
Property that defines
a pattern for which test XML files to run.
|
org.eigenbase.util.property.IntegerProperty |
QueryLimit
Maximum number of simultaneous queries the system will allow.
|
org.eigenbase.util.property.IntegerProperty |
QueryTimeout
Property that defines the timeout value (in seconds) for queries.
|
org.eigenbase.util.property.BooleanProperty |
ReadAggregates
Boolean property that determines whether Mondrian should read
aggregate tables.
|
org.eigenbase.util.property.IntegerProperty |
ResultLimit
Integer property that, if set to a value greater than zero, limits the
maximum size of a result set.
|
org.eigenbase.util.property.IntegerProperty |
RolapConnectionShepherdNbThreads
Maximum number of MDX query threads per Mondrian server instance.
|
org.eigenbase.util.property.StringProperty |
RolapConnectionShepherdThreadPollingInterval
Property that defines the interval value between
polling operations performed by the RolapConnection shepherd thread.
|
org.eigenbase.util.property.StringProperty |
SegmentCache
Property which defines which SegmentCache implementation to use.
|
org.eigenbase.util.property.IntegerProperty |
SegmentCacheManagerNumberCacheThreads
Maximum number of threads per Mondrian server instance that
are used to run perform operations on the external caches.
|
org.eigenbase.util.property.IntegerProperty |
SegmentCacheManagerNumberSqlThreads
Maximum number of threads per Mondrian server instance that
are used to run SQL queries when populating segments.
|
org.eigenbase.util.property.StringProperty |
SolveOrderMode
Property that controls the behavior of
solve order of calculated members and sets. |
org.eigenbase.util.property.IntegerProperty |
SparseSegmentCountThreshold
Property that, with
SparseSegmentDensityThreshold , determines
whether to choose a sparse or dense representation when storing
collections of cell values in memory. |
org.eigenbase.util.property.DoubleProperty |
SparseSegmentDensityThreshold
Property that, with
SparseSegmentCountThreshold ,
determines whether to choose a sparse or dense representation when
storing collections of cell values in memory. |
org.eigenbase.util.property.StringProperty |
SqlMemberSourceValuePoolFactoryClass
Property that defines the name of the class used in SqlMemberSource
to pool common values.
|
org.eigenbase.util.property.BooleanProperty |
SsasCompatibleNaming
Property that defines
whether to enable new naming behavior.
|
org.eigenbase.util.property.StringProperty |
StatisticsProviders
Comma-separated list of classes to be used to get statistics about the
number of rows in a table, or the number of distinct values in a column.
|
org.eigenbase.util.property.StringProperty |
TestClass
String property that determines which test class to run.
|
org.eigenbase.util.property.StringProperty |
TestConnectString
Property containing the connect string which regression tests should
use to connect to the database.
|
org.eigenbase.util.property.IntegerProperty |
TestExpDependencies
Integer property that controls whether to test operators'
dependencies, and how much time to spend doing it.
|
org.eigenbase.util.property.StringProperty |
TestHighCardinalityDimensionList
Property containing a list of dimensions in the Sales cube that should
be treated as high-cardinality dimensions by the testing infrastructure.
|
org.eigenbase.util.property.StringProperty |
TestJdbcPassword
Property containing the JDBC password of a test database.
|
org.eigenbase.util.property.StringProperty |
TestJdbcUser
Property containing the JDBC user of a test database.
|
org.eigenbase.util.property.StringProperty |
TestName
String property that determines which tests are run.
|
org.eigenbase.util.property.IntegerProperty |
TestSeed
Seed for random number generator used by some of the tests.
|
org.eigenbase.util.property.IntegerProperty |
TimeLimit
Property that returns the time limit for the test run in seconds.
|
org.eigenbase.util.property.BooleanProperty |
UseAggregates
Boolean property that controls whether Mondrian uses aggregate
tables.
|
org.eigenbase.util.property.IntegerProperty |
VUsers
Not documented.
|
org.eigenbase.util.property.BooleanProperty |
Warmup
Property that indicates whether this is a "warmup test".
|
org.eigenbase.util.property.StringProperty |
WarnIfNoPatternForDialect
Property that controls whether warning messages should be printed if a SQL
comparison test does not contain expected SQL statements for the specified
dialect.
|
org.eigenbase.util.property.StringProperty |
XmlaSchemaRefreshInterval
Interval at which to refresh the
list of XML/A catalogs.
|
mondrianDotProperties
defaults
Modifier and Type | Method and Description |
---|---|
static MondrianProperties |
instance()
Returns the singleton.
|
populate, triggersAreEnabled
getProperties, getPropertyDefinition, getPropertyList, register, setProperty
getProperty, getProperty, list, list, load, load, loadFromXML, propertyNames, save, store, store, storeToXML, storeToXML, stringPropertyNames
clear, clone, compute, computeIfAbsent, computeIfPresent, contains, containsKey, containsValue, elements, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keys, keySet, merge, put, putAll, putIfAbsent, rehash, remove, remove, replace, replace, replaceAll, size, toString, values
public final transient org.eigenbase.util.property.StringProperty AggregateRuleTag
String property that is the AggRule element's tag value.
Normally, this property is not set by a user.
public final transient org.eigenbase.util.property.StringProperty AggregateRules
String property containing the name of the file which defines the rules for recognizing an aggregate table. Can be either a resource in the Mondrian jar or a URL.
The default value is "/DefaultRules.xml", which is in the mondrian.rolap.aggmatcher package in Mondrian.jar.
Normally, this property is not set by a user.
public final transient org.eigenbase.util.property.StringProperty AlertNativeEvaluationUnsupported
Alerting action to take 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.)
Recognized actions:
OFF
: do nothing (default action, also used if
unrecognized action is specified)WARN
: log a warning to RolapUtil loggerERROR
: throw an instance of
NativeEvaluationUnsupportedException
public final transient org.eigenbase.util.property.BooleanProperty CaseSensitive
public final transient org.eigenbase.util.property.StringProperty CatalogURL
CmdRunner
and XML/A Test.public final transient org.eigenbase.util.property.IntegerProperty CellBatchSize
public final transient org.eigenbase.util.property.IntegerProperty CheckCancelOrTimeoutInterval
Positive integer property that determines loop iterations number between checks for whether the current mdx query has been cancelled or timeout was exceeded.
Setting the interval too small may result in a performance degradation when reading large result sets;
setting it too high can cause a big delay between the query being marked as cancelled or timeout was exceeded and system resources associated to it being released.
public final transient org.eigenbase.util.property.BooleanProperty ChooseAggregateByVolume
Boolean property that controls whether aggregate tables are ordered by their volume or row count.
If true, Mondrian uses the aggregate table with the smallest volume (number of rows multiplied by number of columns); if false, Mondrian uses the aggregate table with the fewest rows.
public final transient org.eigenbase.util.property.BooleanProperty CompareSiblingsByOrderKey
public final transient org.eigenbase.util.property.IntegerProperty CrossJoinOptimizerSize
Property that defines when to apply the crossjoin optimization algorithm.
If a crossjoin input list's size is larger than this property's
value and the axis has the "NON EMPTY" qualifier, then
the crossjoin non-empty optimizer is applied.
Setting this value to '0' means that for all crossjoin
input lists in non-empty axes will have the optimizer applied.
On the other hand, if the value is set larger than any possible
list, say Integer.MAX_VALUE
, then the optimizer
will never be applied.
public final transient org.eigenbase.util.property.StringProperty DataSourceResolverClass
Property that defines
the name of the plugin class that resolves data source names to
DataSource
objects. The class must implement the
DataSourceResolver
interface. If not specified,
the default implementation uses JNDI to perform resolution.
Example:
mondrian.spi.dataSourceResolverClass=mondrian.spi.impl.JndiDataSourceResolver
public final transient org.eigenbase.util.property.BooleanProperty DisableCaching
public final transient org.eigenbase.util.property.BooleanProperty DisableLocalSegmentCache
public final transient org.eigenbase.util.property.BooleanProperty EnableCacheHitCounters
Property that controls whether aggregation cache hit / miss counters will be enabled.
Note that this will affect performance due to existence of sync blocks.
public final transient org.eigenbase.util.property.BooleanProperty EnableDrillThrough
public final transient org.eigenbase.util.property.BooleanProperty EnableExpCache
Rank([Product].CurrentMember,
Order([Product].MEMBERS, [Measures].[Unit Sales]))
would perform
many redundant sorts. The default is true.public final transient org.eigenbase.util.property.BooleanProperty EnableGroupingSets
Property that defines
whether to generate SQL queries using the GROUPING SETS
construct for rollup. By default it is not enabled.
Ignored on databases which do not support the
GROUPING SETS
construct (see
Dialect.supportsGroupingSets()
).
public final transient org.eigenbase.util.property.BooleanProperty EnableInMemoryRollup
true
.public final transient org.eigenbase.util.property.BooleanProperty EnableNativeCrossJoin
public final transient org.eigenbase.util.property.BooleanProperty EnableNativeFilter
public final transient org.eigenbase.util.property.BooleanProperty EnableNativeNonEmpty
If enabled some NON EMPTY set operations like member.children, level.members and member descendants will be computed in SQL.
public final transient org.eigenbase.util.property.BooleanProperty EnableNativeTopCount
public final transient org.eigenbase.util.property.BooleanProperty EnableNonEmptyOnAllAxis
public final transient org.eigenbase.util.property.BooleanProperty EnableRolapCubeMemberCache
Property that determines whether to cache RolapCubeMember objects, each of which associates a member of a shared hierarchy with a particular cube in which it is being used.
The default is true
, that is, use a cache. If you wish to use
the member cache control aspects of CacheControl
,
you must set this property to false
.
RolapCubeMember has recently become more lightweight to construct, and we may obsolete this cache and this property.
public final transient org.eigenbase.util.property.BooleanProperty EnableTotalCount
public final transient org.eigenbase.util.property.BooleanProperty EnableTriggers
Boolean property that controls whether to notify the Mondrian system
when a property value
changes.
This allows objects dependent on Mondrian properties to react (that
is, reload), when a given property changes via, say,
MondrianProperties.instance().populate(null)
or
MondrianProperties.instance().QueryLimit.set(50)
.
public final transient org.eigenbase.util.property.IntegerProperty ExecutionHistorySize
Property that defines how many previous execution instances the
Monitor
keeps in its history so that it can send the events
which happen after the fact. Setting this property too high will make the
JVM run out of memory. Setting it too low might prevent some events from
reaching the listeners of the monitor.
This property is for internal use only and should not be changed unless required. Defaults to 1,000.
public final transient org.eigenbase.util.property.StringProperty ExpCompilerClass
Property that defines the name of the class used to compile scalar expressions.
If the value is
non-null, it is used by the ExpCompiler.Factory
to create the implementation.
To test that for all test MDX queries that all functions can handle requests for ITERABLE, LIST and MUTABLE_LIST evaluation results, use the following:
mondrian.calc.ExpCompiler.class=mondrian.olap.fun.ResultStyleCompiler
public final transient org.eigenbase.util.property.BooleanProperty ExpandNonNative
public final transient org.eigenbase.util.property.BooleanProperty FilterChildlessSnowflakeMembers
Property that defines whether to generate joins to filter out members in a snowflake dimension that do not have any children.
If true (the default), some queries to query members of high levels snowflake dimensions will be more expensive. If false, and if there are rows in an outer snowflake table that are not referenced by a row in an inner snowflake table, then some queries will return members that have no children.
Our recommendation, for best performance, is to remove rows outer
snowflake tables are not referenced by any row in an inner snowflake
table, during your ETL process, and to set this property to
false
.
public final transient org.eigenbase.util.property.StringProperty FoodmartJdbcURL
Property containing the JDBC URL of the FoodMart database. The default value is to connect to an ODBC data source called "MondrianFoodMart".
To run the test suite, first load the FoodMart data set into the database of your choice. Then set the driver.classpath, mondrian.foodmart.jdbcURL and mondrian.jdbcDrivers properties, by un-commenting and modifying one of the sections below. Put the JDBC driver jar into mondrian/testlib.
Here are example property settings for various databases.
mondrian.foodmart.jdbcURL=jdbc:derby:demo/derby/foodmart
mondrian.foodmart.jdbcUser=sa
mondrian.foodmart.jdbcPassword=sa
mondrian.jdbcDrivers=org.apache.derby.jdbc.EmbeddedDriver
driver.classpath=testlib/derby.jar
mondrian.foodmart.jdbcURL=jdbc:firebirdsql:localhost/3050:/mondrian/foodmart.gdb
mondrian.jdbcDrivers=org.firebirdsql.jdbc.FBDriver
driver.classpath=/jdbc/fb/firebirdsql-full.jar
mondrian.foodmart.jdbcURL=jdbc:postgresql://localhost/foodmart?user=gpadmin&password=xxxx
mondrian.foodmart.jdbcUser=foodmart
mondrian.foodmart.jdbcPassword=foodmart
mondrian.jdbcDrivers=org.postgresql.Driver
driver.classpath=lib/postgresql-8.2-504.jdbc3.jar
mondrian.foodmart.jdbcURL=jdbc:luciddb:http://localhost
mondrian.foodmart.jdbcUser=foodmart
mondrian.jdbcDrivers=org.luciddb.jdbc.LucidDbClientDriver
driver.classpath=/path/to/luciddb/plugin/LucidDbClient.jar
oracle.home=G:/oracle/product/10.1.0/Db_1
mondrian.foodmart.jdbcURL.oracle=jdbc:oracle:thin:@//host:port/service_name
mondrian.foodmart.jdbcURL=jdbc:oracle:thin:foodmart/foodmart@//stilton:1521/orcl
mondrian.foodmart.jdbcURL=jdbc:oracle:oci8:foodmart/foodmart@orcl
mondrian.foodmart.jdbcUser=FOODMART
mondrian.foodmart.jdbcPassword=oracle
mondrian.jdbcDrivers=oracle.jdbc.OracleDriver
driver.classpath=/home/jhyde/open/mondrian/lib/ojdbc14.jar
mondrian.foodmart.jdbcURL=jdbc:odbc:MondrianFoodMart
mondrian.jdbcDrivers=sun.jdbc.odbc.JdbcOdbcDriver
driver.classpath=
mondrian.foodmart.jdbcURL=jdbc:hsqldb:demo/hsql/FoodMart
mondrian.jdbcDrivers=org.hsqldb.jdbcDriver
driver.classpath=xx
mondrian.foodmart.jdbcURL=jdbc:mysql://localhost/foodmart?user=foodmart&password=foodmart
mondrian.foodmart.jdbcURL=jdbc:mysql://localhost/foodmart
mondrian.foodmart.jdbcUser=foodmart
mondrian.foodmart.jdbcPassword=foodmart
mondrian.jdbcDrivers=com.mysql.jdbc.Driver
driver.classpath=D:/mysql-connector-3.1.12
mondrian.foodmart.jdbcURL=jdbc:mariadb://localhost/foodmart?user=foodmart&password=foodmart
mondrian.foodmart.jdbcURL=jdbc:mariadb://localhost/foodmart
mondrian.foodmart.jdbcUser=foodmart
mondrian.foodmart.jdbcPassword=foodmart
mondrian.jdbcDrivers=org.mariadb.jdbc.Driver
driver.classpath=D:/mariadb-java-client-1.4.6.jar
mondrian.foodmart.jdbcURL=jdbc:com.nuodb://localhost/foodmart?schema=mondrian
mondrian.foodmart.jdbcUser=foodmart
mondrian.foodmart.jdbcPassword=foodmart
mondrian.jdbcDrivers=com.nuodb.jdbc.Driver
mondrian.foodmart.jdbcSchema=mondrian
driver.classpath=/opt/nuodb/jar/nuodbjdbc.jar
As MySQL. (Infobright uses a MySQL driver, version 5.1 and later.)
mondrian.foodmart.jdbcURL=jdbc:ingres://192.168.200.129:II7/MondrianFoodMart;LOOP=on;AUTO=multi;UID=ingres;PWD=sergni
mondrian.jdbcDrivers=com.ingres.jdbc.IngresDriver
driver.classpath=c:/ingres2006/ingres/lib/iijdbc.jar
mondrian.foodmart.jdbcURL=jdbc:postgresql://localhost/FM3
mondrian.foodmart.jdbcUser=postgres
mondrian.foodmart.jdbcPassword=pgAdmin
mondrian.jdbcDrivers=org.postgresql.Driver
mondrian.foodmart.jdbcURL=jdbc:hpt4jdbc://localhost:18650/:schema=PENTAHO;serverDataSource=PENTAHO_DataSource
mondrian.foodmart.jdbcUser=user
mondrian.foodmart.jdbcPassword=password
mondrian.jdbcDrivers=com.hp.t4jdbc.HPT4Driver
driver.classpath=/some/path/hpt4jdbc.jar
mondrian.foodmart.jdbcURL=jdbc:netezza://127.0.1.10/foodmart
mondrian.foodmart.jdbcUser=user
mondrian.foodmart.jdbcPassword=password
mondrian.jdbcDrivers=org.netezza.Driver
driver.classpath=/some/path/nzjdbc.jar
mondrian.foodmart.jdbcURL=jdbc:jtds:sybase://xxx.xxx.xxx.xxx:port/dbName
mondrian.foodmart.jdbcUser=user
mondrian.foodmart.jdbcPassword=password
mondrian.jdbcDrivers=net.sourceforge.jtds.jdbc.Driver
driver.classpath=/some/path/jtds-1.2.jar
mondrian.foodmart.jdbcURL=jdbc:teradata://DatabaseServerName/DATABASE=FoodMart
mondrian.foodmart.jdbcUser=user
mondrian.foodmart.jdbcPassword=password
mondrian.jdbcDrivers=com.ncr.teradata.TeraDriver
driver.classpath=/some/path/terajdbc/classes/terajdbc4.jar
mondrian.foodmart.jdbcURL=jdbc:vertica://xxx.xxx.xxx.xxx:port/dbName
mondrian.foodmart.jdbcUser=user
mondrian.foodmart.jdbcPassword=password
mondrian.jdbcDrivers=com.vertica.Driver
driver.classpath=/some/path/vertica.jar
mondrian.foodmart.jdbcURL=jdbc:ingres://xxx.xxx.xxx.xxxport/dbName
mondrian.foodmart.jdbcUser=user
mondrian.foodmart.jdbcPassword=password
mondrian.jdbcDrivers=com.ingres.jdbc.IngresDriver
driver.classpath=/some/path/iijdbc.jar
public final transient org.eigenbase.util.property.BooleanProperty GenerateAggregateSql
Boolean property that controls whether to print the SQL code generated for aggregate tables.
If set, then as each aggregate request is processed, both the lost and collapsed dimension create and insert sql code is printed. This is for use in the CmdRunner allowing one to create aggregate table generation sql.
public final transient org.eigenbase.util.property.BooleanProperty GenerateFormattedSql
Boolean property that controls pretty-print mode.
If true, the all SqlQuery SQL strings will be generated in pretty-print mode, formatted for ease of reading.
public final transient org.eigenbase.util.property.IntegerProperty HighCardChunkSize
mondrian.result.limit
.public final transient org.eigenbase.util.property.BooleanProperty IgnoreInvalidMembers
Property that defines whether non-existent member errors should be ignored during schema load. If so, the non-existent member is treated as a null member.
public final transient org.eigenbase.util.property.BooleanProperty IgnoreInvalidMembersDuringQuery
Property that defines whether non-existent member errors should be ignored during query validation. If so, the non-existent member is treated as a null member.
public final transient org.eigenbase.util.property.BooleanProperty IgnoreMeasureForNonJoiningDimension
Property that defines whether to ignore measure when non joining dimension is in the tuple during aggregation.
If there are unrelated dimensions to a measure in context during aggregation, the measure is ignored in the evaluation context. This behaviour kicks in only if the CubeUsage for this measure has IgnoreUnrelatedDimensions attribute set to false.
For example, Gender doesn't join with [Warehouse Sales] measure.
With mondrian.olap.agg.IgnoreMeasureForNonJoiningDimension=true Warehouse Sales gets eliminated and is ignored in the aggregate value.
[Store Sales] + [Warehouse Sales]
SUM({Product.members * Gender.members}) 7,913,333.82
With mondrian.olap.agg.IgnoreMeasureForNonJoiningDimension=false Warehouse Sales with Gender All level member contributes to the aggregate value.
[Store Sales] + [Warehouse Sales]
SUM({Product.members * Gender.members}) 9,290,730.03
On a report where Gender M, F and All members exist a user will see a large aggregated value compared to the aggregated value that can be arrived at by summing up values against Gender M and F. This can be confusing to the user. This feature can be used to eliminate such a situation.
public final transient org.eigenbase.util.property.IntegerProperty IterationLimit
Integer property indicating the maximum number of iterations allowed when iterating over members to compute aggregates. A value of 0 (the default) indicates no limit.
public final transient org.eigenbase.util.property.IntegerProperty Iterations
public final transient org.eigenbase.util.property.StringProperty JdbcDrivers
public final transient org.eigenbase.util.property.StringProperty JdbcFactoryClass
Property that defines the JdbcSchema factory class which determines the list of tables and columns of a specific datasource.
JdbcSchema
public final transient org.eigenbase.util.property.IntegerProperty LevelPreCacheThreshold
Property which governs whether child members or members of a level are precached
when child or level members are requested within a
query expression. For example,
if an expression references two child members in the store dimension,
like { [Store].[USA].[CA], [Store].[USA].[OR] }
, precaching will
load *all* children under [USA] rather than just the 2 requested.
The threshold value is
compared against the cardinality of the level to determine
whether or not precaching should be performed. If cardinality is
lower than the threshold value Mondrian will precache. Setting
this property to 0 effectively disables precaching.
public final transient org.eigenbase.util.property.StringProperty LocalePropFile
String property that holds the
name of the class whose resource bundle is to be used to for this
schema. For example, if the class is com.acme.MyResource
,
mondrian will look for a resource bundle called
com/acme/MyResource_<i>locale</i>.properties
on the class path.
(This property has a confusing name because in a previous release it
actually held a file name.)
Used for the LocalizingDynamicSchemaProcessor
;
see Internationalization
for more details.
Default value is null.
public final transient org.eigenbase.util.property.IntegerProperty MaxConstraints
Max number of constraints in a single 'IN' SQL clause.
This value may be variant among database products and their runtime settings. Oracle, for example, gives the error "ORA-01795: maximum number of expressions in a list is 1000".
Recommended values:
public final transient org.eigenbase.util.property.IntegerProperty MaxEvalDepth
Boolean property that defines the maximum number of passes allowable while evaluating an MDX expression.
If evaluation exceeds this depth (for example, while evaluating a very complex calculated member), Mondrian will throw an error.
public final transient org.eigenbase.util.property.IntegerProperty MaxRows
public final transient org.eigenbase.util.property.BooleanProperty MemoryMonitor
Property that defines whether the MemoryMonitor
should
be enabled. By default it is disabled; memory monitor is not available
before Java version 1.5.
public final transient org.eigenbase.util.property.StringProperty MemoryMonitorClass
Property that defines the name of the class used as a memory monitor.
If the value is
non-null, it is used by the MemoryMonitorFactory
to create the implementation.
public final transient org.eigenbase.util.property.IntegerProperty MemoryMonitorThreshold
Property that defines the default MemoryMonitor
percentage threshold. If enabled, when Java's memory monitor detects
that post-garbage collection is above this value, notifications are
generated.
public final transient org.eigenbase.util.property.IntegerProperty NativizeMaxResults
Property that controls the maximum number of results contained in a NativizeSet result set.
If the number of tuples contained in the result set exceeds this value Mondrian throws a LimitExceededDuringCrossjoin error.
public final transient org.eigenbase.util.property.IntegerProperty NativizeMinThreshold
Property that controls minimum expected cardinality required in order for NativizeSet to natively evaluate a query.
If the expected cardinality falls below this level the query is executed non-natively.
It is possible for the actual cardinality to fall below this threshold even though the expected cardinality falls above this threshold. In this case the query will be natively evaluated.
public final transient org.eigenbase.util.property.BooleanProperty NeedDimensionPrefix
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 wherein
[Gender].[M]
is resolved into a fully qualified
[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 behavior 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.
public final transient org.eigenbase.util.property.BooleanProperty NullDenominatorProducesNull
Property that defines the behavior of division if the denominator evaluates to zero.
If false (the default), if a division has a non-null numerator and a null denominator, it evaluates to "Infinity", which conforms to SSAS behavior.
If true, the result is null if the denominator is null. Setting to true enables the old semantics of evaluating this to null; this does not conform to SSAS, but is useful in some applications.
public final transient org.eigenbase.util.property.StringProperty NullMemberRepresentation
Property that determines how a null member value is represented in the result output.
AS 2000 shows this as empty value
AS 2005 shows this as "(null)" value
public final transient org.eigenbase.util.property.BooleanProperty OptimizePredicates
Boolean property that determines whether Mondrian optimizes predicates.
If true, Mondrian may retrieve a little more data than specified in MDX query and cache it for future use. For example, if you ask for data on 48 states of the United States for 3 quarters of 2011, Mondrian will round out to all 50 states and all 4 quarters. If false, Mondrian still optimizes queries that involve all members of a dimension.
public final transient org.eigenbase.util.property.StringProperty PropertyValueMapFactoryClass
Property that defines the name of the factory class used to create maps of member properties to their respective values.
If the value is
non-null, it is used by the PropertyValueFactory
to create the implementation. If unset,
RolapMemberBase.DefaultPropertyValueMapFactory
will be used.
public final transient org.eigenbase.util.property.StringProperty QueryFileDirectory
public final transient org.eigenbase.util.property.StringProperty QueryFilePattern
querywhatever.xml
in the directory.
Example:
mondrian.test.QueryFilePattern=queryTest_fec[A-Za-z0-9_]*.xml
public final transient org.eigenbase.util.property.IntegerProperty QueryLimit
Maximum number of simultaneous queries the system will allow.
Oracle fails if you try to run more than the 'processes' parameter in init.ora, typically 150. The throughput of Oracle and other databases will probably reduce long before you get to their limit.
public final transient org.eigenbase.util.property.IntegerProperty QueryTimeout
Property that defines the timeout value (in seconds) for queries. A value of 0 (the default) indicates no timeout.
public final transient org.eigenbase.util.property.BooleanProperty ReadAggregates
Boolean property that determines whether Mondrian should read aggregate tables.
If set to true, then Mondrian scans the database for aggregate tables. Unless mondrian.rolap.aggregates.Use is set to true, the aggregates found will not be used.
public final transient org.eigenbase.util.property.IntegerProperty ResultLimit
public final transient org.eigenbase.util.property.IntegerProperty RolapConnectionShepherdNbThreads
Maximum number of MDX query threads per Mondrian server instance. Defaults to 20.
public final transient org.eigenbase.util.property.StringProperty RolapConnectionShepherdThreadPollingInterval
Property that defines the interval value between polling operations performed by the RolapConnection shepherd thread. This controls query timeouts and cancellation, so a small value (a few milliseconds) is best. Setting this to a value higher than mondrian.rolap.queryTimeout will result the timeout not being enforced as expected.
Default value is "1000ms". Default time unit is "ms".
public final transient org.eigenbase.util.property.StringProperty SegmentCache
org.example.SegmentCacheImpl
where SegmentCacheImpl
is an implementation of SegmentCache
.public final transient org.eigenbase.util.property.IntegerProperty SegmentCacheManagerNumberCacheThreads
Maximum number of threads per Mondrian server instance that are used to run perform operations on the external caches. Defaults to 100.
public final transient org.eigenbase.util.property.IntegerProperty SegmentCacheManagerNumberSqlThreads
Maximum number of threads per Mondrian server instance that are used to run SQL queries when populating segments. Defaults to 100.
public final transient org.eigenbase.util.property.StringProperty SolveOrderMode
solve order
of calculated members and sets.
Valid values are "scoped" and "absolute" (the default). See
SolveOrderMode
for details.
public final transient org.eigenbase.util.property.IntegerProperty SparseSegmentCountThreshold
Property that, with SparseSegmentDensityThreshold
, determines
whether to choose a sparse or dense representation when storing
collections of cell values in memory.
When storing collections of cell values, Mondrian has to choose
between a sparse and a dense representation, based upon the
possible
and actual
number of values.
The density
is actual / possible
.
We use a sparse representation if
(possible -
countThreshold
) *
densityThreshold
>
actual
For example, at the default values
(countThreshold
= 1000,
SparseSegmentDensityThreshold
= 0.5),
we use a dense representation for
Any fewer actual values, or any more possible values, and Mondrian will use a sparse representation.
public final transient org.eigenbase.util.property.DoubleProperty SparseSegmentDensityThreshold
SparseSegmentCountThreshold
,
determines whether to choose a sparse or dense representation when
storing collections of cell values in memory.public final transient org.eigenbase.util.property.StringProperty SqlMemberSourceValuePoolFactoryClass
Property that defines the name of the class used in SqlMemberSource to pool common values.
If the value is non-null, it is used by the
SqlMemberSource.ValueMapFactory
to create the implementation. If it is not set, then
SqlMemberSource.NullValuePoolFactory
will be used, meaning common values will not be pooled.
public final transient org.eigenbase.util.property.BooleanProperty SsasCompatibleNaming
Property that defines whether to enable new naming behavior.
If true, hierarchies are named [Dimension].[Hierarchy]; if false, [Dimension.Hierarchy].
public final transient org.eigenbase.util.property.StringProperty StatisticsProviders
Comma-separated list of classes to be used to get statistics about the number of rows in a table, or the number of distinct values in a column.
If there is a value for mondrian.statistics.providers.DATABASE, where DAtABASE is the current database name (e.g. MYSQL or ORACLE), then that property overrides.
Example:
mondrian.statistics.providers=mondrian.spi.impl.JdbcStatisticsProvider
mondrian.statistics.providers.MYSQL=mondrian.spi.impl.JdbcStatisticsProvider,mondrian.spi.impl.JdbcStatisticsProvider
This would use JDBC's statistics (via the java.sql.DatabaseMetaData.getIndexInfo method) for most databases, but for connections to a MySQL database, would use external statistics first, and fall back to JDBC statistics only if external statistics were not available.
public final transient org.eigenbase.util.property.StringProperty TestClass
String property that determines which test class to run.
This is the name of the class. It must either implement
junit.framework.Test
or have a method
public [static] junit.framework.Test suite()
.
Example:
mondrian.test.Class=mondrian.test.FoodMartTestCase
TestName
public final transient org.eigenbase.util.property.StringProperty TestConnectString
Property containing the connect string which regression tests should use to connect to the database.
Format is specified in Util.parseConnectString(String)
.
public final transient org.eigenbase.util.property.IntegerProperty TestExpDependencies
Integer property that controls whether to test operators' dependencies, and how much time to spend doing it.
If this property is positive, Mondrian's test framework allocates an expression evaluator which evaluates each expression several times, and makes sure that the results of the expression are independent of dimensions which the expression claims to be independent of.
The default is 0.
public final transient org.eigenbase.util.property.StringProperty TestHighCardinalityDimensionList
public final transient org.eigenbase.util.property.StringProperty TestJdbcPassword
public final transient org.eigenbase.util.property.StringProperty TestJdbcUser
public final transient org.eigenbase.util.property.StringProperty TestName
String property that determines which tests are run.
This is a regular expression as defined by
Pattern
.
If this property is specified, only tests whose names match the pattern
in its entirety will be run.
TestClass
public final transient org.eigenbase.util.property.IntegerProperty TestSeed
Seed for random number generator used by some of the tests.
Any value besides 0 or -1 gives deterministic behavior. The default value is 1234: most users should use this. Setting the seed to a different value can increase coverage, and therefore may uncover new bugs.
If you set the value to 0, the system will generate its own pseudo-random seed.
If you set the value to -1, Mondrian uses the next seed from an internal random-number generator. This is a little more deterministic than setting the value to 0.
public final transient org.eigenbase.util.property.IntegerProperty TimeLimit
public final transient org.eigenbase.util.property.BooleanProperty UseAggregates
Boolean property that controls whether Mondrian uses aggregate tables.
If true, then Mondrian uses aggregate tables. This property is queried prior to each aggregate query so that changing the value of this property dynamically (not just at startup) is meaningful.
Aggregates can be read from the database using the
ReadAggregates
property but will not be used unless this
property is set to true.
public final transient org.eigenbase.util.property.IntegerProperty VUsers
public final transient org.eigenbase.util.property.BooleanProperty Warmup
public final transient org.eigenbase.util.property.StringProperty WarnIfNoPatternForDialect
Property that controls whether warning messages should be printed if a SQL comparison test does not contain expected SQL statements for the specified dialect. The tests are skipped if no expected SQL statements are found for the current dialect.
Possible values are the following:
Specific tests can overwrite the default setting. The priority is:
public final transient org.eigenbase.util.property.StringProperty XmlaSchemaRefreshInterval
Interval at which to refresh the list of XML/A catalogs. (Usually known as the datasources.xml file.)
It is not an active process; no threads will be created. It only serves as a rate limiter. The refresh process is triggered by requests to the doPost() servlet method.
Values may have time unit suffixes such as 's' (second) or 'ms' (milliseconds). Default value is 3000 milliseconds (3 seconds). Default time unit is milliseconds.
See also
DynamicDatasourceXmlaServlet
.
public static MondrianProperties instance()
Copyright © 2019 Hitachi Vantara. All rights reserved.