-
Notifications
You must be signed in to change notification settings - Fork 1
/
mondrian.properties
515 lines (451 loc) · 22.1 KB
/
mondrian.properties
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
# $Id$
# This software is subject to the terms of the Eclipse Public License v1.0
# Agreement, available at the following URL:
# http://www.eclipse.org/legal/epl-v10.html.
# Copyright (C) 2001-2002 Kana Software, Inc.
# Copyright (C) 2001-2010 Julian Hyde and others
# All Rights Reserved.
# You must accept the terms of that agreement to use this software.
# jhyde, 31 October, 2001
###############################################################################
# Environment
# Used by the webapp
mondrian.webapp.connectString=\
Provider=mondrian;\
Jdbc=jdbc:odbc:MondrianFoodMart;\
Catalog=/WEB-INF/queries/FoodMart.xml;\
JdbcDrivers=sun.jdbc.odbc.JdbcOdbcDriver;\
RoleXX='California manager';
# Where the mondrian.war will be deployed to
#mondrian.webapp.deploy=C:/jboss-4.0.2/server/default/deploy
###############################################################################
# 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
# uncommenting and modifying one of the sections below.
# Put the JDBC driver jar into mondrian/testlib.
# Derby: needs user and password
#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
# FireBirdSQL
#mondrian.foodmart.jdbcURL=jdbc:firebirdsql:localhost/3050:/mondrian/foodmart.gdb
#mondrian.jdbcDrivers=org.firebirdsql.jdbc.FBDriver
#driver.classpath=/jdbc/fb/firebirdsql-full.jar
# Greenplum (similar to Postgres)
#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
# LucidDB
# (see http://docs.eigenbase.org/LucidDbOlap)
#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 (needs user and password)
#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
# ODBC (Microsoft Access)
#mondrian.foodmart.jdbcURL=jdbc:odbc:MondrianFoodMart
#mondrian.jdbcDrivers=sun.jdbc.odbc.JdbcOdbcDriver
#driver.classpath=
# Hypersonic
#mondrian.foodmart.jdbcURL=jdbc:hsqldb:demo/hsql/FoodMart
#mondrian.jdbcDrivers=org.hsqldb.jdbcDriver
#driver.classpath=xx
# MySQL: can have user and password set in JDBC URL
# Infobright uses a MySQL driver, version 5.1 and later
#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
# Ingres
#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
# Postgres: needs user and password
#mondrian.foodmart.jdbcURL=jdbc:postgresql://localhost/FM3
#mondrian.foodmart.jdbcUser=postgres
#mondrian.foodmart.jdbcPassword=pgAdmin
#mondrian.jdbcDrivers=org.postgresql.Driver
# Neoview
#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=<PATH>/hpt4jdbc.jar
# Netezza: mimics Postgres
#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=<PATH>/nzjdbc.jar
# Sybase
#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=<PATH>/jtds-1.2.jar
# Teradata
#mondrian.foodmart.jdbcURL=jdbc:teradata://DatabaseServerName/DATABASE=FoodMart
#mondrian.foodmart.jdbcUser=<USER>
#mondrian.foodmart.jdbcPassword=<PASSWORD>
#mondrian.jdbcDrivers=com.ncr.teradata.TeraDriver
#driver.classpath=<PATH>/terajdbc/classes/terajdbc4.jar
###############################################################################
# Uncomment the following lines to run subsets of the test suite.
# "mondrian.test.Class" is the name of the main test class: it must either
# implement "junit.framework.Test" or have a "public [static] Test suite()"
# method. "mondrian.test.Name" is a pattern for the test methods to call.
###############################################################################
# Property which determines which test class to run.
# This is the name of the class which either implements
# "junit.framework.Test" or has a method
# "public [static] junit.framework.Test suite()".
#
# Example:
# mondrian.test.Class=mondrian.test.FoodMartTestCase
#mondrian.test.Class=
###############################################################################
# Property which determines which tests are run.
# This is a regular expression as defined by java.util.regex.Pattern.
# If this property is specified, only tests whose names match the pattern
# in its entirety will be run.
#mondrian.test.Name=
###############################################################################
# Where the test XML files are.
#mondrian.test.QueryFileDirectory=testsrc/queryFiles
###############################################################################
# A pattern for which test XML files to run. Pattern has to match a file name
# of the form: query<whatever>.xml in the directory.
#
# Example:
# mondrian.test.QueryFilePattern=queryTest_fec[A-Za-z0-9_]*.xml
#mondrian.test.QueryFilePattern=
###############################################################################
# Diagnostics & tuning
# Set mondrian logging information if not provided by containing application.
# Replace LOG4J_PROPERTIES_LOCATION with path to log4j.properties file.
#log4j.configuration=file://LOG4J_PROPERTIES_LOCATION/log4j.xml
###############################################################################
# Property which controls the amount of tracing displayed.
#
# Note, "mondrian.trace.level" has been replaced with a new log4j category
# "mondrian.sql" in DEBUG mode. This category can be configured to log in a
# separate file or as part of the debug output.
###############################################################################
# Property which determines when a dimension is considered "large".
# If a dimension has more than this number of members, Mondrian uses a
# smart member reader (mondrian.rolap.SmartMemberReader).
#mondrian.rolap.LargeDimensionThreshold=100
###############################################################################
# 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.
#mondrian.query.limit=40
###############################################################################
# Max number of constraints in a single `IN' SQL clause.
#
# This value may be variant among database prodcuts and their runtime settings.
# Oracle, for example, gives the error "ORA-01795: maximum number of expressions
# in a list is 1000".
#
# Recommended values:
# * Oracle: 1000
# * DB2: 2500
# * Other: 10000
#mondrian.rolap.maxConstraints=1000
###############################################################################
# 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.
#mondrian.rolap.aggregates.Use=false
###############################################################################
# Boolean property which 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.
#mondrian.rolap.aggregates.Read=false
###############################################################################
# Boolean property which determines whether Mondrian optimizes predicates and
# retrieve more data than specified in MDX query and cache it for future use
# If set to false mondrian would still optimize queries that involve all members
# of a dimension.
#mondrian.rolap.aggregates.optimizePredicates=true
###############################################################################
# Boolean property which controls pretty-print mode.
# If set to true, the all SqlQuery SQL strings
# will be generated in pretty-print mode, formatted for ease of reading.
#mondrian.rolap.generate.formatted.sql=true
###############################################################################
# Integer property which 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.
#mondrian.test.ExpDependencies=0
###############################################################################
# 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.
#mondrian.test.random.seed=1234
###############################################################################
# Boolean property which controls whether to use a cache for frequently
# evaluated expressions. With the cache disabled, an expression like
# Rank([Product].CurrentMember,
# Order([Product].MEMBERS, [Measures].[Unit Sales])) would perform
# many redundant sorts. The default is true.
#mondrian.expCache.enable=true
###############################################################################
# Boolean property which controls whether each query axis implicit has the
# NON EMPTY option set. The default is false.
#mondrian.rolap.nonempty=false
###############################################################################
# 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=OFF
###############################################################################
# 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=false
###############################################################################
# Integer property indicating timeout value, in seconds, for queries.
# Default of 0 indicates no timeout
#mondrian.rolap.queryTimeout=0
###############################################################################
# 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=false
###############################################################################
# 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=false
###############################################################################
# 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=0
###############################################################################
# Whether the MemoryMonitor should be enabled. By
# default for Java5 and above it is enabled.
#mondrian.util.memoryMonitor.enable=false
###############################################################################
# The default MemoryMonitor percentage threshold.
# If enabled, when Java5 memory monitor detects that post-garbage
# collection is above this value, notifications are generated.
#mondrian.util.memoryMonitor.percentage.threshold=90
###############################################################################
# Property for overriding default MemoryMonitor implementation.
#mondrian.util.MemoryMonitor.class=null
###############################################################################
# Property for overriding default ExpCompiler implementation.
# only for Java5 and above
#
# To test that for all test MDX queries that all functions can
# handle requests for ITERABLE, LIST and MUTABLE_LIST evalutation
# results, the following can be used:
# mondrian.calc.ExpCompiler.class=mondrian.olap.fun.ResultStyleCompiler
#
#mondrian.calc.ExpCompiler.class=null
###############################################################################
# Controls when a non-empty crossjoin input list will have the
# optimiztion applied base upon the list's size.
# The size of the list must be greater than the property value size
# for optimiztion.
# mondrian.olap.fun.crossjoin.optimizer.size=0
###############################################################################
# If true, the RolapResult will apply its implicit member
# fix by merging axes when a non-empty crossjoin uses the incorrect
# memebers.
# mondrian.rolap.RolapResult.useImplicitMembers=true
###############################################################################
# If false(default), a division having a non-null numerator and a null denominator
# evaluates to Infinity. If true, the same division results in Null.
# mondrian.olap.NullDenominatorProducesNull=false
################################################################################
# If true and if the database supports group by grouping sets query, then roll-up
# data will be fetched using group by grouping sets query
#mondrian.rolap.groupingsets.enable=false
###############################################################################
# Boolean property which controls whether to expand the non native sub-
# expressions of a native expression into MemberLists
# mondrian.native.ExpandNonNative=false
###############################################################################
# If true, enable cache hit and miss counters, note that this will affect
# performance due to existence of sync blocks
#mondrian.rolap.agg.enableCacheHitCounters=false
###############################################################################
# Property which controls if warning messages should be printed if a sql
# comparison tests do not contain expected sqls for the specified
# dialect. The tests are skipped if no expected sqls are
# found for the current dialect.
#
# Possible values are the following:
# "NONE": no warning (default)
# "ANY": any dialect
# "ACCESS"
# "DERBY"
# "LUCIDDB"
# "MYSQL"
# ...and any Dialect enum in SqlPattern.Dialect
#
# Specific tests can overwrite the default setting. The priority
# between test setting and property file setting is:
# Settings besides "NONE" in mondrian.properties file < Any setting in the test < "ANY"
#
#mondrian.test.WarnIfNoPatternForDialect=NONE
###############################################################################
# Property which 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 suming up values against Gender M and F. This can be
# confusing to the user. This feature can be used to eliminate such a
# situation.
#
#
#mondrian.olap.agg.IgnoreMeasureForNonJoiningDimension=false
###############################################################################
# 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=false
###############################################################################
# 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 the mondrian.olap.CacheControl API,
# you must set this property to false.
#
#mondrian.rolap.EnableRolapCubeMemberCache=true
###############################################################################
# Property that controls solve_order behavior.
#
# Valid values are:
# "absolute" - The SOLVE_ORDER value is absolute regardless of
# where it is defined; e.g. a query defined calculated member with a SOLVE_ORDER
# of 1 always takes precedence over a cube defined value of 2.
# "scoped" - Cube calculated members are resolved before any session scope
# calculated members, and session scope members are resolved before any query
# defined calculation. The SOLVE_ORDER value only applies within the scope in
# which it was defined.
#
# The default is "scoped", and is compatible with Analysis Services 2005 and
# later. Use "absolute" to be compatible with Analysis Services 2000 and
# mondrian-3.0.3 and earlier.
#
#mondrian.rolap.SolveOrderMode=scoped
###############################################################################
# Property that defines
# the name of the plugin class that resolves data source names to
# javax.sql.DataSource objects. The class must implement the
# mondrian.spi.DataSourceResolver interface. If not specified,
# the default implementation uses JNDI to perform resolution.
#
#mondrian.spi.dataSourceResolverClass=mondrian.spi.impl.JndiDataSourceResolver
###############################################################################
# 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 a
# LimitExceededDuringCrossjoin error is thrown.
#
# mondrian.native.NativizeMaxResults=150000
###############################################################################
# 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.
#
# mondrian.native.NativizeMinThreshold=100000
# End mondrian.properties