public class RelMetadataFixture extends Object
| 限定符和类型 | 类和说明 |
|---|---|
static class |
RelMetadataFixture.MetadataConfig
A configuration that describes how metadata should be configured.
|
| 限定符和类型 | 字段和说明 |
|---|---|
boolean |
convertAsCalc |
static RelMetadataFixture |
DEFAULT
Default fixture.
|
SqlTestFactory |
factory |
RelMetadataFixture.MetadataConfig |
metadataConfig |
org.apache.calcite.test.RelSupplier |
relSupplier |
UnaryOperator<org.apache.calcite.rel.RelNode> |
relTransform |
SqlTester |
tester |
| 限定符和类型 | 方法和说明 |
|---|---|
RelMetadataFixture |
assertColumnOriginDouble(String expectedTableName1,
String expectedColumnName1,
String expectedTableName2,
String expectedColumnName2,
boolean expectedDerived)
Checks that
RelMetadataQuery.getColumnOrigins(RelNode, int)
for column 0 returns two origins. |
RelMetadataFixture |
assertColumnOriginIsEmpty()
Checks that
RelMetadataQuery.getColumnOrigins(RelNode, int)
for column 0 returns no origins. |
RelMetadataFixture |
assertColumnOriginSingle(String expectedTableName,
String expectedColumnName,
boolean expectedDerived)
Checks that
RelMetadataQuery.getColumnOrigins(RelNode, int)
for column 0 returns one origin. |
RelMetadataFixture |
assertCpuCost(org.hamcrest.Matcher<Double> matcher,
String reason)
Checks the CPU component of
RelNode.computeSelfCost(RelOptPlanner, RelMetadataQuery). |
RelMetadataFixture |
assertPercentageOriginalRows(org.hamcrest.Matcher<Double> matcher)
Checks
RelMetadataQuery.getPercentageOriginalRows(RelNode). |
RelMetadataFixture |
assertRowsUnique(boolean ignoreNulls,
org.hamcrest.Matcher<Boolean> matcher,
String reason)
Checks
RelMetadataQuery.areRowsUnique(RelNode). |
RelMetadataFixture |
assertRowsUnique(org.hamcrest.Matcher<Boolean> matcher,
String reason)
Checks
RelMetadataQuery.areRowsUnique(RelNode) for all
values of ignoreNulls. |
RelMetadataFixture |
assertThatAreColumnsUnique(Function<org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet> columnsFn,
UnaryOperator<org.apache.calcite.rel.RelNode> relFn,
org.hamcrest.Matcher<Boolean> matcher)
Checks
RelMetadataQuery.areColumnsUnique(RelNode, ImmutableBitSet),
deriving parameters via functions. |
RelMetadataFixture |
assertThatAreColumnsUnique(org.apache.calcite.util.ImmutableBitSet columns,
org.hamcrest.Matcher<Boolean> matcher)
Checks
RelMetadataQuery.areColumnsUnique(RelNode, ImmutableBitSet). |
RelMetadataFixture |
assertThatAreRowsUnique(org.hamcrest.Matcher<Boolean> matcher)
Checks
RelMetadataQuery.areRowsUnique(RelNode). |
RelMetadataFixture |
assertThatDistinctRowCount(Function<org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet> groupKeyFn,
org.hamcrest.Matcher<Double> matcher)
Checks
RelMetadataQuery.getDistinctRowCount(RelNode, ImmutableBitSet, RexNode)
with a null predicate, deriving the group key from the RelNode. |
RelMetadataFixture |
assertThatDistinctRowCount(org.apache.calcite.util.ImmutableBitSet groupKey,
org.hamcrest.Matcher<Double> matcher)
Checks
RelMetadataQuery.getDistinctRowCount(RelNode, ImmutableBitSet, RexNode)
with a null predicate. |
RelMetadataFixture |
assertThatNodeTypeCount(org.hamcrest.Matcher<Map<Class<? extends org.apache.calcite.rel.RelNode>,Integer>> matcher)
Checks the number of each sub-class of
RelNode,
calling RelMetadataQuery.getNodeTypes(RelNode). |
RelMetadataFixture |
assertThatNodeTypeCountIs(Class<? extends org.apache.calcite.rel.RelNode> k0,
Integer v0,
Object... rest)
Shorthand for a call to
assertThatNodeTypeCount(Matcher)
with a constant map. |
RelMetadataFixture |
assertThatRel(org.hamcrest.Matcher<org.apache.calcite.rel.RelNode> matcher)
Checks the
RelNode produced by toRel(). |
RelMetadataFixture |
assertThatRowCount(org.hamcrest.Matcher<Number> rowCountMatcher,
org.hamcrest.Matcher<Number> minRowCountMatcher,
org.hamcrest.Matcher<Number> maxRowCountMatcher)
Checks
RelMetadataQuery.getRowCount(RelNode),
RelMetadataQuery.getMaxRowCount(RelNode),
and RelMetadataQuery.getMinRowCount(RelNode). |
RelMetadataFixture |
assertThatSelectivity(org.hamcrest.Matcher<Double> matcher)
Checks
RelMetadataQuery.getSelectivity(RelNode, RexNode). |
RelMetadataFixture |
assertThatUniqueKeys(org.hamcrest.Matcher<Iterable<org.apache.calcite.util.ImmutableBitSet>> matcher)
Checks
RelMetadataQuery.getUniqueKeys(RelNode). |
RelMetadataFixture |
assertThatUniqueKeysAre(org.apache.calcite.util.ImmutableBitSet... expectedUniqueKeys)
Checks result of getting unique keys for SQL.
|
RelMetadataFixture |
convertingProjectAsCalc() |
org.apache.calcite.rel.RelNode |
toRel()
|
RelMetadataFixture |
withCatalogReaderFactory(SqlTestFactory.CatalogReaderFactory catalogReaderFactory) |
RelMetadataFixture |
withCluster(UnaryOperator<org.apache.calcite.plan.RelOptCluster> factory) |
RelMetadataFixture |
withFactory(UnaryOperator<SqlTestFactory> transform) |
RelMetadataFixture |
withMetadataConfig(RelMetadataFixture.MetadataConfig metadataConfig) |
RelMetadataFixture |
withRelFn(Function<org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.RelNode> relFn)
Creates a copy of this fixture that uses a given function to create a
RelNode. |
RelMetadataFixture |
withRelTransform(UnaryOperator<org.apache.calcite.rel.RelNode> relTransform) |
RelMetadataFixture |
withSql(String sql)
Creates a copy of this fixture that uses a given SQL query.
|
RelMetadataFixture |
withTester(UnaryOperator<SqlTester> transform) |
public static final RelMetadataFixture DEFAULT
Use this, or call the withXxx methods to make one with the
properties you need. Fixtures are immutable, so whatever your test does
to this fixture, it won't break other tests.
public final SqlTester tester
public final SqlTestFactory factory
public final RelMetadataFixture.MetadataConfig metadataConfig
public final org.apache.calcite.test.RelSupplier relSupplier
public final boolean convertAsCalc
public final UnaryOperator<org.apache.calcite.rel.RelNode> relTransform
public RelMetadataFixture withSql(String sql)
public RelMetadataFixture withRelFn(Function<org.apache.calcite.tools.RelBuilder,org.apache.calcite.rel.RelNode> relFn)
RelNode.public RelMetadataFixture withFactory(UnaryOperator<SqlTestFactory> transform)
public RelMetadataFixture withTester(UnaryOperator<SqlTester> transform)
public RelMetadataFixture withMetadataConfig(RelMetadataFixture.MetadataConfig metadataConfig)
public RelMetadataFixture convertingProjectAsCalc()
public RelMetadataFixture withCatalogReaderFactory(SqlTestFactory.CatalogReaderFactory catalogReaderFactory)
public RelMetadataFixture withCluster(UnaryOperator<org.apache.calcite.plan.RelOptCluster> factory)
public RelMetadataFixture withRelTransform(UnaryOperator<org.apache.calcite.rel.RelNode> relTransform)
public org.apache.calcite.rel.RelNode toRel()
public RelMetadataFixture assertCpuCost(org.hamcrest.Matcher<Double> matcher, String reason)
RelNode.computeSelfCost(RelOptPlanner, RelMetadataQuery).public RelMetadataFixture assertRowsUnique(org.hamcrest.Matcher<Boolean> matcher, String reason)
RelMetadataQuery.areRowsUnique(RelNode) for all
values of ignoreNulls.public RelMetadataFixture assertRowsUnique(boolean ignoreNulls, org.hamcrest.Matcher<Boolean> matcher, String reason)
RelMetadataQuery.areRowsUnique(RelNode).public RelMetadataFixture assertPercentageOriginalRows(org.hamcrest.Matcher<Double> matcher)
RelMetadataQuery.getPercentageOriginalRows(RelNode).public RelMetadataFixture assertColumnOriginIsEmpty()
RelMetadataQuery.getColumnOrigins(RelNode, int)
for column 0 returns no origins.public RelMetadataFixture assertColumnOriginSingle(String expectedTableName, String expectedColumnName, boolean expectedDerived)
RelMetadataQuery.getColumnOrigins(RelNode, int)
for column 0 returns one origin.public RelMetadataFixture assertColumnOriginDouble(String expectedTableName1, String expectedColumnName1, String expectedTableName2, String expectedColumnName2, boolean expectedDerived)
RelMetadataQuery.getColumnOrigins(RelNode, int)
for column 0 returns two origins.public RelMetadataFixture assertThatUniqueKeysAre(org.apache.calcite.util.ImmutableBitSet... expectedUniqueKeys)
public RelMetadataFixture assertThatRowCount(org.hamcrest.Matcher<Number> rowCountMatcher, org.hamcrest.Matcher<Number> minRowCountMatcher, org.hamcrest.Matcher<Number> maxRowCountMatcher)
RelMetadataQuery.getRowCount(RelNode),
RelMetadataQuery.getMaxRowCount(RelNode),
and RelMetadataQuery.getMinRowCount(RelNode).public RelMetadataFixture assertThatSelectivity(org.hamcrest.Matcher<Double> matcher)
RelMetadataQuery.getSelectivity(RelNode, RexNode).public RelMetadataFixture assertThatDistinctRowCount(org.apache.calcite.util.ImmutableBitSet groupKey, org.hamcrest.Matcher<Double> matcher)
RelMetadataQuery.getDistinctRowCount(RelNode, ImmutableBitSet, RexNode)
with a null predicate.public RelMetadataFixture assertThatDistinctRowCount(Function<org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet> groupKeyFn, org.hamcrest.Matcher<Double> matcher)
RelMetadataQuery.getDistinctRowCount(RelNode, ImmutableBitSet, RexNode)
with a null predicate, deriving the group key from the RelNode.public RelMetadataFixture assertThatRel(org.hamcrest.Matcher<org.apache.calcite.rel.RelNode> matcher)
RelNode produced by toRel().public RelMetadataFixture assertThatNodeTypeCountIs(Class<? extends org.apache.calcite.rel.RelNode> k0, Integer v0, Object... rest)
assertThatNodeTypeCount(Matcher)
with a constant map.public RelMetadataFixture assertThatNodeTypeCount(org.hamcrest.Matcher<Map<Class<? extends org.apache.calcite.rel.RelNode>,Integer>> matcher)
RelNode,
calling RelMetadataQuery.getNodeTypes(RelNode).public RelMetadataFixture assertThatUniqueKeys(org.hamcrest.Matcher<Iterable<org.apache.calcite.util.ImmutableBitSet>> matcher)
RelMetadataQuery.getUniqueKeys(RelNode).public RelMetadataFixture assertThatAreColumnsUnique(org.apache.calcite.util.ImmutableBitSet columns, org.hamcrest.Matcher<Boolean> matcher)
RelMetadataQuery.areColumnsUnique(RelNode, ImmutableBitSet).public RelMetadataFixture assertThatAreColumnsUnique(Function<org.apache.calcite.rel.RelNode,org.apache.calcite.util.ImmutableBitSet> columnsFn, UnaryOperator<org.apache.calcite.rel.RelNode> relFn, org.hamcrest.Matcher<Boolean> matcher)
RelMetadataQuery.areColumnsUnique(RelNode, ImmutableBitSet),
deriving parameters via functions.public RelMetadataFixture assertThatAreRowsUnique(org.hamcrest.Matcher<Boolean> matcher)
RelMetadataQuery.areRowsUnique(RelNode).Copyright © 2012-2023 Apache Software Foundation. All Rights Reserved.