okumin commented on code in PR #5608: URL: https://github.com/apache/hive/pull/5608#discussion_r1959492236
########## ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToByte.java: ########## @@ -124,10 +125,14 @@ public ByteWritable evaluate(ShortWritable i) { * The integer value to convert * @return Byte */ - public ByteWritable evaluate(IntWritable i) { + public ByteWritable evaluate(IntWritable i) throws UDFArgumentException { if (i == null) { return null; } else { + int value = i.get(); + if (value < Byte.MIN_VALUE || value > Byte.MAX_VALUE) { + throw new UDFArgumentException("Value out of range for Byte: " + value); + } Review Comment: I know this obeys the ANSI standard, but it is a breaking change for Hive. Hive's cast is generally known to be very generous, so I think we can't change the behavior without introducing a flag. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For additional commands, e-mail: gitbox-h...@hive.apache.org