valueBuilder.setType(Common.Rep.INTEGER).setNumberValue(((Integer) obj).longValue()); break; default:
case BYTE: case PRIMITIVE_BYTE: builder.setNumberValue(Byte.valueOf((byte) value).longValue()); break; case DOUBLE: case FLOAT: case PRIMITIVE_FLOAT: builder.setNumberValue(Float.floatToIntBits((float) value)); break; case INTEGER: case PRIMITIVE_INT: builder.setNumberValue(Integer.valueOf((int) value).longValue()); break; case PRIMITIVE_SHORT: case SHORT: builder.setNumberValue(Short.valueOf((short) value).longValue()); break; case LONG: case PRIMITIVE_LONG: builder.setNumberValue((long) value); break; case JAVA_SQL_DATE: case JAVA_SQL_TIME: builder.setNumberValue(Integer.valueOf((int) value).longValue()); break; case JAVA_SQL_TIMESTAMP: case JAVA_UTIL_DATE:
case BYTE: case PRIMITIVE_BYTE: builder.setNumberValue(Byte.valueOf((byte) o).longValue()); return; case DOUBLE: case FLOAT: case PRIMITIVE_FLOAT: builder.setNumberValue(Float.floatToIntBits((float) o)); return; case INTEGER: case PRIMITIVE_INT: builder.setNumberValue(Integer.valueOf((int) o).longValue()); return; case PRIMITIVE_SHORT: case SHORT: builder.setNumberValue(Short.valueOf((short) o).longValue()); return; case LONG: case PRIMITIVE_LONG: builder.setNumberValue((long) o); return; case JAVA_SQL_DATE: builder.setNumberValue(sqlDateOrTime); return; case JAVA_SQL_TIMESTAMP: builder.setNumberValue(sqlTimestampOrUtilDate);
case BYTE: case PRIMITIVE_BYTE: builder.setNumberValue(Byte.valueOf((byte) o).longValue()); return; case DOUBLE: case FLOAT: case PRIMITIVE_FLOAT: builder.setNumberValue(Float.floatToIntBits((float) o)); return; case INTEGER: case PRIMITIVE_INT: builder.setNumberValue(Integer.valueOf((int) o).longValue()); return; case PRIMITIVE_SHORT: case SHORT: builder.setNumberValue(Short.valueOf((short) o).longValue()); return; case LONG: case PRIMITIVE_LONG: builder.setNumberValue((long) o); return; case JAVA_SQL_DATE: builder.setNumberValue(sqlDateOrTime); return; case JAVA_SQL_TIMESTAMP: builder.setNumberValue(sqlTimestampOrUtilDate);
valueBuilder.setType(Common.Rep.INTEGER).setNumberValue(((Integer) obj).longValue()); break; default: if (obj instanceof Integer) { valueBuilder.setType(Common.Rep.INTEGER).setNumberValue((Integer) obj); } else { String value;
setNumberValue(other.getNumberValue());
valueBuilder.setType(Common.Rep.INTEGER).setNumberValue(((Integer) obj).longValue()); break; default: if (obj instanceof Integer) { valueBuilder.setType(Common.Rep.INTEGER).setNumberValue((Integer) obj); } else { String value;
setNumberValue(other.getNumberValue());
valueBuilder.setType(Common.Rep.BYTE).setNumberValue(((Byte) element).longValue()); } else if (element instanceof Short) { valueBuilder.setType(Common.Rep.SHORT).setNumberValue(((Short) element).longValue()); } else if (element instanceof Integer) { valueBuilder.setType(Common.Rep.INTEGER) .setNumberValue(((Integer) element).longValue()); } else if (element instanceof Long) { valueBuilder.setType(Common.Rep.LONG).setNumberValue((Long) element); } else if (element instanceof Double) { valueBuilder.setType(Common.Rep.DOUBLE).setDoubleValue((Double) element); } else if (element instanceof Float) { valueBuilder.setType(Common.Rep.FLOAT).setNumberValue(((Float) element).longValue()); } else if (element instanceof BigDecimal) { valueBuilder.setType(Common.Rep.NUMBER)
public Builder mergeFrom(org.apache.calcite.avatica.proto.Common.TypedValue other) { if (other == org.apache.calcite.avatica.proto.Common.TypedValue.getDefaultInstance()) return this; if (other.type_ != 0) { setTypeValue(other.getTypeValue()); } if (other.getBoolValue() != false) { setBoolValue(other.getBoolValue()); } if (!other.getStringValue().isEmpty()) { stringValue_ = other.stringValue_; onChanged(); } if (other.getNumberValue() != 0L) { setNumberValue(other.getNumberValue()); } if (other.getBytesValues() != com.google.protobuf.ByteString.EMPTY) { setBytesValues(other.getBytesValues()); } if (other.getDoubleValue() != 0D) { setDoubleValue(other.getDoubleValue()); } if (other.getNull() != false) { setNull(other.getNull()); } onChanged(); return this; }
@Test public void testLegacyDecimalParsing() { final BigDecimal decimal = new BigDecimal("123451234512345"); final Calendar calendar = DateTimeUtils.calendar(); // CALCITE-1103 Decimals were (incorrectly) getting serialized as normal "numbers" which // caused them to use the numberValue field. TypedValue should still be able to handle // values like this (but large values will be truncated and return bad values). Common.TypedValue oldProtoStyle = Common.TypedValue.newBuilder().setType(Common.Rep.NUMBER) .setNumberValue(decimal.longValue()).build(); TypedValue fromProtoTv = TypedValue.fromProto(oldProtoStyle); Object o = fromProtoTv.toJdbc(calendar); assertEquals(decimal, o); }
@Test public void testLegacyDecimalParsing() { final BigDecimal decimal = new BigDecimal("123451234512345"); final Calendar calendar = DateTimeUtils.calendar(); // CALCITE-1103 Decimals were (incorrectly) getting serialized as normal "numbers" which // caused them to use the numberValue field. TypedValue should still be able to handle // values like this (but large values will be truncated and return bad values). Common.TypedValue oldProtoStyle = Common.TypedValue.newBuilder().setType(Common.Rep.NUMBER) .setNumberValue(decimal.longValue()).build(); TypedValue fromProtoTv = TypedValue.fromProto(oldProtoStyle); Object o = fromProtoTv.toJdbc(calendar); assertEquals(decimal, o); }