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

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

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

Hook.run介绍

[英]Runs all handlers registered for this Hook, with the given argument.
[中]使用给定参数运行为此挂钩注册的所有处理程序。

代码示例

代码示例来源: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. @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: hortonworks/streamline

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

代码示例来源:origin: org.apache.storm/storm-sql-runtime

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

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

  1. /** Returns the value of a property hook.
  2. * (Property hooks take a {@link Holder} as an argument.) */
  3. public <V> V get(V defaultValue) {
  4. final Holder<V> holder = Holder.of(defaultValue);
  5. run(holder);
  6. return holder.get();
  7. }

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

  1. /** Returns the value of a property hook.
  2. * (Property hooks take a {@link Holder} as an argument.) */
  3. public <V> V get(V defaultValue) {
  4. final Holder<V> holder = Holder.of(defaultValue);
  5. run(holder);
  6. return holder.get();
  7. }

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

  1. DruidQueryNode(Compiler interpreter, DruidQuery query) {
  2. this.query = query;
  3. this.sink = interpreter.sink(query);
  4. this.querySpec = query.getQuerySpec();
  5. Hook.QUERY_PLAN.run(querySpec);
  6. }

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

  1. DruidQueryNode(Compiler interpreter, DruidQuery query) {
  2. this.query = query;
  3. this.sink = interpreter.sink(query);
  4. this.querySpec = query.getQuerySpec();
  5. Hook.QUERY_PLAN.run(querySpec);
  6. }

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

  1. private ElasticsearchJson.Result httpRequest(ObjectNode query) throws IOException {
  2. Objects.requireNonNull(query, "query");
  3. String uri = String.format(Locale.ROOT, "/%s/%s/_search", indexName, typeName);
  4. Hook.QUERY_PLAN.run(query);
  5. final String json = mapper.writeValueAsString(query);
  6. LOGGER.debug("Elasticsearch Query: {}", json);
  7. HttpEntity entity = new StringEntity(json, ContentType.APPLICATION_JSON);
  8. Response response = restClient.performRequest("POST", uri, Collections.emptyMap(), entity);
  9. if (response.getStatusLine().getStatusCode() != HttpStatus.SC_OK) {
  10. final String error = EntityUtils.toString(response.getEntity());
  11. final String message = String.format(Locale.ROOT,
  12. "Error while querying Elastic (on %s/%s) status: %s\nQuery:\n%s\nError:\n%s\n",
  13. response.getHost(), response.getRequestLine(), response.getStatusLine(), query, error);
  14. throw new RuntimeException(message);
  15. }
  16. try (InputStream is = response.getEntity().getContent()) {
  17. return mapper.readValue(is, ElasticsearchJson.Result.class);
  18. }
  19. }

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

  1. public void reduce(RexBuilder rexBuilder, List<RexNode> constExps,
  2. List<RexNode> reducedValues) {
  3. Object[] values;
  4. try {
  5. values = compiledFunction.apply(dataContext);
  6. assert values.length == constExps.size();
  7. final List<Object> valueList = Arrays.asList(values);
  8. for (Pair<RexNode, Object> value : Pair.zip(constExps, valueList)) {
  9. reducedValues.add(
  10. rexBuilder.makeLiteral(value.right, value.left.getType(), true));
  11. }
  12. } catch (RuntimeException e) {
  13. // One or more of the expressions failed.
  14. // Don't reduce any of the expressions.
  15. reducedValues.addAll(constExps);
  16. values = new Object[constExps.size()];
  17. }
  18. Hook.EXPRESSION_REDUCER.run(Pair.of(code, values));
  19. }

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

  1. public void reduce(RexBuilder rexBuilder, List<RexNode> constExps,
  2. List<RexNode> reducedValues) {
  3. Object[] values;
  4. try {
  5. values = compiledFunction.apply(dataContext);
  6. assert values.length == constExps.size();
  7. final List<Object> valueList = Arrays.asList(values);
  8. for (Pair<RexNode, Object> value : Pair.zip(constExps, valueList)) {
  9. reducedValues.add(
  10. rexBuilder.makeLiteral(value.right, value.left.getType(), true));
  11. }
  12. } catch (RuntimeException e) {
  13. // One or more of the expressions failed.
  14. // Don't reduce any of the expressions.
  15. reducedValues.addAll(constExps);
  16. values = new Object[constExps.size()];
  17. }
  18. Hook.EXPRESSION_REDUCER.run(Pair.of(code, values));
  19. }

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

  1. Hook.CURRENT_TIME.run(timeHolder);
  2. final long time = timeHolder.get();
  3. final TimeZone timeZone = connection.getTimeZone();
  4. Hook.STANDARD_STREAMS.run(streamHolder);

