• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java InferTypes类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.apache.calcite.sql.type.InferTypes的典型用法代码示例。如果您正苦于以下问题:Java InferTypes类的具体用法?Java InferTypes怎么用?Java InferTypes使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



InferTypes类属于org.apache.calcite.sql.type包,在下文中一共展示了InferTypes类的16个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: SqlLikeOperator

import org.apache.calcite.sql.type.InferTypes; //导入依赖的package包/类
/**
 * Creates a SqlLikeOperator.
 *
 * @param name    Operator name
 * @param kind    Kind
 * @param negated Whether this is 'NOT LIKE'
 */
SqlLikeOperator(
    String name,
    SqlKind kind,
    boolean negated) {
  // LIKE is right-associative, because that makes it easier to capture
  // dangling ESCAPE clauses: "a like b like c escape d" becomes
  // "a like (b like c escape d)".
  super(
      name,
      kind,
      32,
      false,
      ReturnTypes.BOOLEAN_NULLABLE,
      InferTypes.FIRST_KNOWN,
      OperandTypes.STRING_SAME_SAME_SAME);
  this.negated = negated;
}
 
开发者ID:apache,项目名称:calcite,代码行数:25,代码来源:SqlLikeOperator.java


示例2: createCustomAggFunction

import org.apache.calcite.sql.type.InferTypes; //导入依赖的package包/类
SqlAggFunction createCustomAggFunction(String funcName, RelDataType returnType, Class<?> customAggFuncClz) {
    RelDataTypeFactory typeFactory = getCluster().getTypeFactory();
    SqlIdentifier sqlIdentifier = new SqlIdentifier(funcName, new SqlParserPos(1, 1));
    AggregateFunction aggFunction = AggregateFunctionImpl.create(customAggFuncClz);
    List<RelDataType> argTypes = new ArrayList<RelDataType>();
    List<SqlTypeFamily> typeFamilies = new ArrayList<SqlTypeFamily>();
    for (FunctionParameter o : aggFunction.getParameters()) {
        final RelDataType type = o.getType(typeFactory);
        argTypes.add(type);
        typeFamilies.add(Util.first(type.getSqlTypeName().getFamily(), SqlTypeFamily.ANY));
    }
    return new SqlUserDefinedAggFunction(sqlIdentifier, ReturnTypes.explicit(returnType),
            InferTypes.explicit(argTypes), OperandTypes.family(typeFamilies), aggFunction, false, false);
}
 
开发者ID:apache,项目名称:kylin,代码行数:15,代码来源:OLAPAggregateRel.java


示例3: SqlAsOperator

import org.apache.calcite.sql.type.InferTypes; //导入依赖的package包/类
/**
 * Creates an AS operator.
 */
public SqlAsOperator() {
  this(
      "AS",
      SqlKind.AS,
      20,
      true,
      ReturnTypes.ARG0,
      InferTypes.RETURN_TYPE,
      OperandTypes.ANY_ANY);
}
 
开发者ID:apache,项目名称:calcite,代码行数:14,代码来源:SqlAsOperator.java


示例4: SqlDatePartFunction

import org.apache.calcite.sql.type.InferTypes; //导入依赖的package包/类
public SqlDatePartFunction(String name, TimeUnit timeUnit) {
  super(name,
      SqlKind.OTHER,
      ReturnTypes.BIGINT_NULLABLE,
      InferTypes.FIRST_KNOWN,
      OperandTypes.DATETIME,
      SqlFunctionCategory.TIMEDATE);
  this.timeUnit = timeUnit;
}
 
开发者ID:apache,项目名称:calcite,代码行数:10,代码来源:SqlDatePartFunction.java


示例5: SqlLiteralChainOperator

import org.apache.calcite.sql.type.InferTypes; //导入依赖的package包/类
SqlLiteralChainOperator() {
  super(
      "$LiteralChain",
      SqlKind.LITERAL_CHAIN,
      80,
      true,

      // precedence tighter than the * and || operators
      ReturnTypes.ARG0,
      InferTypes.FIRST_KNOWN,
      OperandTypes.VARIADIC);
}
 
