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

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

                Author: ASF GitHub Bot
            Created on: 24/Feb/20 01:49
            Start Date: 24/Feb/20 01:49
    Worklog Time Spent: 10m 
      Work Description: reuvenlax commented on pull request #10883: [BEAM-9331] 
Add better Row builders
URL: https://github.com/apache/beam/pull/10883#discussion_r383062953
 
 

 ##########
 File path: sdks/java/core/src/test/java/org/apache/beam/sdk/values/RowTest.java
 ##########
 @@ -477,6 +477,172 @@ public void testCreateMapWithRowValue() {
     assertEquals(data, row.getMap("map"));
   }
 
+  @Test
 
 Review comment:
   The fact that getValues returns the underlying objects I think is in line 
with many other things. e.g. ImmutableList in Java still returns the underlying 
objects, so you can mutate them. The onus is on the user not to do that.
   
   In particular, the elements of a PCollection are not allowed to be mutated 
in a ParDo (and the main point of the Row object is to be used in ParDos). The 
DirectRunner has a mutability checker that will fail your test if you mutate 
the input elements. 
 
----------------------------------------------------------------
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:
us...@infra.apache.org


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

    Worklog Id:     (was: 391466)
    Time Spent: 3h 10m  (was: 3h)

> The Row object needs better builders
> ------------------------------------
>
>                 Key: BEAM-9331
>                 URL: https://issues.apache.org/jira/browse/BEAM-9331
>             Project: Beam
>          Issue Type: Sub-task
>          Components: sdk-java-core
>            Reporter: Reuven Lax
>            Priority: Major
>          Time Spent: 3h 10m
>  Remaining Estimate: 0h
>
> Users should be able to build a Row object by specifying field names. Desired 
> syntax:
>  
> Row.withSchema(schema)
>    .withFieldName("field1", "value)
>   .withFieldName("field2.field3", value)
>   .build()
>  
> Users should also have a builder that allows taking an existing row and 
> changing specific fields.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to