[ https://issues.apache.org/jira/browse/DRILL-7503?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17007236#comment-17007236 ]
ASF GitHub Bot commented on DRILL-7503: --------------------------------------- paul-rogers commented on issue #1944: DRILL-7503: Refactor the project operator URL: https://github.com/apache/drill/pull/1944#issuecomment-570465320 @ihuzenko, thanks for your thorough review, as usual. Here is my general philosophy on refactoring: do it in bite-size chunks. The first step here was simply to break code gen out of the operator itself. By leaving the bulk of the code unchanged, one can do a review by diffing the old and new files (not in GitHub, sadly), and see that blocks of code are identical, they have just been moved; in some cases from one huge function to smaller functions. Then, once we're satisfied that this simple refactoring works, we can think about the next step. If you agree with the step-by-step approach, then perhaps we can commit this first step to put us in position to make subsequent changes. ---------------------------------------------------------------- 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 > Refactor project operator > ------------------------- > > Key: DRILL-7503 > URL: https://issues.apache.org/jira/browse/DRILL-7503 > Project: Apache Drill > Issue Type: Improvement > Affects Versions: 1.17.0 > Reporter: Paul Rogers > Assignee: Paul Rogers > Priority: Minor > Fix For: 1.18.0 > > > Work on another ticket revealed that the Project operator ("record batch") > has grown quite complex. The setup phase lives in the operator as one huge > function. The function combines the "logical" tasks of working out the > projection expressions and types, the code gen for those expressions, and the > physical setup of vectors. > The refactoring breaks up the logic so that it is easier to focus on the > specific bits of interest. -- This message was sent by Atlassian Jira (v8.3.4#803005)