org.apache.calcite.runtime.Hook.add()方法的使用及代码示例

x33g5p2x  于2022-01-20 转载在 其他  
字(3.2k)|赞(0)|评价(0)|浏览(98)

本文整理了Java中org.apache.calcite.runtime.Hook.add()方法的一些代码示例,展示了Hook.add()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Hook.add()方法的具体详情如下:
包路径:org.apache.calcite.runtime.Hook
类名称:Hook
方法名:add

Hook.add介绍

[英]Adds a handler for this Hook.

Returns a Hook.Closeable so that you can use the following try-finally pattern to prevent leaks:

final Hook.Closeable closeable = Hook.FOO.add(HANDLER); 
try { 
... 
} finally { 
closeable.close(); 
}

[中]为这个钩子添加一个处理程序。
返回一个钩子。可关闭,以便您可以使用以下“最后一次尝试”模式来防止泄漏:

final Hook.Closeable closeable = Hook.FOO.add(HANDLER); 
try { 
... 
} finally { 
closeable.close(); 
}

代码示例

代码示例来源:origin: apache/incubator-druid

@Override
 public void evaluate() throws Throwable
 {
  clearRecordedQueries();
  final Consumer<Object> function = query -> {
   try {
    recordedQueries.add((Query) query);
    log.info(
      "Issued query: %s",
      objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(query)
    );
   }
   catch (Exception e) {
    log.warn(e, "Failed to serialize query: %s", query);
   }
  };
  try (final Hook.Closeable unhook = Hook.QUERY_PLAN.add(function)) {
   base.evaluate();
  }
 }
};

代码示例来源:origin: org.apache.calcite/calcite-core

/** @deprecated Use {@link #add(Consumer)}. */
@SuppressWarnings("Guava")
@Deprecated // to be removed in 2.0
public <T, R> Closeable add(final Function<T, R> handler) {
 return add((Consumer<T>) handler::apply);
}

代码示例来源:origin: Qihoo360/Quicksql

/** @deprecated Use {@link #add(Consumer)}. */
@SuppressWarnings("Guava")
@Deprecated // to be removed in 2.0
public <T, R> Closeable add(final Function<T, R> handler) {
 return add((Consumer<T>) handler::apply);
}

代码示例来源:origin: tzolov/calcite-sql-rewriter

public static synchronized void addHook() {
  if (globalProgramClosable == null) {
    globalProgramClosable = Hook.PROGRAM.add(program());
  }
}

代码示例来源:origin: org.apache.calcite/calcite-core

@Test public <T> void testReduceCaseNullabilityChange() throws Exception {
 HepProgram program = new HepProgramBuilder()
   .addRuleInstance(ReduceExpressionsRule.FILTER_INSTANCE)
   .addRuleInstance(ReduceExpressionsRule.PROJECT_INSTANCE)
   .build();
 try (Hook.Closeable a = Hook.REL_BUILDER_SIMPLIFY.add(Hook.propertyJ(false))) {
  checkPlanning(program,
    "select case when empno = 1 then 1 when 1 IS NOT NULL then 2 else null end as qx "
      + "from emp");
 }
}

代码示例来源:origin: org.apache.drill.exec/drill-java-exec

public RelRoot toRel(final SqlNode validatedNode) {
 if (planner == null) {
  planner = new VolcanoPlanner(costFactory, settings);
  planner.setExecutor(new DrillConstExecutor(functions, util, settings));
  planner.clearRelTraitDefs();
  planner.addRelTraitDef(ConventionTraitDef.INSTANCE);
  planner.addRelTraitDef(DrillDistributionTraitDef.INSTANCE);
  planner.addRelTraitDef(RelCollationTraitDef.INSTANCE);
 }
 if (cluster == null) {
  initCluster();
 }
 final SqlToRelConverter sqlToRelConverter =
   new SqlToRelConverter(new Expander(), validator, catalog, cluster, DrillConvertletTable.INSTANCE,
     sqlToRelConverterConfig);
 /*
  * Sets value to false to avoid simplifying project expressions
  * during creating new projects since it may cause changing data mode
  * which causes to assertion errors during type validation
  */
 Hook.REL_BUILDER_SIMPLIFY.add(Hook.propertyJ(false));
 //To avoid unexpected column errors set a value of top to false
 final RelRoot rel = sqlToRelConverter.convertQuery(validatedNode, false, false);
 return rel.withRel(sqlToRelConverter.flattenTypes(rel.rel, true));
}

相关文章

微信公众号

最新文章

更多