beam-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Work logged] (BEAM-5376) Row interface doesn't support nullability on all fields.
Date Thu, 13 Sep 2018 06:19:00 GMT

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

ASF GitHub Bot logged work on BEAM-5376:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 13/Sep/18 06:18
            Start Date: 13/Sep/18 06:18
    Worklog Time Spent: 10m 
      Work Description: akedin commented on a change in pull request #6383: [BEAM-5376] Support
nullability on all Row types
URL: https://github.com/apache/beam/pull/6383#discussion_r217267774
 
 

 ##########
 File path: sdks/java/core/src/test/java/org/apache/beam/sdk/schemas/JavaBeanSchemaTest.java
 ##########
 @@ -155,10 +155,10 @@ public void testRecursiveGetters() throws NoSuchSchemaException {
 
     Row nestedRow = row.getRow("nested");
     assertEquals("string", nestedRow.getString("str"));
-    assertEquals((byte) 1, nestedRow.getByte("aByte"));
-    assertEquals((short) 2, nestedRow.getInt16("aShort"));
-    assertEquals((int) 3, nestedRow.getInt32("anInt"));
-    assertEquals((long) 4, nestedRow.getInt64("aLong"));
+    assertEquals((byte) 1, (Object) nestedRow.getByte("aByte"));
 
 Review comment:
   1. I think that `Byte.valueOf(byte)` is meant for this;
   2. I may be wrong, but I think that the only thing that can promote to `Byte` is `byte`,
I don't believe you can cast boxed types, like `(Double)(Integer) getBlah()`;
   
   Additionally, it looks like the first parameter will be boxed by `assertEquals(Object,
Object)` anyway, so essentially with a cast (either `(Byte)` or `(Object)`, doesn't matter)
or without a cast this should be equivalent to `assertTrue(Byte.valueOf(1).equals(nestedRow.getByte("aByte")))`,
I may be missing something though.
   
   Plus this test is not ensuring that it's actually a `Byte`, not `byte`. I would probably
add a test that returns `null`.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


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

    Worklog Id:     (was: 143876)
    Time Spent: 50m  (was: 40m)

> Row interface doesn't support nullability on all fields.
> --------------------------------------------------------
>
>                 Key: BEAM-5376
>                 URL: https://issues.apache.org/jira/browse/BEAM-5376
>             Project: Beam
>          Issue Type: Improvement
>          Components: dsl-sql
>            Reporter: Andrew Pilloud
>            Assignee: Andrew Pilloud
>            Priority: Major
>          Time Spent: 50m
>  Remaining Estimate: 0h
>
> For example: 
> {code:java}
> public boolean getBoolean(int idx);{code}
> Should be:
> {code:java}
> public Boolean getBoolean(int idx);{code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message