本文整理了Java中org.apache.calcite.rel.type.RelDataTypeFactory.createSqlIntervalType
方法的一些代码示例,展示了RelDataTypeFactory.createSqlIntervalType
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RelDataTypeFactory.createSqlIntervalType
方法的具体详情如下:
包路径:org.apache.calcite.rel.type.RelDataTypeFactory
类名称:RelDataTypeFactory
方法名:createSqlIntervalType
[英]Creates a SQL interval type.
[中]创建SQL间隔类型。
代码示例来源:origin: apache/flink
public RelDataType visit(SqlIntervalQualifier intervalQualifier) {
return typeFactory.createSqlIntervalType(intervalQualifier);
}
}
代码示例来源:origin: apache/hive
break;
case INTERVAL_YEAR_MONTH:
convertedType = dtFactory.createSqlIntervalType(
new SqlIntervalQualifier(TimeUnit.YEAR, TimeUnit.MONTH, new SqlParserPos(1,1)));
break;
case INTERVAL_DAY_TIME:
convertedType = dtFactory.createSqlIntervalType(
new SqlIntervalQualifier(TimeUnit.DAY, TimeUnit.SECOND, new SqlParserPos(1,1)));
break;
代码示例来源:origin: apache/drill
break;
case INTERVAL_YEAR_MONTH:
convertedType = dtFactory.createSqlIntervalType(
new SqlIntervalQualifier(TimeUnit.YEAR, TimeUnit.MONTH, new SqlParserPos(1,1)));
break;
case INTERVAL_DAY_TIME:
convertedType = dtFactory.createSqlIntervalType(
new SqlIntervalQualifier(TimeUnit.DAY, TimeUnit.SECOND, new SqlParserPos(1,1)));
break;
代码示例来源:origin: Qihoo360/Quicksql
public RelDataType visit(SqlIntervalQualifier intervalQualifier) {
return typeFactory.createSqlIntervalType(intervalQualifier);
}
}
代码示例来源:origin: org.apache.calcite/calcite-core
public RelDataType visit(SqlIntervalQualifier intervalQualifier) {
return typeFactory.createSqlIntervalType(intervalQualifier);
}
}
代码示例来源:origin: org.apache.calcite/calcite-core
/**
* Adds a field with an interval type.
*/
public Builder add(String name, TimeUnit startUnit, int startPrecision,
TimeUnit endUnit, int fractionalSecondPrecision) {
final SqlIntervalQualifier q =
new SqlIntervalQualifier(startUnit, startPrecision, endUnit,
fractionalSecondPrecision, SqlParserPos.ZERO);
add(name, typeFactory.createSqlIntervalType(q));
return this;
}
代码示例来源:origin: org.apache.calcite/calcite-core
/**
* Creates a literal representing an interval value, for example
* {@code INTERVAL '3-7' YEAR TO MONTH}.
*/
public RexLiteral makeIntervalLiteral(
BigDecimal v,
SqlIntervalQualifier intervalQualifier) {
return makeLiteral(
v,
typeFactory.createSqlIntervalType(intervalQualifier),
intervalQualifier.typeName());
}
代码示例来源:origin: Qihoo360/Quicksql
/**
* Creates a literal representing an interval value, for example
* {@code INTERVAL '3-7' YEAR TO MONTH}.
*/
public RexLiteral makeIntervalLiteral(
BigDecimal v,
SqlIntervalQualifier intervalQualifier) {
return makeLiteral(
v,
typeFactory.createSqlIntervalType(intervalQualifier),
intervalQualifier.typeName());
}
代码示例来源:origin: Qihoo360/Quicksql
/**
* Adds a field with an interval type.
*/
public Builder add(String name, TimeUnit startUnit, int startPrecision,
TimeUnit endUnit, int fractionalSecondPrecision) {
final SqlIntervalQualifier q =
new SqlIntervalQualifier(startUnit, startPrecision, endUnit,
fractionalSecondPrecision, SqlParserPos.ZERO);
add(name, typeFactory.createSqlIntervalType(q));
return this;
}
代码示例来源:origin: org.apache.drill.exec/drill-java-exec
RelDataType type;
if (sqlTypeName.getFamily() == SqlTypeFamily.INTERVAL_DAY_TIME) {
type = typeFactory.createSqlIntervalType(
new SqlIntervalQualifier(
TimeUnit.DAY,
SqlParserPos.ZERO));
} else if (sqlTypeName.getFamily() == SqlTypeFamily.INTERVAL_YEAR_MONTH) {
type = typeFactory.createSqlIntervalType(
new SqlIntervalQualifier(
TimeUnit.YEAR,
代码示例来源:origin: dremio/dremio-oss
case INTERVAL_YEAR_MONTH:
case INTERVAL_MONTH:
type = typeFactory.createSqlIntervalType(
new SqlIntervalQualifier(
TimeUnit.YEAR,
case INTERVAL_MINUTE_SECOND:
case INTERVAL_SECOND:
type = typeFactory.createSqlIntervalType(
new SqlIntervalQualifier(
TimeUnit.DAY,
代码示例来源:origin: dremio/dremio-oss
case INTERVAL_SECOND:
SqlIntervalQualifier dayTime = new SqlIntervalQualifier(TimeUnit.DAY, TimeUnit.SECOND, SqlParserPos.ZERO);
nullLiteral = rexBuilder.makeCast(typeFactory.createSqlIntervalType(dayTime), rexBuilder.constantNull());
break;
case INTERVAL_YEAR:
case INTERVAL_MONTH:
SqlIntervalQualifier yearMonth = new SqlIntervalQualifier(TimeUnit.YEAR, TimeUnit.MONTH, SqlParserPos.ZERO);
nullLiteral = rexBuilder.makeCast(typeFactory.createSqlIntervalType(yearMonth), rexBuilder.constantNull());
break;
case MULTISET:
代码示例来源:origin: dremio/dremio-oss
public RelDataType getRowType(RelDataTypeFactory factory) {
List<RelDataType> types = Lists.newArrayList();
List<String> names = Lists.newArrayList();
for (FieldType field : fields) {
names.add(field.getName());
RelDataType type;
if ( SqlTypeFamily.INTERVAL_YEAR_MONTH == field.getType().getFamily()
|| SqlTypeFamily.INTERVAL_DAY_TIME == field.getType().getFamily() ) {
type = factory.createSqlIntervalType( field.getIntervalQualifier() );
} else if (field.getType().equals(SqlTypeName.ARRAY) || field.getType().equals(SqlTypeName.MAP)) {
type = factory.createSqlType(SqlTypeName.ANY);
} else if (field.getPrecision() == null && field.getScale() == null) {
type = factory.createSqlType(field.getType());
} else if (field.getPrecision() != null && field.getScale() == null) {
type = factory.createSqlType(field.getType(), field.getPrecision());
} else {
type = factory.createSqlType(field.getType(), field.getPrecision(), field.getScale());
}
if (field.getIsNullable()) {
types.add(factory.createTypeWithNullability(type, true));
} else {
types.add(type);
}
}
return factory.createStructType(types, names);
}
代码示例来源:origin: org.apache.drill.exec/drill-java-exec
public RelDataType getRowType(RelDataTypeFactory factory) {
// if there are no fields defined, this is a dynamic view.
if (isDynamic()) {
return new RelDataTypeDrillImpl(new RelDataTypeHolder(), factory);
}
List<RelDataType> types = Lists.newArrayList();
List<String> names = Lists.newArrayList();
for (FieldType field : fields) {
names.add(field.getName());
RelDataType type;
if ( SqlTypeFamily.INTERVAL_YEAR_MONTH == field.getType().getFamily()
|| SqlTypeFamily.INTERVAL_DAY_TIME == field.getType().getFamily() ) {
type = factory.createSqlIntervalType( field.getIntervalQualifier() );
} else if (field.getPrecision() == null && field.getScale() == null) {
type = factory.createSqlType(field.getType());
} else if (field.getPrecision() != null && field.getScale() == null) {
type = factory.createSqlType(field.getType(), field.getPrecision());
} else {
type = factory.createSqlType(field.getType(), field.getPrecision(), field.getScale());
}
if (field.getIsNullable()) {
types.add(factory.createTypeWithNullability(type, true));
} else {
types.add(type);
}
}
return factory.createStructType(types, names);
}
代码示例来源:origin: Qihoo360/Quicksql
SqlIntervalLiteral.IntervalValue intervalValue =
(SqlIntervalLiteral.IntervalValue) value;
return typeFactory.createSqlIntervalType(
intervalValue.getIntervalQualifier());
代码示例来源:origin: org.apache.calcite/calcite-core
SqlIntervalLiteral.IntervalValue intervalValue =
(SqlIntervalLiteral.IntervalValue) value;
return typeFactory.createSqlIntervalType(
intervalValue.getIntervalQualifier());
代码示例来源:origin: org.apache.calcite/calcite-core
final RelDataType intervalType =
cx.getTypeFactory().createTypeWithNullability(
cx.getTypeFactory().createSqlIntervalType(qualifier),
op1.getType().isNullable() || op2.getType().isNullable());
final RexCall rexCall = (RexCall) rexBuilder.makeCall(
代码示例来源:origin: Qihoo360/Quicksql
final RelDataType intervalType =
cx.getTypeFactory().createTypeWithNullability(
cx.getTypeFactory().createSqlIntervalType(qualifier),
op1.getType().isNullable() || op2.getType().isNullable());
final RexCall rexCall = (RexCall) rexBuilder.makeCall(
代码示例来源:origin: com.facebook.presto.hive/hive-apache
break;
case INTERVAL_YEAR_MONTH:
convertedType = dtFactory.createSqlIntervalType(
new SqlIntervalQualifier(TimeUnit.YEAR, TimeUnit.MONTH, new SqlParserPos(1,1)));
break;
case INTERVAL_DAY_TIME:
convertedType = dtFactory.createSqlIntervalType(
new SqlIntervalQualifier(TimeUnit.DAY, TimeUnit.SECOND, new SqlParserPos(1,1)));
break;
内容来源于网络,如有侵权,请联系作者删除!