/** * Determine the cast target for {@link Types#FLOAT} and {@link Types#REAL} (DOUBLE) * * @return The proper cast target type. */ protected String floatingPointNumberCastTarget() { // MySQL does not allow casting to DOUBLE nor FLOAT, so we have to cast these as DECIMAL. // MariaDB does allow casting to DOUBLE, although not FLOAT. return fixedPointNumberCastTarget(); }
@Override public String getCastTypeName(int code) { switch ( code ) { case Types.BOOLEAN: return "char"; case Types.INTEGER: case Types.BIGINT: case Types.SMALLINT: return smallIntegerCastTarget(); case Types.FLOAT: case Types.REAL: { return floatingPointNumberCastTarget(); } case Types.NUMERIC: return fixedPointNumberCastTarget(); case Types.VARCHAR: return "char"; case Types.VARBINARY: return "binary"; default: return super.getCastTypeName( code ); } }
/** * Determine the cast target for {@link Types#FLOAT} and {@link Types#REAL} (DOUBLE) * * @return The proper cast target type. */ protected String floatingPointNumberCastTarget() { // MySQL does not allow casting to DOUBLE nor FLOAT, so we have to cast these as DECIMAL. // MariaDB does allow casting to DOUBLE, although not FLOAT. return fixedPointNumberCastTarget(); }
@Override public String getCastTypeName(int code) { switch ( code ) { case Types.BOOLEAN: return "char"; case Types.INTEGER: case Types.BIGINT: case Types.SMALLINT: return smallIntegerCastTarget(); case Types.FLOAT: case Types.REAL: { return floatingPointNumberCastTarget(); } case Types.NUMERIC: return fixedPointNumberCastTarget(); case Types.VARCHAR: return "char"; case Types.VARBINARY: return "binary"; default: return super.getCastTypeName( code ); } }