[ 
https://issues.apache.org/jira/browse/PHOENIX-3918?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16049583#comment-16049583
 ] 

James Taylor commented on PHOENIX-3918:
---------------------------------------

Thanks, [~tdsilva]. Do the tests look good after this change? Couple minor nits:
- Use ByteUtil.EMPTY_BYTE_ARRAY here instead:
{code}
+        if (fillPtr.getLength()==0) {
+            ptr.set(new byte[]{});
+            return true;
+        }
{code}
- Check rs.wasNull() here:
{code}
         ResultSet rs =
                 conn.createStatement()
-                        .executeQuery("SELECT OCTET_LENGTH(vb), 
OCTET_LENGTH(b) FROM " + TABLE_NAME
-                            + " WHERE OCTET_LENGTH(vb)=4 and 
OCTET_LENGTH(b)=4");
+                        .executeQuery("SELECT OCTET_LENGTH(vb1), 
OCTET_LENGTH(b), OCTET_LENGTH(vb2) FROM " + TABLE_NAME);
         assertTrue(rs.next());
         assertEquals(4, rs.getInt(1));
         assertEquals(4, rs.getInt(2));
+        assertEquals(0, rs.getInt(3));
         assertTrue(!rs.next());
{code}
- Remove this code in LpadFunction:
{code}
        if (fillExprLen < 1) {
            // return if fill is empty
            return false;
        }
{code}

> Ensure all function implementations handle null args correctly
> --------------------------------------------------------------
>
>                 Key: PHOENIX-3918
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3918
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: Samarth Jain
>            Assignee: Thomas D'Silva
>             Fix For: 4.12.0
>
>         Attachments: PHOENIX-3918.patch, PHOENIX-3918-v2.patch, 
> PHOENIX-3918-v3.patch
>
>
> {code}
> testBothParametersNull(org.apache.phoenix.end2end.TimezoneOffsetFunctionIT)  
> Time elapsed: 2.272 sec  <<< ERROR!
> java.sql.SQLException: ERROR 201 (22000): Illegal data. Unknown timezone 
>       at 
> org.apache.phoenix.end2end.TimezoneOffsetFunctionIT.testBothParametersNull(TimezoneOffsetFunctionIT.java:130)
> timezoneParameterNull(org.apache.phoenix.end2end.TimezoneOffsetFunctionIT)  
> Time elapsed: 2.273 sec  <<< ERROR!
> java.sql.SQLException: ERROR 201 (22000): Illegal data. Unknown timezone 
>       at 
> org.apache.phoenix.end2end.TimezoneOffsetFunctionIT.timezoneParameterNull(TimezoneOffsetFunctionIT.java:151)
> dateParameterNull(org.apache.phoenix.end2end.TimezoneOffsetFunctionIT)  Time 
> elapsed: 2.254 sec  <<< ERROR!
> java.sql.SQLException: ERROR 201 (22000): Illegal data. Expected length of at 
> least 8 bytes, but had 0
>       at 
> org.apache.phoenix.end2end.TimezoneOffsetFunctionIT.dateParameterNull(TimezoneOffsetFunctionIT.java:172)
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to