[Mondrian] SqlTupleReader.readTuples generates huge IN
list causing java.sql.SQLException
John V. Sichi
jsichi at gmail.com
Thu Jul 12 01:38:13 EDT 2007
BTW, Rushan encountered this same problem the other day and has been
working on a fix; she'll send out some info on it shortly (plus more on
a semi-related optimization).
JVS
Julian Hyde wrote:
>> Robin Tharappel wrote:
>>
>> We tried setting the maxConstraints = 100 however the same
>> error occurred. It looks like this issue is caused in part by
>> the large volume dimension at the parent level (200,000).
>>
>> There appears to be some code that results in the in clause
>> not to be created (from Mondrian 2.2.2 source for class
>> SqlConstraintUtil):
>>
>> ColumnConstraint[] cc = getColumnConstraints(c);
>>
>> if (!strict && cc.length >=
>> MondrianProperties.instance().MaxConstraints.get()){
>> // Simply get them all, do not create where-clause.
>> // Below are two alternative approaches (and
>> code). They
>> // both have problems.
>>
>> } else {
>> String cond =
>> RolapStar.Column.createInExpr(q, cc, level.isNumeric());
>> sqlQuery.addWhere(cond);
>> }
>> if (level.isUnique()) {
>> break; // no further qualification needed
>> }
>> In our case the number of ColumnConstraints (200,000) exceeds
>> the max constraint property (100), however the strict
>> variable is always true.
>> Under what circumstances would this be false? We also tried Mondrian
>> 2.3.2 but received the same error.
>
> I would approach this by running the code in the debugger. The simplest
> explanation is that the code below is not hit - because this code is part of
> the semi-join generation to implement non-empty.
>
> I would do this if I had time and a reproducible testcase but right now I
> don't have either. :)
>
> Julian
>
> _______________________________________________
> Mondrian mailing list
> Mondrian at pentaho.org
> http://lists.pentaho.org/mailman/listinfo/mondrian
>
More information about the Mondrian
mailing list