summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlzhang2012-06-04 03:24:14 (EDT)
committer mwu2012-06-04 03:24:14 (EDT)
commit62f5a6b217f8614c53756ba39016f23db79fb5e7 (patch)
tree5f4e36126680cc8fce3c6ef26c60edc28d4fd4af
parent9875a4893d524d6fa470a062677e5fee95505d46 (diff)
downloadorg.eclipse.birt-62f5a6b217f8614c53756ba39016f23db79fb5e7.zip
org.eclipse.birt-62f5a6b217f8614c53756ba39016f23db79fb5e7.tar.gz
org.eclipse.birt-62f5a6b217f8614c53756ba39016f23db79fb5e7.tar.bz2
result of non-recalculate filter is incorrect if aggregate on all and
all data filtered out [50386]
-rw-r--r--data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/olap/query/view/QueryExecutor.java11
1 files changed, 10 insertions, 1 deletions
diff --git a/data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/olap/query/view/QueryExecutor.java b/data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/olap/query/view/QueryExecutor.java
index 55e70da..b560c6a 100644
--- a/data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/olap/query/view/QueryExecutor.java
+++ b/data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/olap/query/view/QueryExecutor.java
@@ -544,7 +544,16 @@ public class QueryExecutor
int pos = getPos(joinLevelKeys, detailLevelKeys);
if( pos < 0 )
- return;
+ {
+ int detailLevelKeyslen = detailLevelKeys.length;
+ if ( detailLevelKeyslen == 0 && detailRS.length() == 0 )
+ {
+ IDiskArray emptyRows = new BufferedStructureArray(
+ AggregationResultRow.getCreator(), 0 );
+ reSetAggregationResultSetDiskArray( joinRS, emptyRows );
+ }
+ return;
+ }
for (int index = 0; index < detailRS.length( ); index++)
{