[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