|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjunit.framework.Assert
junit.framework.TestCase
mondrian.test.FoodMartTestCase
mondrian.rolap.BatchTestCase
mondrian.rolap.NonEmptyTest
public class NonEmptyTest
Tests for NON EMPTY Optimization, includes SqlConstraint type hierarchy and RolapNative classes.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class mondrian.rolap.BatchTestCase |
---|
BatchTestCase.Bomb, BatchTestCase.CellRequestConstraint, BatchTestCase.TestCase, BatchTestCase.TestListener |
Field Summary | |
---|---|
(package private) TestContext |
localTestContext
|
(package private) SqlConstraintFactory |
scf
|
Fields inherited from class mondrian.rolap.BatchTestCase |
---|
cubeNameSales, fieldGender, fieldProductDepartment, fieldProductFamily, fieldValueProductDepartment, fieldValuesGender, fieldValuesProductFamily, fieldValuesYear, fieldYear, measureUnitSales, tableCustomer, tableProductClass, tableTime |
Fields inherited from class mondrian.test.FoodMartTestCase |
---|
propSaver |
Constructor Summary | |
---|---|
NonEmptyTest()
|
|
NonEmptyTest(String name)
|
Method Summary | |
---|---|
(package private) void |
clearAndHardenCache(MemberCacheHelper helper)
|
(package private) RolapEvaluator |
getEvaluator(Result res,
int[] pos)
|
(package private) SmartMemberReader |
getSharedSmartMemberReader(Connection con,
String hierName)
|
(package private) SmartMemberReader |
getSharedSmartMemberReader(String hierName)
|
(package private) SmartMemberReader |
getSmartMemberReader(Connection con,
String hierName)
|
(package private) SmartMemberReader |
getSmartMemberReader(String hierName)
|
TestContext |
getTestContext()
Returns the test context. |
void |
setTestContext(TestContext testContext)
|
protected void |
setUp()
|
protected void |
tearDown()
|
void |
testAllLevelMembers()
getMembersInLevel where Level = (All) |
void |
testAllMembersNECJ1()
Verify that the presence of All member in all the inputs disables native evaluation. |
void |
testAllMembersNECJ2()
Verify that the native evaluation is possible if one input does not contain the All member. |
void |
testAnalyzerPerformanceIssue()
Test case for an issue where mondrian failed to use native evaluation for evaluating crossjoin. |
void |
testBug1412384()
|
void |
testBug1515302()
|
void |
testBug1791609NonEmptyCrossJoinEliminatesCalcMember()
Tests bug 1791609, "CrossJoin non empty optimizer eliminates calculated member". |
void |
testBug1961163()
|
void |
testBugCantRestrictSlicerToCalcMember()
|
void |
testBugMondrian321()
Test case for MONDRIAN-321, "CrossJoin has no nulls when EnableNativeNonEmpty=true". |
void |
testBugMondrian412()
Test case for MONDRIAN-412, "NON EMPTY and Filter() breaking aggregate calculations". |
void |
testBugMondrian584EnumOrder()
|
void |
testBugMondrian897DoubleNamedSetDefinitions()
Test case for MONDRIAN-897, "ClassCastException in CrossJoinArgFactory.allArgsCheapToExpand when defining a NamedSet as another NamedSet". |
void |
testCalcMemberWithNonEmptyCrossJoin()
Make sure that the Crossjoin in [Measures].[CustomerCount] is not evaluated in NON EMPTY context. |
void |
testCalculatedDefaultMeasureOnVirtualCubeNoThrowException()
Before the fix this test would throw an IndexOutOfBounds exception in SqlConstraintUtils.removeDefaultMembers. |
void |
testCalculatedSlicerMember()
|
void |
testCjChildrenChildren()
|
void |
testCjChildrenMembers()
|
void |
testCjDescendantsEnum()
|
void |
testCjDescendantsEnumAll()
enum sets {} containing members from different levels can not be computed natively currently. |
void |
testCjDescendantsEnumAllOnly()
enum sets {} containing ALL |
void |
testCjDescendantsMembers()
|
void |
testCjEnumCalcMembers()
|
void |
testCjEnumCalcMembersBug()
|
void |
testCjEnumChildren()
|
void |
testCjEnumDifferentLevelsChildren()
{} contains members from different levels, this can not be handled by the current native crossjoin. |
void |
testCjEnumEmptyCalcMembers()
|
void |
testCjEnumEnum()
use SQL even when all members are known |
void |
testCjEnumWithHideIfBlankLeaf()
|
void |
testCjMembersChildren()
|
void |
testCjMembersDescendants()
|
void |
testCjMembersDescendantsWithNumericArgument()
|
void |
testCjMembersMembers()
|
void |
testCjMembersMembersMembers()
|
void |
testCjMembersWithHideIfBlankLeaf()
|
void |
testCjMembersWithHideIfBlankLeafAndNoAll()
|
void |
testCjMembersWithHideIfBlankNameAncestor()
|
void |
testCjMembersWithHideIfParentsNameAncestor()
|
void |
testCjMembersWithHideIfParentsNameLeaf()
|
void |
testCjNullInEnum()
Set containing only null member should not prevent usage of native. |
void |
testCjUnionEnumCalcMembers()
|
void |
testCmInSlicer()
Calc member in slicer cannot be executed natively. |
void |
testCmInTopCount()
Calc Member in TopCount: this topcount can not be calculated native because its set contains calculated members. |
void |
testCmNativeTopCount()
Checks that TopCount is executed natively with calculated member. |
void |
testConstrainedMeasureGetsOptimized()
|
void |
testContextAtAllWorksWithConstraint()
|
void |
testCrossjoin()
When a member is expanded in JPivot with mulitple hierarchies visible it generates a CrossJoin({[member from left hierarchy]}, [member to
expand].Children) |
void |
testCrossJoinEvaluatorContext1()
|
void |
testCrossJoinEvaluatorContext2()
|
void |
testCrossJoinMultiInExprAllMember()
|
void |
testCrossJoinNamedSets1()
|
void |
testCrossJoinNamedSets2()
|
void |
testCrossJoinSetWithCrossProdMembers()
|
void |
testCrossJoinSetWithDifferentParents()
|
void |
testCrossJoinSetWithSameParent()
|
void |
testCrossJoinSetWithUniqueLevel()
|
void |
testCrossjoinWithOneDimensionThatDoesNotJoinToBothBaseCubes()
|
void |
testCrossjoinWithTwoDimensionsJoiningToOppositeBaseCubes()
|
void |
testDependentSlicerMemberNative()
|
void |
testDependentSlicerMemberNonNative()
|
void |
testDimensionMembers()
Tests that |
void |
testEnumLowMaxConstraints()
Verify that native MemberLists inputs are subject to SQL constriant limitation. |
void |
testExpandAllMembersInAllInputs()
Verify that the presence of All member in all the inputs disables native evaluation, even when ExpandNonNative is true. |
void |
testExpandAllNonNativeInputs()
Verifies that CrossJoins with two non native inputs can be natively evaluated. |
void |
testExpandCalcMemberInputNECJ()
Check that if both inputs to NECJ are either AllMember(currentMember, defaultMember are also AllMember) or Calcculated member native CJ is not used. |
void |
testExpandCalcMembers()
Native evaluation is no longer possible after the fix to testCjEnumCalcMembersBug() test. |
void |
testExpandCalcMembersInAllInputs()
Verifies that the presence of calculated member in all the inputs disables native evaluation, even when ExpandNonNative is true. |
void |
testExpandDifferentLevels()
Verify that native evaluation is not enabled if expanded member list will contain members from different levels, even if ExpandNonNative is set. |
void |
testExpandLowMaxConstraints()
Verify that a low value for maxConstraints disables native evaluation, even when ExpandNonNative is true. |
void |
testExpandNestedNonNativeInputs()
Verify that evaluation is native for expressions with nested non native inputs that preduce MemberList results. |
void |
testExpandNonNativeResourceLimitFailure()
Check that the ExpandNonNative does not create Joins with input lists containing large number of members. |
void |
testExpandNonNativeWithEnableNativeCrossJoin()
Test case for MONDRIAN-734, "Exception thrown when creating a "New Analysis View" with JPivot". |
void |
testExpandOneNonNativeInput()
Verifies that CrossJoins with one non native inputs can be natively evaluated. |
void |
testExpandTupleInputs1()
Verify that native evaluation is turned off for tuple inputs, even if ExpandNonNative is set. |
void |
testExpandTupleInputs2()
Verify that native evaluation is turned off for tuple inputs, even if ExpandNonNative is set. |
void |
testExpandWithOneEmptyInput()
Verify that native evaluation is on when ExpendNonNative is set, even if the input list is empty. |
void |
testExpandWithTwoEmptyInputs()
|
void |
testFilterChildlessSnowflakeMembers()
|
void |
testFilterChildlessSnowflakeMembers2()
|
void |
testIndependentSlicerMemberNative()
|
void |
testIndependentSlicerMemberNonNative()
|
void |
testLeafMembersOfParentChildDimensionAreNativelyEvaluated()
|
void |
testLevelMembers()
|
void |
testLevelMembersWillConstrainUsingArgsFromAllAxes()
|
void |
testLevelMembersWithoutNonEmpty()
|
void |
testLookupMember()
When looking for [Month] Mondrian generates SQL that tries to find 'Month' as a member of the time dimension. |
void |
testLookupMember2()
SQL Optimization must be turned off in ragged hierarchies. |
void |
testLookupMemberCache()
when Mondrian parses a string like "[Store].[All Stores].[USA].[CA].[San Francisco]" it shall not lookup additional members. |
void |
testMeasureAndAggregateInSlicer()
|
void |
testMeasureConstraintsInACrossjoinHaveCorrectResults()
|
void |
testMeasureInSlicer()
|
void |
testMemberChildrenNameCol()
Testcase for bug 1379068, which causes no children of [Time].[1997].[Q2] to be found, because it incorrectly constrains on the level's key column rather than name column. |
void |
testMemberChildrenNoWhere()
Tests non empty children of All member w/o WHERE clause |
void |
testMemberChildrenOfAllMember()
Tests non empty children of All member |
void |
testMemberChildrenOfRolapMember()
Tests non empty children of rolap member |
void |
testMondrian1133()
Test case for MONDRIAN-1133 |
void |
testMondrian1133WithAggs()
Test case for MONDRIAN-1133 |
void |
testMultiLevelMemberConstraintMixedNullNonNullParent()
Check that multi-level member list generates compact form of SQL where clause: (1) Use IN list if possible(not possible if there are null values because NULLs in IN lists do not match) (2) Group members sharing the same parent, including parents with NULLs. |
void |
testMultiLevelMemberConstraintNonNullParent()
Checks that multi-level member list generates compact form of SQL where clause: (1) Use IN list if possible (2) Group members sharing the same parent (3) Only need to compare up to the first unique parent level. |
void |
testMultiLevelMemberConstraintNullParent()
Checks that multi-level member list generates compact form of SQL where clause: (1) Use IN list if possible(not possible if there are null values because NULLs in IN lists do not match) (2) Group members sharing the same parent, including parents with NULLs. |
void |
testMultiLevelMemberConstraintWithMixedNullNonNullChild()
Check that multi-level member list generates compact form of SQL where clause: (1) Use IN list if possible(not possible if there are null values because NULLs in IN lists do not match) (2) Group members sharing the same parent (3) Only need to compare up to the first unique parent level. |
void |
testNativeCJWithRedundantSetBraces()
verifies that redundant set braces do not prevent native evaluation for example, {[Store].[Store Name].members} and {{[Store Type].[Store Type].members}} |
void |
testNativeCrossjoinWillConstrainUsingArgsFromAllAxes()
|
void |
testNativeCrossjoinWillExpandFirstLastChild()
|
void |
testNativeCrossjoinWillExpandLagInNamedSet()
|
void |
testNativeTopCount()
Checks that TopCount is executed natively unless disabled. |
void |
testNativeWithOverriddenNullMemberRepAndNullConstraint()
|
void |
testNestedMeasureConstraintsGetOptimized()
|
void |
testNonEmptyCJWithMultiPositionSlicer()
Test case for MONDRIAN-695, "Unexpected data set may returned when MDX slicer contains multiple dimensions". |
void |
testNonEmptyCrossJoinList()
Non Empty CrossJoin (A,B) gets turned into CrossJoin (Non Empty(A), Non Empty(B)). |
void |
testNonEmptyDescendants()
Ensures that NON EMPTY Descendants is optimized. |
void |
testNonEmptyLevelMembers()
Test that executes <Level>.Members and applies a non-empty constraint. |
void |
testNonEmptyOnNonJoiningValidMeasure()
|
void |
testNonEmptyResults()
|
void |
testNonEmptyUnionQuery()
|
void |
testNonEmptyWithCalcMeasure()
Test for bug #1696772 Modified which calculations are tested for non native, non empty joins |
void |
testNonEmptyWithWeirdDefaultMember()
Tests the behavior if you have NON EMPTY on both axes, and the default member of a hierarchy is not 'all' or the first child. |
void |
testNonEmpyOnVirtualCubeWithNonJoiningDimension()
|
void |
testNonLeafMembersOfPCDimensionAreNotNativelyEvaluated()
|
void |
testNonUniformConstraintsAreNotUsedForOptimization()
|
void |
testNonUniformNestedMeasureConstraintsGetOptimized()
|
void |
testNotNativeVirtualCubeCrossJoin1()
|
void |
testNotNativeVirtualCubeCrossJoin2()
|
void |
testNotNativeVirtualCubeCrossJoinCalculatedMember()
|
void |
testNotNativeVirtualCubeCrossJoinUnsupported()
|
void |
testResultIsModifyableCopy()
checks that crossjoin returns a modifiable copy from cache because its modified during sort |
void |
testStrMeasure()
|
void |
testTopCountCacheKeyMustIncludeCount()
|
void |
testTopCountWithCalcMemberInSlicer()
|
void |
testVCNativeCJWithIsEmptyOnMeasure()
|
void |
testVCNativeCJWithTopPercent()
|
void |
testVCOrdinalExpression()
|
void |
testVirtualCube()
Must not use native sql optimization because it chooses the wrong RolapStar in SqlContextConstraint/SqlConstraintUtils. |
void |
testVirtualCubeCrossJoin()
|
void |
testVirtualCubeCrossJoinCalculatedMember1()
|
void |
testVirtualCubeCrossJoinCalculatedMember2()
|
void |
testVirtualCubeMembers()
|
void |
testVirtualCubeNonEmptyCrossJoin()
|
void |
testVirtualCubeNonEmptyCrossJoin3Args()
|
Methods inherited from class junit.framework.TestCase |
---|
countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString |
Methods inherited from class junit.framework.Assert |
---|
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
SqlConstraintFactory scf
TestContext localTestContext
Constructor Detail |
---|
public NonEmptyTest()
public NonEmptyTest(String name)
Method Detail |
---|
protected void setUp() throws Exception
setUp
in class junit.framework.TestCase
Exception
protected void tearDown() throws Exception
tearDown
in class FoodMartTestCase
Exception
public TestContext getTestContext()
FoodMartTestCase
getTestContext
in class FoodMartTestCase
public void setTestContext(TestContext testContext)
public void testBugMondrian584EnumOrder()
public void testBugCantRestrictSlicerToCalcMember() throws Exception
Exception
public void testAnalyzerPerformanceIssue()
public void testBug1961163() throws Exception
Exception
public void testTopCountWithCalcMemberInSlicer()
public void testTopCountCacheKeyMustIncludeCount()
public void testStrMeasure()
public void testBug1515302()
public void testVirtualCube()
public void testVirtualCubeMembers() throws Exception
Exception
public void testNativeCJWithRedundantSetBraces()
public void testExpandAllNonNativeInputs()
public void testExpandOneNonNativeInput()
public void testExpandNonNativeResourceLimitFailure()
public void testExpandAllMembersInAllInputs()
public void testExpandCalcMembersInAllInputs()
public void testExpandCalcMemberInputNECJ()
public void testExpandCalcMembers()
testCjEnumCalcMembersBug()
test.
public void testExpandNestedNonNativeInputs()
public void testExpandLowMaxConstraints()
public void testExpandDifferentLevels()
public void testExpandTupleInputs1()
public void testExpandTupleInputs2()
public void testExpandWithOneEmptyInput()
public void testExpandWithTwoEmptyInputs()
public void testEnumLowMaxConstraints()
public void testAllMembersNECJ1()
public void testAllMembersNECJ2()
public void testAllLevelMembers()
public void testCjDescendantsEnumAllOnly()
public void testResultIsModifyableCopy()
public void testNativeTopCount()
public void testCmNativeTopCount()
public void testMeasureAndAggregateInSlicer()
public void testMeasureInSlicer()
public void testCmInTopCount()
public void testCmInSlicer()
public void testCjMembersMembersMembers()
public void testCjMembersWithHideIfBlankLeafAndNoAll()
public void testCjMembersWithHideIfBlankLeaf()
public void testCjMembersWithHideIfParentsNameLeaf()
public void testCjMembersWithHideIfBlankNameAncestor()
public void testCjMembersWithHideIfParentsNameAncestor()
public void testCjEnumWithHideIfBlankLeaf()
public void testCjEnumEnum()
public void testCjNullInEnum()
public void testCjDescendantsEnumAll()
public void testCjDescendantsEnum()
public void testCjEnumChildren()
public void testCjEnumDifferentLevelsChildren()
public void testCjDescendantsMembers()
public void testCjMembersDescendants()
public void testCjMembersDescendantsWithNumericArgument()
public void testCjChildrenMembers()
public void testCjMembersChildren()
public void testCjMembersMembers()
public void testCjChildrenChildren()
public void testMultiLevelMemberConstraintNonNullParent()
public void testMultiLevelMemberConstraintNullParent()
public void testMultiLevelMemberConstraintMixedNullNonNullParent()
public void testMultiLevelMemberConstraintWithMixedNullNonNullChild()
public void testNonEmptyUnionQuery()
public void testLookupMemberCache()
public void testLookupMember()
public void testNonEmptyCrossJoinList()
public void testLookupMember2()
public void testCalcMemberWithNonEmptyCrossJoin()
public void testLevelMembers()
public void testLevelMembersWithoutNonEmpty()
public void testDimensionMembers()
public void testMemberChildrenOfRolapMember()
public void testMemberChildrenOfAllMember()
public void testMemberChildrenNoWhere()
public void testMemberChildrenNameCol()
public void testCrossjoin()
CrossJoin({[member from left hierarchy]}, [member to
expand].Children)
This should behave the same as if [member from left
hierarchy]
was put into the slicer.
public void testNonEmptyDescendants()
public void testBug1412384()
public void testVirtualCubeCrossJoin()
public void testVirtualCubeNonEmptyCrossJoin()
public void testVirtualCubeNonEmptyCrossJoin3Args()
public void testNotNativeVirtualCubeCrossJoin1()
public void testNotNativeVirtualCubeCrossJoin2()
public void testNotNativeVirtualCubeCrossJoinUnsupported()
public void testVirtualCubeCrossJoinCalculatedMember1()
public void testVirtualCubeCrossJoinCalculatedMember2()
public void testNotNativeVirtualCubeCrossJoinCalculatedMember()
public void testCjEnumCalcMembers()
public void testCjEnumCalcMembersBug()
public void testCjEnumEmptyCalcMembers()
public void testCjUnionEnumCalcMembers()
public void testNonEmptyWithWeirdDefaultMember()
public void testCrossJoinNamedSets1()
public void testCrossJoinNamedSets2()
public void testCrossJoinSetWithDifferentParents()
public void testCrossJoinSetWithCrossProdMembers()
public void testCrossJoinSetWithSameParent()
public void testCrossJoinSetWithUniqueLevel()
public void testCrossJoinMultiInExprAllMember()
public void testCrossJoinEvaluatorContext1()
public void testCrossJoinEvaluatorContext2()
public void testVCNativeCJWithIsEmptyOnMeasure()
public void testVCNativeCJWithTopPercent()
public void testVCOrdinalExpression()
public void testNonEmptyWithCalcMeasure()
public void testCalculatedSlicerMember()
public void testIndependentSlicerMemberNonNative()
public void testIndependentSlicerMemberNative()
public void testDependentSlicerMemberNonNative()
public void testDependentSlicerMemberNative()
public void testBug1791609NonEmptyCrossJoinEliminatesCalcMember()
public void testNonEmptyLevelMembers()
native
is enabled.
Testcase for bug
1722959, "NON EMPTY Level.MEMBERS fails if nonempty.enable=false"
public void testNonEmptyResults()
public void testBugMondrian412()
public void testNonEmpyOnVirtualCubeWithNonJoiningDimension()
public void testNonEmptyOnNonJoiningValidMeasure()
public void testCrossjoinWithTwoDimensionsJoiningToOppositeBaseCubes()
public void testCrossjoinWithOneDimensionThatDoesNotJoinToBothBaseCubes()
public void testLeafMembersOfParentChildDimensionAreNativelyEvaluated()
public void testNonLeafMembersOfPCDimensionAreNotNativelyEvaluated()
public void testNativeWithOverriddenNullMemberRepAndNullConstraint()
public void testBugMondrian321()
public void testNativeCrossjoinWillConstrainUsingArgsFromAllAxes()
public void testLevelMembersWillConstrainUsingArgsFromAllAxes()
public void testNativeCrossjoinWillExpandFirstLastChild()
public void testNativeCrossjoinWillExpandLagInNamedSet()
public void testConstrainedMeasureGetsOptimized()
public void testNestedMeasureConstraintsGetOptimized()
public void testNonUniformNestedMeasureConstraintsGetOptimized()
public void testNonUniformConstraintsAreNotUsedForOptimization()
public void testMeasureConstraintsInACrossjoinHaveCorrectResults()
public void testContextAtAllWorksWithConstraint()
public void testCalculatedDefaultMeasureOnVirtualCubeNoThrowException()
public void testExpandNonNativeWithEnableNativeCrossJoin()
public void testNonEmptyCJWithMultiPositionSlicer()
void clearAndHardenCache(MemberCacheHelper helper)
SmartMemberReader getSmartMemberReader(String hierName)
SmartMemberReader getSmartMemberReader(Connection con, String hierName)
SmartMemberReader getSharedSmartMemberReader(String hierName)
SmartMemberReader getSharedSmartMemberReader(Connection con, String hierName)
RolapEvaluator getEvaluator(Result res, int[] pos)
public void testFilterChildlessSnowflakeMembers2()
public void testFilterChildlessSnowflakeMembers()
public void testBugMondrian897DoubleNamedSetDefinitions()
public void testMondrian1133()
RolapNativeFilter would force the join to the fact table. Some queries don't need to be joined to it and gain in performance.
public void testMondrian1133WithAggs()
RolapNativeFilter would force the join to the fact table. Some queries don't need to be joined to it and gain in performance.
This one is for agg tables turned on.
|
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |