@Override public RelDataType createSqlType(SqlTypeName typeName, int precision) { switch (typeName) { case TIME: case TIMESTAMP: return super.createSqlType(typeName, RelDataTypeSystemImpl.SUPPORTED_DATETIME_PRECISION); default: return super.createSqlType(typeName, precision); } } }
private RelDataType createDoublePrecisionType() { return createSqlType(SqlTypeName.DOUBLE); }
private RelDataType createDoublePrecisionType() { return createSqlType(SqlTypeName.DOUBLE); }
public RelDataType createSqlType(SqlTypeName typeName) { if (typeName.allowsPrec()) { return createSqlType(typeName, typeSystem.getDefaultPrecision(typeName)); } assertBasic(typeName); RelDataType newType = new BasicSqlType(typeSystem, typeName); return canonize(newType); }
public RelDataType createSqlType(SqlTypeName typeName) { if (typeName.allowsPrec()) { return createSqlType(typeName, typeSystem.getDefaultPrecision(typeName)); } assertBasic(typeName); RelDataType newType = new BasicSqlType(typeSystem, typeName); return canonize(newType); }
public RelDataType createSqlType( SqlTypeName typeName, int precision) { final int maxPrecision = typeSystem.getMaxPrecision(typeName); if (maxPrecision >= 0 && precision > maxPrecision) { precision = maxPrecision; } if (typeName.allowsScale()) { return createSqlType(typeName, precision, typeName.getDefaultScale()); } assertBasic(typeName); assert (precision >= 0) || (precision == RelDataType.PRECISION_NOT_SPECIFIED); RelDataType newType = new BasicSqlType(typeSystem, typeName, precision); newType = SqlTypeUtil.addCharsetAndCollation(newType, this); return canonize(newType); }
public RelDataType createSqlType( SqlTypeName typeName, int precision) { final int maxPrecision = typeSystem.getMaxPrecision(typeName); if (maxPrecision >= 0 && precision > maxPrecision) { precision = maxPrecision; } if (typeName.allowsScale()) { return createSqlType(typeName, precision, typeName.getDefaultScale()); } assertBasic(typeName); assert (precision >= 0) || (precision == RelDataType.PRECISION_NOT_SPECIFIED); RelDataType newType = new BasicSqlType(typeSystem, typeName, precision); newType = SqlTypeUtil.addCharsetAndCollation(newType, this); return canonize(newType); }
return createTypeWithNullability(createSqlType(SqlTypeName.ANY), nullCount > 0 || nullableCount > 0); final RelDataType originalType = type; type = typeName.allowsPrecScale(true, true) ? createSqlType(typeName, type.getPrecision(), type.getScale()) : typeName.allowsPrecScale(true, false) ? createSqlType(typeName, type.getPrecision()) : createSqlType(typeName); type = createTypeWithNullability(type, originalType.isNullable()); resultType = createSqlType(resultType.getSqlTypeName()); } else if (SqlTypeUtil.isLob(type)) { resultType = createSqlType(type.getSqlTypeName()); } else if (SqlTypeUtil.isBoundedVariableWidth(resultType)) { resultType = createSqlType( resultType.getSqlTypeName(), precision); createSqlType( newTypeName, precision); createSqlType( SqlTypeName.DECIMAL, precision,
return createTypeWithNullability(createSqlType(SqlTypeName.ANY), nullCount > 0 || nullableCount > 0); final RelDataType originalType = type; type = typeName.allowsPrecScale(true, true) ? createSqlType(typeName, type.getPrecision(), type.getScale()) : typeName.allowsPrecScale(true, false) ? createSqlType(typeName, type.getPrecision()) : createSqlType(typeName); type = createTypeWithNullability(type, originalType.isNullable()); resultType = createSqlType(resultType.getSqlTypeName()); } else if (SqlTypeUtil.isLob(type)) { resultType = createSqlType(type.getSqlTypeName()); } else if (SqlTypeUtil.isBoundedVariableWidth(resultType)) { resultType = createSqlType( resultType.getSqlTypeName(), precision); createSqlType( newTypeName, precision); createSqlType( SqlTypeName.DECIMAL, precision,
final SqlTypeFactoryImpl typeFactory = new SqlTypeFactoryImpl(RelDataTypeSystem.DEFAULT); final RelDataType bigint = typeFactory.createSqlType(SqlTypeName.BIGINT); final RelDataType bigintNullable = typeFactory.createTypeWithNullability(bigint, true); final RelDataType bigintNotNull = typeFactory.createTypeWithNullability(bigint, false); final RelDataType date = typeFactory.createSqlType(SqlTypeName.DATE); final RelDataType dateNotNull = typeFactory.createTypeWithNullability(date, false);
final SqlTypeFactoryImpl typeFactory = new SqlTypeFactoryImpl(RelDataTypeSystem.DEFAULT); final RelDataType bigint = typeFactory.createSqlType(SqlTypeName.BIGINT); final RelDataType bigintNullable = typeFactory.createTypeWithNullability(bigint, true); final RelDataType bigintNotNull = typeFactory.createTypeWithNullability(bigint, false); final RelDataType date = typeFactory.createSqlType(SqlTypeName.DATE); final RelDataType dateNotNull = typeFactory.createTypeWithNullability(date, false);