开发者ID:apache,项目名称:calcite,代码行数:13,代码来源:SqlLiteralChainOperator.java


示例6: SqlInOperator

import org.apache.calcite.sql.type.InferTypes; //导入依赖的package包/类
protected SqlInOperator(String name, SqlKind kind) {
  super(name, kind,
      32,
      true,
      ReturnTypes.BOOLEAN_NULLABLE,
      InferTypes.FIRST_KNOWN,
      null);
}
 
开发者ID:apache,项目名称:calcite,代码行数:9,代码来源:SqlInOperator.java


示例7: SqlMultisetValueConstructor

import org.apache.calcite.sql.type.InferTypes; //导入依赖的package包/类
protected SqlMultisetValueConstructor(String name, SqlKind kind) {
  super(
      name,
      kind, MDX_PRECEDENCE,
      false,
      ReturnTypes.ARG0,
      InferTypes.FIRST_KNOWN,
      OperandTypes.VARIADIC);
}
 
开发者ID:apache,项目名称:calcite,代码行数:10,代码来源:SqlMultisetValueConstructor.java


示例8: SqlCastFunction

import org.apache.calcite.sql.type.InferTypes; //导入依赖的package包/类
public SqlCastFunction() {
  super(
      "CAST",
      SqlKind.CAST,
      null,
      InferTypes.FIRST_KNOWN,
      null,
      SqlFunctionCategory.SYSTEM);
}
 
开发者ID:apache,项目名称:calcite,代码行数:10,代码来源:SqlCastFunction.java


示例9: SqlDatetimeSubtractionOperator

import org.apache.calcite.sql.type.InferTypes; //导入依赖的package包/类
public SqlDatetimeSubtractionOperator() {
  super(
      "-",
      SqlKind.MINUS,
      40,
      true,
      ReturnTypes.ARG2_NULLABLE,
      InferTypes.FIRST_KNOWN,
      OperandTypes.MINUS_DATE_OPERATOR);
}
 
开发者ID:apache,项目名称:calcite,代码行数:11,代码来源:SqlDatetimeSubtractionOperator.java


示例10: SqlMultisetSetOperator

import org.apache.calcite.sql.type.InferTypes; //导入依赖的package包/类
public SqlMultisetSetOperator(String name, int prec, boolean all) {
  super(
      name,
      SqlKind.OTHER,
      prec,
      true,
      ReturnTypes.MULTISET_NULLABLE,
      InferTypes.FIRST_KNOWN,
      OperandTypes.MULTISET_MULTISET);
  this.all = all;
}
 
开发者ID:apache,项目名称:calcite,代码行数:12,代码来源:SqlMultisetSetOperator.java


示例11: toOp

import org.apache.calcite.sql.type.InferTypes; //导入依赖的package包/类
/** Converts a function to a {@link org.apache.calcite.sql.SqlOperator}.
 *
 * <p>The {@code typeFactory} argument is technical debt; see [CALCITE-2082]
 * Remove RelDataTypeFactory argument from SqlUserDefinedAggFunction
 * constructor. */
