Package org.apache.calcite.test
Class SqlToRelTestBase
- java.lang.Object
-
- org.apache.calcite.test.SqlToRelTestBase
-
- Direct Known Subclasses:
RelMetadataTest
,RelOptTestBase
,SqlToRelConverterTest
public abstract class SqlToRelTestBase extends java.lang.Object
SqlToRelTestBase is an abstract base for tests which involve conversion from SQL to relational algebra.SQL statements to be translated can use the schema defined in
MockCatalogReader
; note that this is slightly different from Farrago's SALES schema. If you get a parser or validator error from your test SQL, look down in the stack until you see "Caused by", which will usually tell you the real error.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
SqlToRelTestBase.DelegatingRelOptTable
Table that delegates to a given table.private static class
SqlToRelTestBase.FarragoTestValidator
Validator for testing.protected static class
SqlToRelTestBase.MockRelOptSchema
Mock implementation ofRelOptSchema
.static interface
SqlToRelTestBase.Tester
Helper class which contains default implementations of methods used for running sql-to-rel conversion tests.static class
SqlToRelTestBase.TesterImpl
Default implementation ofSqlToRelTestBase.Tester
, using mock classesSqlToRelTestBase.MockRelOptSchema
andMockRelOptPlanner
.
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.String
NL
protected SqlToRelTestBase.Tester
tester
-
Constructor Summary
Constructors Constructor Description SqlToRelTestBase()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static void
assertValid(org.apache.calcite.rel.RelNode rel)
Checks that every node of a relational expression is valid.protected SqlToRelTestBase.Tester
createTester()
protected SqlToRelTestBase.Tester
createTester(org.apache.calcite.sql.validate.SqlConformance conformance)
protected DiffRepository
getDiffRepos()
Returns the default diff repository for this test, or null if there is no repository.protected SqlToRelTestBase.Tester
getTesterWithDynamicTable()
-
-
-
Field Detail
-
NL
protected static final java.lang.String NL
-
tester
protected final SqlToRelTestBase.Tester tester
-
-
Method Detail
-
createTester
protected SqlToRelTestBase.Tester createTester()
-
createTester
protected SqlToRelTestBase.Tester createTester(org.apache.calcite.sql.validate.SqlConformance conformance)
-
getTesterWithDynamicTable
protected SqlToRelTestBase.Tester getTesterWithDynamicTable()
-
getDiffRepos
protected DiffRepository getDiffRepos()
Returns the default diff repository for this test, or null if there is no repository.The default implementation returns null.
Sub-classes that want to use a diff repository can override. Sub-sub-classes can override again, inheriting test cases and overriding selected test results.
And individual test cases can override by providing a different tester object.
- Returns:
- Diff repository
-
assertValid
public static void assertValid(org.apache.calcite.rel.RelNode rel)
Checks that every node of a relational expression is valid.- Parameters:
rel
- Relational expression
-
-