forked from pentaho/mondrian
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[MONDRIAN-1599] Virt Cube MDX mishandled w/ non-joining dims
Adding support for native evaluation of sets in the context of a virtual cube in which no cubes "fully join". That is, if there is no cube or cubes which are applicable to all dimensions in the native targets. For example, with a crossjoin of Warehouse and Gender, no single cube joins to both. Formerly native eval logic depended on the presence of one or more fully joining cubes in order to find tuples, with the assumption that the absence of a fully joining cube implies that the resulting set will be empty. That assumption is incorrect when ValidMeasure is use (or other MDX expressions which changes dimensional context). This commit takes the approach of "grouping" native targets based on their applicable cubes. So with the above example, Gender and Warehouse are grouped and evaluated separately, then crossjoined after the fact. This is more expensive than the former logic, which executed a single UNION'd SQL query with virtual cubes, so to avoid unnecessary execution this first checks whether one or more measures could shift context. Otherwise, if there is no fully joining cube, then it's safe to return an empty set. http://jira.pentaho.com/browse/MONDRIAN-1599 http://jira.pentaho.com/browse/MONDRIAN-2280
- Loading branch information
Showing
7 changed files
with
757 additions
and
64 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.