[ 
https://issues.apache.org/jira/browse/HIVE-26294?focusedWorklogId=796831&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-796831
 ]

ASF GitHub Bot logged work on HIVE-26294:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 01/Aug/22 09:33
            Start Date: 01/Aug/22 09:33
    Worklog Time Spent: 10m 
      Work Description: kasakrisz commented on code in PR #3433:
URL: https://github.com/apache/hive/pull/3433#discussion_r934330702


##########
ql/src/java/org/apache/hadoop/hive/ql/udf/UDFSubstr.java:
##########
@@ -64,19 +64,39 @@ public UDFSubstr() {
     r = new Text();
   }
 
-  public Text evaluate(Text t, IntWritable pos, IntWritable len) {
+  public Text evaluate(Text t, LongWritable pos, LongWritable len) {
+    if ((t == null) || (pos == null) || (len == null)) {
+      return null;
+    }
+
+    long longPos = pos.get();
+    long longLen = len.get();
+    // If an unsupported value is seen, we don't want to return a string
+    // that doesn't match what the user expects, so we return NULL (still
+    // unexpected, of course, but probably better than a bad string).
+    if (longPos > Integer.MAX_VALUE || longLen > Integer.MAX_VALUE) {

Review Comment:
   Should negative overflow also be handled?
   ```
   long l = Integer.MIN_VALUE - 10L;
   int i = (int)l;
   ```
   I think `i` is going to be a positive integer.
   





Issue Time Tracking
-------------------

    Worklog Id:     (was: 796831)
    Time Spent: 1h 10m  (was: 1h)

> Allow substr to take bigint as parameters
> -----------------------------------------
>
>                 Key: HIVE-26294
>                 URL: https://issues.apache.org/jira/browse/HIVE-26294
>             Project: Hive
>          Issue Type: Improvement
>          Components: Types
>            Reporter: Steve Carlin
>            Priority: Minor
>              Labels: pull-request-available
>          Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> Small enhancement
> Impala allows a bigint as an argument for the substr function. We should 
> allow Hive to allow bigint arguments too.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to