org.apache.calcite.runtime.Hook类的使用及代码示例

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

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

Hook介绍

[英]Collection of hooks that can be set by observers and are executed at various parts of the query preparation process.

For testing and debugging rather than for end-users.
[中]可以由观察者设置并在查询准备过程的各个部分执行的钩子集合。
用于测试和调试,而不是用于最终用户。

代码示例

代码示例来源:origin: apache/storm

  1. /**
  2. * StormDataContext Constructor.
  3. */
  4. public StormDataContext() {
  5. // Store the time at which the query started executing. The SQL
  6. // standard says that functions such as CURRENT_TIMESTAMP return the
  7. // same value throughout the query.
  8. final Holder<Long> timeHolder = Holder.of(System.currentTimeMillis());
  9. // Give a hook chance to alter the clock.
  10. Hook.CURRENT_TIME.run(timeHolder);
  11. final long time = timeHolder.get();
  12. final TimeZone timeZone = Calendar.getInstance().getTimeZone();
  13. final long localOffset = timeZone.getOffset(time);
  14. final long currentOffset = localOffset;
  15. ImmutableMap.Builder<Object, Object> builder = ImmutableMap.builder();
  16. builder.put(Variable.UTC_TIMESTAMP.camelName, time)
  17. .put(Variable.CURRENT_TIMESTAMP.camelName, time + currentOffset)
  18. .put(Variable.LOCAL_TIMESTAMP.camelName, time + localOffset)
  19. .put(Variable.TIME_ZONE.camelName, timeZone);
  20. map = builder.build();
  21. }

代码示例来源: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: Qihoo360/Quicksql

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

代码示例来源: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: Qihoo360/Quicksql

  1. final boolean b = value instanceof Boolean
  2. && (Boolean) value;
  3. closer.add(Hook.ENABLE_BINDABLE.addThread(Hook.propertyJ(b)));

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

  1. /** Adds a property hook. */
  2. public <V> AssertQuery withProperty(Hook hook, V value) {
  3. return withHook(hook, Hook.propertyJ(value));
  4. }

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

  1. if (Hook.ENABLE_BINDABLE.get(false)) {
  2. return LogicalTableScan.create(cluster, this);

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

  1. /** Adds a handler for this thread. */
  2. public <T> Closeable addThread(final Consumer<T> handler) {
  3. //noinspection unchecked
  4. threadHandlers.get().add((Consumer<Object>) handler);
  5. return () -> removeThread(handler);
  6. }

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

  1. /** Adds a handler for this Hook.
  2. *
  3. * <p>Returns a {@link Hook.Closeable} so that you can use the following
  4. * try-finally pattern to prevent leaks:</p>
  5. *
  6. * <blockquote><pre>
  7. * final Hook.Closeable closeable = Hook.FOO.add(HANDLER);
  8. * try {
  9. * ...
  10. * } finally {
  11. * closeable.close();
  12. * }</pre>
  13. * </blockquote>
  14. */
  15. public <T> Closeable add(final Consumer<T> handler) {
  16. //noinspection unchecked
  17. handlers.add((Consumer<Object>) handler);
  18. return () -> remove(handler);
  19. }

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

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

代码示例来源: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. }

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

  1. final boolean b = value instanceof Boolean
  2. && (Boolean) value;
  3. closer.add(Hook.ENABLE_BINDABLE.addThread(Hook.propertyJ(b)));

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

  1. /** Adds a property hook. */
  2. public <V> AssertQuery withProperty(Hook hook, V value) {
  3. return withHook(hook, Hook.propertyJ(value));
  4. }

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

  1. if (Hook.ENABLE_BINDABLE.get(false)) {
  2. return LogicalTableScan.create(cluster, this);

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

  1. /** Adds a handler for this thread. */
  2. public <T> Closeable addThread(final Consumer<T> handler) {
  3. //noinspection unchecked
  4. threadHandlers.get().add((Consumer<Object>) handler);
  5. return () -> removeThread(handler);
  6. }

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

  1. /** Adds a handler for this Hook.
  2. *
  3. * <p>Returns a {@link Hook.Closeable} so that you can use the following
  4. * try-finally pattern to prevent leaks:</p>
  5. *
  6. * <blockquote><pre>
  7. * final Hook.Closeable closeable = Hook.FOO.add(HANDLER);
  8. * try {
  9. * ...
  10. * } finally {
  11. * closeable.close();
  12. * }</pre>
  13. * </blockquote>
  14. */
  15. public <T> Closeable add(final Consumer<T> handler) {
  16. //noinspection unchecked
  17. handlers.add((Consumer<Object>) handler);
  18. return () -> remove(handler);
  19. }

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

  1. @SuppressWarnings("unchecked")
  2. private <T> Sequence<T> runQuery(Query<T> query)
  3. {
  4. Hook.QUERY_PLAN.run(query);
  5. final String queryId = UUID.randomUUID().toString();
  6. plannerContext.addNativeQueryId(queryId);
  7. query = query.withId(queryId)
  8. .withSqlQueryId(plannerContext.getSqlQueryId());
  9. final AuthenticationResult authenticationResult = plannerContext.getAuthenticationResult();
  10. return queryLifecycleFactory.factorize().runSimple(query, authenticationResult, null);
  11. }

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

  1. @Before public void before() {
  2. this.closeable =
  3. Hook.CONVERTED.addThread(SqlToRelConverterExtendedTest::foo);
  4. }

代码示例来源: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: org.apache.calcite/calcite-core

  1. public <V> Sql withProperty(Hook hook, V value) {
  2. return withHook(hook, Hook.propertyJ(value));
  3. }

相关文章