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

ASF GitHub Bot commented on DRILL-7503:
---------------------------------------

ihuzenko commented on pull request #1944: DRILL-7503: Refactor the project 
operator
URL: https://github.com/apache/drill/pull/1944#discussion_r364208438
 
 

 ##########
 File path: 
exec/java-exec/src/main/java/org/apache/drill/exec/physical/impl/project/OutputWidthVisitor.java
 ##########
 @@ -43,238 +43,213 @@
 
 import java.util.ArrayList;
 
-public class OutputWidthVisitor extends 
AbstractExecExprVisitor<OutputWidthExpression, OutputWidthVisitorState,
-        RuntimeException> {
-
-    @Override
-    public OutputWidthExpression visitVarDecimalConstant(VarDecimalExpression 
varDecimalExpression,
-                                                         
OutputWidthVisitorState state) throws RuntimeException {
-        
Preconditions.checkArgument(varDecimalExpression.getMajorType().hasPrecision());
-        return new 
FixedLenExpr(varDecimalExpression.getMajorType().getPrecision());
-    }
-
-
-    /**
-     *
-     * Records the {@link IfExpression} as a {@link IfElseWidthExpr}. 
IfElseWidthExpr will be reduced to
-     * a {@link FixedLenExpr} by taking the max of the if-expr-width and the 
else-expr-width.
-     *
-     * @param ifExpression
-     * @param state
-     * @return IfElseWidthExpr
-     * @throws RuntimeException
-     */
-    @Override
-    public OutputWidthExpression visitIfExpression(IfExpression ifExpression, 
OutputWidthVisitorState state)
-                                                                    throws 
RuntimeException {
-        IfExpression.IfCondition condition = ifExpression.ifCondition;
-        LogicalExpression ifExpr = condition.expression;
-        LogicalExpression elseExpr = ifExpression.elseExpression;
-
-        OutputWidthExpression ifWidthExpr = ifExpr.accept(this, state);
-        OutputWidthExpression elseWidthExpr = null;
-        if (elseExpr != null) {
-            elseWidthExpr = elseExpr.accept(this, state);
-        }
-        return new IfElseWidthExpr(ifWidthExpr, elseWidthExpr);
+public class OutputWidthVisitor
+    extends AbstractExecExprVisitor<OutputWidthExpression,
+            OutputWidthVisitorState,
+            RuntimeException> {
 
 Review comment:
   Please reformat to: 
   
   ```java
   public class OutputWidthVisitor extends
       AbstractExecExprVisitor<OutputWidthExpression, OutputWidthVisitorState, 
RuntimeException> {
   ```
 
----------------------------------------------------------------
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)

Reply via email to