• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java FilterAggregateTransposeRule类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了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;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java CatalanAnalyzer类代码示例发布时间:2022-05-22
下一篇:
Java TridentTuple类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap