[ 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)