HyukjinKwon commented on a change in pull request #26477: [SPARK-29776][SQL]
rpad and lpad should return NULL when padstring parameter is empty
URL: https://github.com/apache/spark/pull/26477#discussion_r361593735
##########
File path:
common/unsafe/src/test/java/org/apache/spark/unsafe/types/UTF8StringSuite.java
##########
@@ -362,15 +362,15 @@ public void pad() {
assertEquals(EMPTY_UTF8, fromString("数据砖头").lpad(-10, fromString("孙行者")));
assertEquals(EMPTY_UTF8, fromString("数据砖头").lpad(-10, EMPTY_UTF8));
- assertEquals(fromString("数据砖头"), fromString("数据砖头").lpad(5, EMPTY_UTF8));
- assertEquals(fromString("数据砖"), fromString("数据砖头").lpad(3, EMPTY_UTF8));
- assertEquals(EMPTY_UTF8, EMPTY_UTF8.lpad(3, EMPTY_UTF8));
+ assertEquals(fromString(null), fromString("数据砖头").lpad(5, EMPTY_UTF8));
+ assertEquals(fromString(null), fromString("数据砖头").lpad(3, EMPTY_UTF8));
+ assertEquals(fromString(null), EMPTY_UTF8.lpad(3, EMPTY_UTF8));
assertEquals(EMPTY_UTF8, fromString("数据砖头").rpad(-10, fromString("孙行者")));
assertEquals(EMPTY_UTF8, fromString("数据砖头").rpad(-10, EMPTY_UTF8));
- assertEquals(fromString("数据砖头"), fromString("数据砖头").rpad(5, EMPTY_UTF8));
- assertEquals(fromString("数据砖"), fromString("数据砖头").rpad(3, EMPTY_UTF8));
- assertEquals(EMPTY_UTF8, EMPTY_UTF8.rpad(3, EMPTY_UTF8));
+ assertEquals(fromString(null), fromString("数据砖头").rpad(5, EMPTY_UTF8));
Review comment:
This function behaviour varies per DBMS implementations and we have a
reference as you described, PostgreSQL. Can you guys elaborate why it looks
reasonable to you guys? I don't see a strong reason to change the current
behaviour.
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]