代码示例来源:origin: org.apache.druid/druid-sql

  1. @SuppressWarnings("unchecked")
  2. private <T> Sequence<T> runQuery(final Query<T> query)
  3. {
  4. Hook.QUERY_PLAN.run(query);
  5. final AuthenticationResult authenticationResult = plannerContext.getAuthenticationResult();
  6. return queryLifecycleFactory.factorize().runSimple(query, authenticationResult, null);
  7. }

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

  1. protected Program getProgram() {
  2. // Allow a test to override the default program.
  3. final Holder<Program> holder = Holder.of(null);
  4. Hook.PROGRAM.run(holder);
  5. if (holder.get() != null) {
  6. return holder.get();
  7. }
  8. return Programs.standard();
  9. }

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

  1. protected Program getProgram() {
  2. // Allow a test to override the default program.
  3. final Holder<Program> holder = Holder.of(null);
  4. Hook.PROGRAM.run(holder);
  5. if (holder.get() != null) {
  6. return holder.get();
  7. }
  8. return Programs.standard();
  9. }

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

  1. for (Pair<RelNode, List<RelOptMaterialization>> use : materializationUses) {
  2. RelNode rel = use.left;
  3. Hook.SUB.run(rel);
  4. registerImpl(rel, root.set);
  5. if (!latticeUses.isEmpty()) {
  6. RelNode rel = latticeUses.get(0).left;
  7. Hook.SUB.run(rel);
  8. registerImpl(rel, root.set);

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

  1. /** Wraps the SQL string in a
  2. * {@link org.apache.calcite.jdbc.CalcitePrepare.Query} object, giving the
  3. * {@link Hook#STRING_TO_QUERY} hook chance to override. */
  4. private CalcitePrepare.Query<Object> toQuery(
  5. Context context, String sql) {
  6. final Holder<CalcitePrepare.Query<Object>> queryHolder =
  7. Holder.of(CalcitePrepare.Query.of(sql));
  8. final FrameworkConfig config = Frameworks.newConfigBuilder()
  9. .parserConfig(SqlParser.Config.DEFAULT)
  10. .defaultSchema(context.getRootSchema().plus())
  11. .build();
  12. Hook.STRING_TO_QUERY.run(Pair.of(config, queryHolder));
  13. return queryHolder.get();
  14. }

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

  1. /** Wraps the SQL string in a
  2. * {@link org.apache.calcite.jdbc.CalcitePrepare.Query} object, giving the
  3. * {@link Hook#STRING_TO_QUERY} hook chance to override. */
  4. private CalcitePrepare.Query<Object> toQuery(
  5. Context context, String sql) {
  6. final Holder<CalcitePrepare.Query<Object>> queryHolder =
  7. Holder.of(CalcitePrepare.Query.of(sql));
  8. final FrameworkConfig config = Frameworks.newConfigBuilder()
  9. .parserConfig(SqlParser.Config.DEFAULT)
  10. .defaultSchema(context.getRootSchema().plus())
  11. .build();
  12. Hook.STRING_TO_QUERY.run(Pair.of(config, queryHolder));
  13. return queryHolder.get();
  14. }

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

  1. public static Bindable toBindable(Map<String, Object> parameters,
  2. CalcitePrepare.SparkHandler spark, EnumerableRel rel,
  3. EnumerableRel.Prefer prefer) {
  4. EnumerableRelImplementor relImplementor =
  5. new EnumerableRelImplementor(rel.getCluster().getRexBuilder(),
  6. parameters);
  7. final ClassDeclaration expr = relImplementor.implementRoot(rel, prefer);
  8. String s = Expressions.toString(expr.memberDeclarations, "\n", false);
  9. if (CalcitePrepareImpl.DEBUG) {
  10. Util.debugCode(System.out, s);
  11. }
  12. Hook.JAVA_PLAN.run(s);
  13. try {
  14. if (spark != null && spark.enabled()) {
  15. return spark.compile(expr, s);
  16. } else {
  17. return getBindable(expr, s, rel.getRowType().getFieldCount());
  18. }
  19. } catch (Exception e) {
  20. throw Helper.INSTANCE.wrap("Error while compiling generated Java code:\n"
  21. + s, e);
  22. }
  23. }

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

  1. public static Bindable toBindable(Map<String, Object> parameters,
  2. CalcitePrepare.SparkHandler spark, EnumerableRel rel,
  3. EnumerableRel.Prefer prefer) {
  4. EnumerableRelImplementor relImplementor =
  5. new EnumerableRelImplementor(rel.getCluster().getRexBuilder(),
  6. parameters);
  7. final ClassDeclaration expr = relImplementor.implementRoot(rel, prefer);
  8. String s = Expressions.toString(expr.memberDeclarations, "\n", false);
  9. if (CalcitePrepareImpl.DEBUG) {
  10. Util.debugCode(System.out, s);
  11. }
  12. Hook.JAVA_PLAN.run(s);
  13. try {
  14. if (spark != null && spark.enabled()) {
  15. return spark.compile(expr, s);
  16. } else {
  17. return getBindable(expr, s, rel.getRowType().getFieldCount());
  18. }
  19. } catch (Exception e) {
  20. throw Helper.INSTANCE.wrap("Error while compiling generated Java code:\n"
  21. + s, e);
  22. }
  23. }

相关文章