[Mondrian] materializing non native subexpressions
Rushan Chen
rchen at lucidera.com
Thu Jul 12 04:54:47 EDT 2007
Change list 9577 added an optimization for native set expressions. The
use case and the design(very simple) is documented here.
http://www.eigenbase.org/wiki/index.php/MondrianMaterializingNonNativeSubexpressions
This optimization is turned on by setting the mondrian property
"ExpandNonNative". By default, this property is not set and you will not
see any behavior differences with regard to native evaluation.
Also contained in the changelist are fixes to some bugs uncovered during
testing:
(1) Disable native evaluation if all inputs(usually member lists)
contain the ALL member.
See testcase
mondrian.rolap.NonEmptyTest.testExpandAllMembersInAllInputs().
(2) Disable native evaluation if input member lists are longer than
maxConstraints.
See testcases
mondrian.rolap.NonEmptyTest.testExpandLowMaxConstraints() and
mondrian.rolap.NonEmptyTest.testEnumLowMaxConstraints(). This is to
solve a problem where low maxConstraints value causes incorrect result
in native evaluation. I will send out reply to an earlier email with
questions in that area.
(3) Rename the parameter "strict" to "restrictMemberTypes" for method
SqlConstraintUtil.addMemberConstraint(). This parameter initially was
used to indicate if calculated members could be ignored. However, the
name "strict" tends to be misinterpreted. It is corrected now.
Rushan
More information about the Mondrian
mailing list