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

Reply via email to