Class VolcanoPlannerTest

  • public class VolcanoPlannerTest
    extends java.lang.Object
    Unit test for the optimizer.
    • Constructor Detail

      • VolcanoPlannerTest

        public VolcanoPlannerTest()
    • Method Detail

      • testTransformLeaf

        public void testTransformLeaf()
        Tests transformation of a leaf from NONE to PHYS.
      • testTransformSingleGood

        public void testTransformSingleGood()
        Tests transformation of a single+leaf from NONE to PHYS.
      • testMultiInputsParentOpMatching

        public void testMultiInputsParentOpMatching()
      • testSubsetRule

        public void testSubsetRule()
        Tests a rule that is fired once per subset (whereas most rules are fired once per rel in a set or rel in a subset)
      • sort

        private static <E extends java.lang.Comparable> java.util.List<E> sort​(java.util.List<E> list)
      • sort

        private static <E extends java.lang.Comparable> java.util.List<E> sort​(E... es)
      • testTransformSingleReformed

        public void testTransformSingleReformed()
        Tests transformation of a single+leaf from NONE to PHYS. In the past, this one didn't work due to the definition of ReformedSingleRule.
      • removeTrivialProject

        private void removeTrivialProject​(boolean useRule)
      • testWithRemoveTrivialProject

        public void testWithRemoveTrivialProject()
      • testWithoutRemoveTrivialProject

        public void testWithoutRemoveTrivialProject()
      • testRemoveSingleReformed

        public void testRemoveSingleReformed()
        Previously, this didn't work because ReformedRemoveSingleRule uses a pattern which spans calling conventions.
      • testRemoveSingleGood

        public void testRemoveSingleGood()
        This always worked (in contrast to testRemoveSingleReformed) because it uses a completely-physical pattern (requiring GoodSingleRule to fire first).
      • testMergeJoin

        public void testMergeJoin()
      • testListener

        public void testListener()
        Tests whether planner correctly notifies listeners of events.
      • checkEvent

        private void checkEvent​(java.util.List<org.apache.calcite.plan.RelOptListener.RelEvent> eventList,
                                int iEvent,
                                java.lang.Class expectedEventClass,
                                org.apache.calcite.rel.RelNode expectedRel,
                                java.lang.Class<? extends org.apache.calcite.plan.RelOptRule> expectedRuleClass)