本文整理汇总了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;未经允许,请勿转载。 |
请发表评论