[Mondrian] CrossJoinArg.isPreferInterpreter

John V. Sichi jsichi at gmail.com
Sat May 12 22:13:19 EDT 2007

In RolapNativeSet, there's currently a check for the case where all of 
the inputs to a nonempty crossjoin are explicitly enumerated sets:

      * If all involved sets are already known, like in crossjoin({a,b}, 
      * then use the interpreter.

This definitely doesn't make sense in the case where the enumerated sets 
are large, since the result set of nonempty tuples may be much smaller 
than the full product.  In the case where the sets are small and 
measures are already cached, then it makes sense to avoid the SQL.  But 
I'd rather avoid adding yet another property.  Would it be OK to just 
get rid of this check?  There's not currently enough framework in place 
to do a cost/benefit analysis; I think it would be better to err in 
favor of large sets.


More information about the Mondrian mailing list