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

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

本文整理了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:

  1. final Hook.Closeable closeable = Hook.FOO.add(HANDLER);
  2. try {
  3. ...
  4. } finally {
  5. closeable.close();
  6. }

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

  1. final Hook.Closeable closeable = Hook.FOO.add(HANDLER);
  2. try {
  3. ...
  4. } finally {
  5. closeable.close();
  6. }

代码示例

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

  1. @Override
  2. public void evaluate() throws Throwable
  3. {
  4. clearRecordedQueries();
  5. final Consumer<Object> function = query -> {
  6. try {
  7. recordedQueries.add((Query) query);
  8. log.info(
  9. "Issued query: %s",
  10. objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(query)
  11. );
  12. }
  13. catch (Exception e) {
  14. log.warn(e, "Failed to serialize query: %s", query);
  15. }
  16. };
  17. try (final Hook.Closeable unhook = Hook.QUERY_PLAN.add(function)) {
  18. base.evaluate();
  19. }
  20. }
  21. };

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

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

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

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

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

  1. public static synchronized void addHook() {
  2. if (globalProgramClosable == null) {
  3. globalProgramClosable = Hook.PROGRAM.add(program());
  4. }
  5. }

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

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

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

  1. public RelRoot toRel(final SqlNode validatedNode) {
  2. if (planner == null) {
  3. planner = new VolcanoPlanner(costFactory, settings);
  4. planner.setExecutor(new DrillConstExecutor(functions, util, settings));
  5. planner.clearRelTraitDefs();
  6. planner.addRelTraitDef(ConventionTraitDef.INSTANCE);
  7. planner.addRelTraitDef(DrillDistributionTraitDef.INSTANCE);
  8. planner.addRelTraitDef(RelCollationTraitDef.INSTANCE);
  9. }
  10. if (cluster == null) {
  11. initCluster();
  12. }
  13. final SqlToRelConverter sqlToRelConverter =
  14. new SqlToRelConverter(new Expander(), validator, catalog, cluster, DrillConvertletTable.INSTANCE,
  15. sqlToRelConverterConfig);
  16. /*
  17. * Sets value to false to avoid simplifying project expressions
  18. * during creating new projects since it may cause changing data mode
  19. * which causes to assertion errors during type validation
  20. */
  21. Hook.REL_BUILDER_SIMPLIFY.add(Hook.propertyJ(false));
  22. //To avoid unexpected column errors set a value of top to false
  23. final RelRoot rel = sqlToRelConverter.convertQuery(validatedNode, false, false);
  24. return rel.withRel(sqlToRelConverter.flattenTypes(rel.rel, true));
  25. }

相关文章