[Mondrian] Re: Performance degradation

Julian Hyde jhyde at pentaho.com
Sun Mar 8 03:54:59 EDT 2009


I've taken a pass over this code. I split the calc into two pieces - one to
handle lists of members, the other to handle lists of tuples. I've been
doing this kind of thing to other calc classes, since it makes for stronger
typing, and in this case it also makes the check for high-card dimensions
simpler.
 
I meant to use the type of the validated call object - something like
 
ResolvedFunCall call;
SetType setType = (SetType) call.getType();
TupleType tupleType = (TupleType) setType.getElementType();
boolean isHighCard =
tupleType.elementTypes[0].getDimension().isHighCardinality()
 
but I realised it isn't safe because sometimes a type is of unknown
dimension until runtime. So I left your check as is.
 
I also added a couple of review comments to ConcatenatableList.
 
Julian


  _____  

From: mondrian-bounces at pentaho.org [mailto:mondrian-bounces at pentaho.org] On
Behalf Of Matt Campbell
Sent: Thursday, March 05, 2009 2:15 PM
To: jhyde at pentaho.com; Mondrian developer mailing list
Subject: Re: [Mondrian] Re: Performance degradation


Thanks Julian, 
I just checked in 12408 with this change.  I couldn't see a way to use
validator to check type in this case, since result.get(0) will return a
Member[] or a Member.  If you can give me some hints about how I might use
validator I can give it another pass.


-matt

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pentaho.org/pipermail/mondrian/attachments/20090307/9b322522/attachment.html 


More information about the Mondrian mailing list