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

ASF GitHub Bot commented on PHOENIX-4996:
-----------------------------------------

Github user vincentpoon commented on the issue:

    https://github.com/apache/phoenix/pull/401
  
    Instead of passing in override props, why not just return a Builder?
    e.g. instead of 
     `Map<String, Object> overrideProps = new HashMap<>();
            overrideProps.put(PTableImpl.COLUMNS, projectedColumns);
            PTable t = PTableImpl.makePTableFromExisting(table, overrideProps);`
    
    how about something like
    `PTable t = 
PTableImpl.builderFromExisting(table).setColumns(projectedColumns).build();`


> Refactor PTableImpl to use Builder Pattern
> ------------------------------------------
>
>                 Key: PHOENIX-4996
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-4996
>             Project: Phoenix
>          Issue Type: Improvement
>            Reporter: Chinmay Kulkarni
>            Assignee: Chinmay Kulkarni
>            Priority: Major
>         Attachments: PHOENIX-4996.patch
>
>
> Currently _PTableImpl_ has many constructor parameters, overloaded 
> constructors as well as overloaded versions of _makePTable_ which basically 
> creates a new PTable itself. Because of this, constructing new PTable 
> instances is becoming very difficult and error-prone. We should refactor this 
> to use the builder pattern. This will improve usability and readability of 
> the code at the cost of some amount of code repetition due to limitations of 
> the builder pattern itself.



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

Reply via email to