924060929 commented on code in PR #11209:
URL: https://github.com/apache/doris/pull/11209#discussion_r934310551


##########
fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java:
##########
@@ -532,13 +534,23 @@ public List<Expression> 
visitNamedExpressionSeq(NamedExpressionSeqContext namedC
      * @return List of OrderKey
      */
     @Override
-    public List<OrderKey> visitQueryOrganization(QueryOrganizationContext ctx) 
{
+    public QueryOrganization visitQueryOrganization(QueryOrganizationContext 
ctx) {
         return ParserUtils.withOrigin(ctx, () -> {
+            List<OrderKey> orderKeys;
             if (ctx.sortClause().ORDER() != null) {
-                return visit(ctx.sortClause().sortItem(), OrderKey.class);
+                orderKeys = visit(ctx.sortClause().sortItem(), OrderKey.class);
             } else {
-                return ImmutableList.of();
+                orderKeys = ImmutableList.of();
             }
+            long limit = Long.MAX_VALUE;

Review Comment:
   You may have misunderstood, I means that local limit variable can set to 
Optional<Limit>, and if it's empty, we can return originPlan without build a 
LogicalLimit plan, otherwise we can build LogicalLimit and wrap the originPlan 
as child. In the LogicalLimit, the limit field also is `long limit`, no 
Optional.



##########
fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisParser.g4:
##########
@@ -119,6 +119,12 @@ sortItem
     :  expression ordering = (ASC | DESC)?
     ;
 
+limitClause
+    : (LIMIT limit=INTEGER_VALUE)?
+    | (LIMIT limit=INTEGER_VALUE OFFSET offset=INTEGER_VALUE)?
+    | (LIMIT offset=INTEGER_VALUE COMMA limit=INTEGER_VALUE)?
+    ;

Review Comment:
   this change is not for save null-checking efforts, the point is:
   1. don't use Long.MAX_VALUE to implicitly represents missing limitClause
   2. if limit isn't exist, we shouldn't create LogicalLimit



-- 
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.

To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to