org.apache.calcite.rel.type.RelDataTypeFactory.createSqlIntervalType()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(7.6k)|赞(0)|评价(0)|浏览(84)

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

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;

相关文章