Package org.apache.calcite.test
Class RelOptTestBase
- java.lang.Object
-
- org.apache.calcite.test.SqlToRelTestBase
-
- org.apache.calcite.test.RelOptTestBase
-
- Direct Known Subclasses:
HepPlannerTest
,RelOptRulesTest
abstract class RelOptTestBase extends SqlToRelTestBase
RelOptTestBase is an abstract base for tests which exercise a planner and/or rules viaDiffRepository
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
RelOptTestBase.Sql
Allows fluent testing.-
Nested classes/interfaces inherited from class org.apache.calcite.test.SqlToRelTestBase
SqlToRelTestBase.MockRelOptSchema, SqlToRelTestBase.Tester, SqlToRelTestBase.TesterImpl
-
-
Field Summary
-
Fields inherited from class org.apache.calcite.test.SqlToRelTestBase
NL, tester
-
-
Constructor Summary
Constructors Constructor Description RelOptTestBase()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
checkPlanning(org.apache.calcite.plan.hep.HepProgram program, java.lang.String sql)
Checks the plan for a SQL statement before/after executing a given program.protected void
checkPlanning(org.apache.calcite.plan.RelOptPlanner planner, java.lang.String sql)
Checks the plan for a SQL statement before/after executing a given planner.protected void
checkPlanning(org.apache.calcite.plan.RelOptRule rule, java.lang.String sql)
Checks the plan for a SQL statement before/after executing a given rule.protected void
checkPlanning(SqlToRelTestBase.Tester tester, org.apache.calcite.plan.hep.HepProgram preProgram, org.apache.calcite.plan.RelOptPlanner planner, java.lang.String sql)
Checks the plan for a SQL statement before/after executing a given rule, with a pre-program to prepare the tree.protected void
checkPlanning(SqlToRelTestBase.Tester tester, org.apache.calcite.plan.hep.HepProgram preProgram, org.apache.calcite.plan.RelOptPlanner planner, java.lang.String sql, boolean unchanged)
Checks the plan for a SQL statement before/after executing a given rule, with a pre-program to prepare the tree.protected void
checkPlanningDynamic(java.lang.String sql)
Checks the plan for a SQL statement before/after executing a given rule.protected void
checkPlanningDynamic(org.apache.calcite.plan.RelOptRule rule, java.lang.String sql)
Checks the plan for a SQL statement before/after executing a given rule.protected void
checkPlanUnchanged(org.apache.calcite.plan.RelOptPlanner planner, java.lang.String sql)
Checks that the plan is the same before and after executing a given planner.protected SqlToRelTestBase.Tester
createDynamicTester()
protected SqlToRelTestBase.Tester
createTester()
(package private) RelOptTestBase.Sql
sql(java.lang.String sql)
Sets the SQL statement for a test.-
Methods inherited from class org.apache.calcite.test.SqlToRelTestBase
assertValid, createTester, getDiffRepos, getTesterWithDynamicTable
-
-
-
-
Method Detail
-
createTester
protected SqlToRelTestBase.Tester createTester()
- Overrides:
createTester
in classSqlToRelTestBase
-
createDynamicTester
protected SqlToRelTestBase.Tester createDynamicTester()
-
checkPlanning
protected void checkPlanning(org.apache.calcite.plan.RelOptRule rule, java.lang.String sql)
Checks the plan for a SQL statement before/after executing a given rule.- Parameters:
rule
- Planner rulesql
- SQL query
-
checkPlanningDynamic
protected void checkPlanningDynamic(org.apache.calcite.plan.RelOptRule rule, java.lang.String sql)
Checks the plan for a SQL statement before/after executing a given rule.- Parameters:
rule
- Planner rulesql
- SQL query
-
checkPlanningDynamic
protected void checkPlanningDynamic(java.lang.String sql)
Checks the plan for a SQL statement before/after executing a given rule.- Parameters:
sql
- SQL query
-
checkPlanning
protected void checkPlanning(org.apache.calcite.plan.hep.HepProgram program, java.lang.String sql)
Checks the plan for a SQL statement before/after executing a given program.- Parameters:
program
- Planner programsql
- SQL query
-
checkPlanning
protected void checkPlanning(org.apache.calcite.plan.RelOptPlanner planner, java.lang.String sql)
Checks the plan for a SQL statement before/after executing a given planner.- Parameters:
planner
- Plannersql
- SQL query
-
checkPlanUnchanged
protected void checkPlanUnchanged(org.apache.calcite.plan.RelOptPlanner planner, java.lang.String sql)
Checks that the plan is the same before and after executing a given planner. Useful for checking circumstances where rules should not fire.- Parameters:
planner
- Plannersql
- SQL query
-
checkPlanning
protected void checkPlanning(SqlToRelTestBase.Tester tester, org.apache.calcite.plan.hep.HepProgram preProgram, org.apache.calcite.plan.RelOptPlanner planner, java.lang.String sql)
Checks the plan for a SQL statement before/after executing a given rule, with a pre-program to prepare the tree.- Parameters:
tester
- TesterpreProgram
- Program to execute before comparing before stateplanner
- Plannersql
- SQL query
-
checkPlanning
protected void checkPlanning(SqlToRelTestBase.Tester tester, org.apache.calcite.plan.hep.HepProgram preProgram, org.apache.calcite.plan.RelOptPlanner planner, java.lang.String sql, boolean unchanged)
Checks the plan for a SQL statement before/after executing a given rule, with a pre-program to prepare the tree.- Parameters:
tester
- TesterpreProgram
- Program to execute before comparing before stateplanner
- Plannersql
- SQL queryunchanged
- Whether the rule is to have no effect
-
sql
RelOptTestBase.Sql sql(java.lang.String sql)
Sets the SQL statement for a test.
-
-