private static SqlOperator toOp(RelDataTypeFactory typeFactory,
    SqlIdentifier name, final Function function) {
  List<RelDataType> argTypes = new ArrayList<>();
  List<SqlTypeFamily> typeFamilies = new ArrayList<>();
  for (FunctionParameter o : function.getParameters()) {
    final RelDataType type = o.getType(typeFactory);
    argTypes.add(type);
    typeFamilies.add(
        Util.first(type.getSqlTypeName().getFamily(), SqlTypeFamily.ANY));
  }
  final Predicate<Integer> optional =
      new PredicateImpl<Integer>() {
        public boolean test(Integer input) {
          return function.getParameters().get(input).isOptional();
        }
      };
  final FamilyOperandTypeChecker typeChecker =
      OperandTypes.family(typeFamilies, optional);
  final List<RelDataType> paramTypes = toSql(typeFactory, argTypes);
  if (function instanceof ScalarFunction) {
    return new SqlUserDefinedFunction(name, infer((ScalarFunction) function),
        InferTypes.explicit(argTypes), typeChecker, paramTypes, function);
  } else if (function instanceof AggregateFunction) {
    return new SqlUserDefinedAggFunction(name,
        infer((AggregateFunction) function), InferTypes.explicit(argTypes),
        typeChecker, (AggregateFunction) function, false, false, typeFactory);
  } else if (function instanceof TableMacro) {
    return new SqlUserDefinedTableMacro(name, ReturnTypes.CURSOR,
        InferTypes.explicit(argTypes), typeChecker, paramTypes,
        (TableMacro) function);
  } else if (function instanceof TableFunction) {
    return new SqlUserDefinedTableFunction(name, ReturnTypes.CURSOR,
        InferTypes.explicit(argTypes), typeChecker, paramTypes,
        (TableFunction) function);
  } else {
    throw new AssertionError("unknown function type " + function);
  }
}
 
开发者ID:apache,项目名称:calcite,代码行数:44,代码来源:CalciteCatalogReader.java


示例12: SqlBetweenOperator

import org.apache.calcite.sql.type.InferTypes; //导入依赖的package包/类
public SqlBetweenOperator(Flag flag, boolean negated) {
  super(negated ? NOT_BETWEEN_NAMES : BETWEEN_NAMES, SqlKind.BETWEEN, 32,
      null, InferTypes.FIRST_KNOWN, OTC_CUSTOM);
  this.flag = flag;
  this.negated = negated;
}
 
开发者ID:apache,项目名称:calcite,代码行数:7,代码来源:SqlBetweenOperator.java


示例13: SqlDefaultOperator

import org.apache.calcite.sql.type.InferTypes; //导入依赖的package包/类
SqlDefaultOperator() {
  super("DEFAULT", SqlKind.DEFAULT, 100, true,
      ReturnTypes.explicit(SqlTypeName.ANY), InferTypes.RETURN_TYPE,
      OperandTypes.NILADIC);
}
 
开发者ID:apache,项目名称:calcite,代码行数:6,代码来源:SqlDefaultOperator.java


示例14: SqlCaseOperator

import org.apache.calcite.sql.type.InferTypes; //导入依赖的package包/类
private SqlCaseOperator() {
  super("CASE", SqlKind.CASE, MDX_PRECEDENCE, true, null,
      InferTypes.RETURN_TYPE, null);
}
 
开发者ID:apache,项目名称:calcite,代码行数:5,代码来源:SqlCaseOperator.java


示例15: SqlOverlapsOperator

import org.apache.calcite.sql.type.InferTypes; //导入依赖的package包/类
SqlOverlapsOperator(SqlKind kind) {
  super(kind.sql, kind, 30, true, ReturnTypes.BOOLEAN_NULLABLE,
      InferTypes.FIRST_KNOWN,
      OperandTypes.sequence("'<PERIOD> " + kind.sql + " <PERIOD>'",
          OperandTypes.PERIOD, OperandTypes.PERIOD));
}
 
开发者ID:apache,项目名称:calcite,代码行数:7,代码来源:SqlOverlapsOperator.java


示例16: SqlArgumentAssignmentOperator

import org.apache.calcite.sql.type.InferTypes; //导入依赖的package包/类
SqlArgumentAssignmentOperator() {
  super("=>", SqlKind.ARGUMENT_ASSIGNMENT, 20, true, ReturnTypes.ARG0,
      InferTypes.RETURN_TYPE, OperandTypes.ANY_ANY);
}
 
开发者ID:apache,项目名称:calcite,代码行数:5,代码来源:SqlArgumentAssignmentOperator.java



注:本文中的org.apache.calcite.sql.type.InferTypes类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java LibraryScope类代码示例发布时间:2022-05-22
下一篇:
Java EncryptionZone类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap