public boolean allowsPrec() { return allowsPrecScale(true, true) || allowsPrecScale(true, false); }
public boolean allowsScale() { return allowsPrecScale(true, true); }
public boolean allowsScale() { return allowsPrecScale(true, true); }
public boolean allowsPrec() { return allowsPrecScale(true, true) || allowsPrecScale(true, false); }
/** Throws if {@code typeName} does not allow the given combination of * precision and scale. */ protected static void checkPrecScale(SqlTypeName typeName, boolean precisionSpecified, boolean scaleSpecified) { if (!typeName.allowsPrecScale(precisionSpecified, scaleSpecified)) { throw new AssertionError("typeName.allowsPrecScale(" + precisionSpecified + ", " + scaleSpecified + "): " + typeName); } }
/** * Constructs a type with precision/length and scale. * * @param typeName Type name */ public BasicSqlType(RelDataTypeSystem typeSystem, SqlTypeName typeName, int precision, int scale) { this(typeSystem, typeName, false, precision, scale); assert typeName.allowsPrecScale(true, true); computeDigest(); }
/** * Constructs a type with precision/length but no scale. * * @param typeName Type name */ public BasicSqlType(RelDataTypeSystem typeSystem, SqlTypeName typeName, int precision) { this(typeSystem, typeName, false, precision, SCALE_NOT_SPECIFIED); assert typeName.allowsPrecScale(true, false) : "typeName.allowsPrecScale(true, false)"; computeDigest(); }
/** * Constructs a type with no parameters. This should only be called from a * factory method. * * @param typeName Type name */ public BasicSqlType(RelDataTypeSystem typeSystem, SqlTypeName typeName) { this(typeSystem, typeName, false, PRECISION_NOT_SPECIFIED, SCALE_NOT_SPECIFIED); assert typeName.allowsPrecScale(false, false) : "typeName.allowsPrecScale(false,false), typeName=" + typeName.name(); computeDigest(); }
return typeName.allowsPrecScale(true, true) ? typeFactory.createSqlType(typeName, precision, scale) : typeName.allowsPrecScale(true, false) ? typeFactory.createSqlType(typeName, precision) : typeFactory.createSqlType(typeName);
return typeName.allowsPrecScale(true, true) ? typeFactory.createSqlType(typeName, precision, scale) : typeName.allowsPrecScale(true, false) ? typeFactory.createSqlType(typeName, precision) : typeFactory.createSqlType(typeName);
int precision, int scale) { assert allowsPrecScale(precision != -1, scale != -1) : this; if (limit == Limit.ZERO) { if (beyond) {
int precision, int scale) { assert allowsPrecScale(precision != -1, scale != -1) : this; if (limit == Limit.ZERO) { if (beyond) {
&& sqlTypeName.allowsPrecScale(true, true)) { return typeFactory.createSqlType(sqlTypeName, precision, scale); } else if (precision >= 0 && sqlTypeName.allowsPrecNoScale()) {
&& sqlTypeName.allowsPrecScale(true, true)) { return typeFactory.createSqlType(sqlTypeName, precision, scale); } else if (precision >= 0 && sqlTypeName.allowsPrecNoScale()) {
assert sqlTypeName.allowsPrecScale(true, true); type = typeFactory.createSqlType(sqlTypeName, precision, scale); } else if (precision >= 0) {
assert sqlTypeName.allowsPrecScale(true, true); type = typeFactory.createSqlType(sqlTypeName, precision, scale); } else if (precision >= 0) {
type = typeName.allowsPrecScale(true, true) ? createSqlType(typeName, type.getPrecision(), type.getScale()) : typeName.allowsPrecScale(true, false) ? createSqlType(typeName, type.getPrecision()) : createSqlType(typeName);
type = typeName.allowsPrecScale(true, true) ? createSqlType(typeName, type.getPrecision(), type.getScale()) : typeName.allowsPrecScale(true, false) ? createSqlType(typeName, type.getPrecision()) : createSqlType(typeName);