org.apache.calcite.rex.RexBuilder.makeNewInvocation()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(2.3k)|赞(0)|评价(0)|浏览(59)

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

RexBuilder.makeNewInvocation介绍

[英]Creates an invocation of the NEW operator.
[中]创建对新运算符的调用。

代码示例

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

private static RexNode makeConstructorCall(
  SqlRexContext cx,
  SqlFunction constructor,
  List<RexNode> exprs) {
 final RexBuilder rexBuilder = cx.getRexBuilder();
 RelDataType type = rexBuilder.deriveReturnType(constructor, exprs);
 int n = type.getFieldCount();
 ImmutableList.Builder<RexNode> initializationExprs =
   ImmutableList.builder();
 final InitializerContext initializerContext = new InitializerContext() {
  public RexBuilder getRexBuilder() {
   return rexBuilder;
  }
  public RexNode convertExpression(SqlNode e) {
   throw new UnsupportedOperationException();
  }
 };
 for (int i = 0; i < n; ++i) {
  initializationExprs.add(
    cx.getInitializerExpressionFactory().newAttributeInitializer(
      type, constructor, i, exprs, initializerContext));
 }
 List<RexNode> defaultCasts =
   RexUtil.generateCastExpressions(
     rexBuilder,
     type,
     initializationExprs.build());
 return rexBuilder.makeNewInvocation(type, defaultCasts);
}

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

private static RexNode makeConstructorCall(
  SqlRexContext cx,
  SqlFunction constructor,
  List<RexNode> exprs) {
 final RexBuilder rexBuilder = cx.getRexBuilder();
 RelDataType type = rexBuilder.deriveReturnType(constructor, exprs);
 int n = type.getFieldCount();
 ImmutableList.Builder<RexNode> initializationExprs =
   ImmutableList.builder();
 final InitializerContext initializerContext = new InitializerContext() {
  public RexBuilder getRexBuilder() {
   return rexBuilder;
  }
  public RexNode convertExpression(SqlNode e) {
   throw new UnsupportedOperationException();
  }
 };
 for (int i = 0; i < n; ++i) {
  initializationExprs.add(
    cx.getInitializerExpressionFactory().newAttributeInitializer(
      type, constructor, i, exprs, initializerContext));
 }
 List<RexNode> defaultCasts =
   RexUtil.generateCastExpressions(
     rexBuilder,
     type,
     initializationExprs.build());
 return rexBuilder.makeNewInvocation(type, defaultCasts);
}

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

rexBuilder.makeNewInvocation(
  structuredType,
  inputExprs);

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

rexBuilder.makeNewInvocation(
  structuredType,
  inputExprs);

相关文章

微信公众号

最新文章

更多