Skip to content

Commit

Permalink
MONDRIAN: Fixes a test failure in PerformanceTest.testBugMondrian550.…
Browse files Browse the repository at this point in the history
… If the cell limit was attained while in the middle of an evaluation in CrossJoinFunDef, the evaluator didn't get his restore point invoked between the passes. Now we always save/restore when evaluating and there is a risk to see the cell limit attained.

[git-p4: depot-paths = "//open/mondrian/": change = 15002]
  • Loading branch information
lucboudreau committed Mar 14, 2012
1 parent d143750 commit 1b4e1dc
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/main/mondrian/rolap/RolapResult.java
Expand Up @@ -588,6 +588,7 @@ protected void loadMembers(
evaluator.setCellReader(batchingReader);
while (true) {
axisMembers.clearAxisCount();
final int savepoint = evaluator.savepoint();
try {
evalLoad(
nonAllMembers,
Expand All @@ -601,6 +602,8 @@ protected void loadMembers(
// Decrement count because it wasn't a recursive formula that
// caused the iteration.
--attempt;
} finally {
evaluator.restore(savepoint);
}

if (!phase()) {
Expand Down

0 comments on commit 1b4e1dc

Please sign in to comment.