本文整理汇总了Java中org.apache.calcite.rel.rules.FilterAggregateTransposeRule类的典型用法代码示例。如果您正苦于以下问题:Java FilterAggregateTransposeRule类的具体用法?Java FilterAggregateTransposeRule怎么用?Java FilterAggregateTransposeRule使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
FilterAggregateTransposeRule类属于org.apache.calcite.rel.rules包,在下文中一共展示了FilterAggregateTransposeRule类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: getVolcanoPlanner
import org.apache.calcite.rel.rules.FilterAggregateTransposeRule; //导入依赖的package包/类
private RelOptPlanner getVolcanoPlanner(RelNode root) {
final RelBuilderFactory builderFactory =
RelBuilder.proto(PigRelFactories.ALL_PIG_REL_FACTORIES);
final RelOptPlanner planner = root.getCluster().getPlanner(); // VolcanoPlanner
for (RelOptRule r : PigRules.ALL_PIG_OPT_RULES) {
planner.addRule(r);
}
planner.removeRule(FilterAggregateTransposeRule.INSTANCE);
planner.removeRule(FilterJoinRule.FILTER_ON_JOIN);
planner.addRule(
new FilterAggregateTransposeRule(PigFilter.class, builderFactory, PigAggregate.class));
planner.addRule(new FilterIntoJoinRule(true, builderFactory, TRUE_PREDICATE));
planner.setRoot(root);
return planner;
}
开发者ID:apache,项目名称:calcite,代码行数:16,代码来源:PigRelBuilderStyleTest.java
示例2: basePushFilterPastAggWithGroupingSets
import org.apache.calcite.rel.rules.FilterAggregateTransposeRule; //导入依赖的package包/类
private void basePushFilterPastAggWithGroupingSets(boolean unchanged)
throws Exception {
final HepProgram preProgram =
HepProgram.builder()
.addRuleInstance(ProjectMergeRule.INSTANCE)
.addRuleInstance(FilterProjectTransposeRule.INSTANCE)
.build();
final HepProgram program =
HepProgram.builder()
.addRuleInstance(FilterAggregateTransposeRule.INSTANCE)
.build();
checkPlanning(tester, preProgram, new HepPlanner(program), "${sql}",
unchanged);
}
开发者ID:apache,项目名称:calcite,代码行数:15,代码来源:RelOptRulesTest.java
示例3: testPushFilterPastAggTwo
import org.apache.calcite.rel.rules.FilterAggregateTransposeRule; //导入依赖的package包/类
/** Test case for
* <a href="https://issues.apache.org/jira/browse/CALCITE-434">[CALCITE-434]
* FilterAggregateTransposeRule loses conditions that cannot be pushed</a>. */
@Test public void testPushFilterPastAggTwo() {
checkPlanning(FilterAggregateTransposeRule.INSTANCE,
"select dept1.c1 from (\n"
+ " select dept.name as c1, count(*) as c2\n"
+ " from dept where dept.name > 'b' group by dept.name) dept1\n"
+ "where dept1.c1 > 'c' and (dept1.c2 > 30 or dept1.c1 < 'z')");
}
开发者ID:apache,项目名称:calcite,代码行数:11,代码来源:RelOptRulesTest.java
示例4: testPushFilterPastAggThree
import org.apache.calcite.rel.rules.FilterAggregateTransposeRule; //导入依赖的package包/类
/** Test case for
* <a href="https://issues.apache.org/jira/browse/CALCITE-799">[CALCITE-799]
* Incorrect result for {@code HAVING count(*) > 1}</a>. */
@Test public void testPushFilterPastAggThree() {
final HepProgram program =
HepProgram.builder()
.addRuleInstance(FilterAggregateTransposeRule.INSTANCE)
.build();
final String sql = "select deptno from emp\n"
+ "group by deptno having count(*) > 1";
checkPlanUnchanged(new HepPlanner(program), sql);
}
开发者ID:apache,项目名称:calcite,代码行数:13,代码来源:RelOptRulesTest.java
示例5: testPushFilterPastAggFour
import org.apache.calcite.rel.rules.FilterAggregateTransposeRule; //导入依赖的package包/类
/** Test case for
* <a href="https://issues.apache.org/jira/browse/CALCITE-1109">[CALCITE-1109]
* FilterAggregateTransposeRule pushes down incorrect condition</a>. */
@Test public void testPushFilterPastAggFour() {
final HepProgram preProgram =
HepProgram.builder()
.addRuleInstance(AggregateProjectMergeRule.INSTANCE)
.addRuleInstance(AggregateFilterTransposeRule.INSTANCE)
.build();
final HepProgram program =
HepProgram.builder()
.addRuleInstance(FilterAggregateTransposeRule.INSTANCE)
.build();
checkPlanning(tester, preProgram, new HepPlanner(program),
"select emp.deptno, count(*) from emp where emp.sal > '12' "
+ "group by emp.deptno\n", false);
}
开发者ID:apache,项目名称:calcite,代码行数:18,代码来源:RelOptRulesTest.java
示例6: testPushFilterPastAgg
import org.apache.calcite.rel.rules.FilterAggregateTransposeRule; //导入依赖的package包/类
@Test public void testPushFilterPastAgg() {
checkPlanning(FilterAggregateTransposeRule.INSTANCE,
"select dname, c from"
+ " (select name dname, count(*) as c from dept group by name) t"
+ " where dname = 'Charlie'");
}
开发者ID:apache,项目名称:calcite,代码行数:7,代码来源:RelOptRulesTest.java
注:本文中的org.apache.calcite.rel.rules.FilterAggregateTransposeRule类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论