[
https://issues.apache.org/jira/browse/HIVE-17077?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16099006#comment-16099006
]
Sergey Shelukhin commented on HIVE-17077:
-----------------------------------------
cc [~ashutoshc] what's the default behavior in Hive for these things? I think
throwing a better exception (invalid argument) would be better. But we do
return null for some invalid type conversions iirc
> Hive should raise StringIndexOutOfBoundsException when LPAD/RPAD len
> character's value is negative number
> ---------------------------------------------------------------------------------------------------------
>
> Key: HIVE-17077
> URL: https://issues.apache.org/jira/browse/HIVE-17077
> Project: Hive
> Issue Type: Bug
> Reporter: Lingang Deng
> Assignee: Lingang Deng
> Priority: Minor
>
> lpad(rpad) throw a exception when the second argument a negative number, as
> follows,
> {code:java}
> hive> select lpad("hello", -1 ,"h");
> FAILED: StringIndexOutOfBoundsException String index out of range: -1
> hive> select rpad("hello", -1 ,"h");
> FAILED: StringIndexOutOfBoundsException String index out of range: -1
> {code}
> Maybe we should return friendly result such as mysql.
> {code:java}
> mysql> select lpad("hello", -1 ,"h");
> +----------------------+
> | lpad("hello", -1 ,"h") |
> +----------------------+
> | NULL |
> +----------------------+
> 1 row in set (0.00 sec)
> mysql> select rpad("hello", -1 ,"h");
> +----------------------+
> | rpad("hello", -1 ,"h") |
> +----------------------+
> | NULL |
> +----------------------+
> 1 row in set (0.00 sec)
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)