This is an automated email from the ASF dual-hosted git repository.

wuweijie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 6c81fea  Use stream API with OrderByContextEngine and 
PaginationContextEngine (#11232)
6c81fea is described below

commit 6c81fea8adfd3a37ff826f8715e43274d8486020
Author: Liang Zhang <[email protected]>
AuthorDate: Thu Jul 8 23:24:01 2021 +0800

    Use stream API with OrderByContextEngine and PaginationContextEngine 
(#11232)
    
    * Avoid use String.format to enhance the performance
    
    * Use stream API with OrderByContextEngine
    
    * Use stream API with PaginationContextEngine
---
 .../binder/segment/select/orderby/engine/OrderByContextEngine.java | 7 +------
 .../segment/select/pagination/engine/PaginationContextEngine.java  | 3 +--
 2 files changed, 2 insertions(+), 8 deletions(-)

diff --git 
a/shardingsphere-infra/shardingsphere-infra-binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/select/orderby/engine/OrderByContextEngine.java
 
b/shardingsphere-infra/shardingsphere-infra-binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/select/orderby/engine/OrderByContextEngine.java
index a98dee9..173aa6d 100644
--- 
a/shardingsphere-infra/shardingsphere-infra-binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/select/orderby/engine/OrderByContextEngine.java
+++ 
b/shardingsphere-infra/shardingsphere-infra-binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/select/orderby/engine/OrderByContextEngine.java
@@ -130,11 +130,6 @@ public final class OrderByContextEngine {
         if (!(tableSegment instanceof SimpleTableSegment)) {
             return false;
         }
-        for (ProjectionSegment projectionSegment : 
selectStatement.getProjections().getProjections()) {
-            if (projectionSegment instanceof AggregationProjectionSegment) {
-                return false;
-            }
-        }
-        return true;
+        return 
selectStatement.getProjections().getProjections().stream().noneMatch(each -> 
each instanceof AggregationProjectionSegment);
     }
 }
diff --git 
a/shardingsphere-infra/shardingsphere-infra-binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/select/pagination/engine/PaginationContextEngine.java
 
b/shardingsphere-infra/shardingsphere-infra-binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/select/pagination/engine/PaginationContextEngine.java
index 7541f96..036ad16 100644
--- 
a/shardingsphere-infra/shardingsphere-infra-binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/select/pagination/engine/PaginationContextEngine.java
+++ 
b/shardingsphere-infra/shardingsphere-infra-binder/src/main/java/org/apache/shardingsphere/infra/binder/segment/select/pagination/engine/PaginationContextEngine.java
@@ -52,8 +52,7 @@ public final class PaginationContextEngine {
         Optional<TopProjectionSegment> topProjectionSegment = 
findTopProjection(selectStatement);
         Optional<WhereSegment> whereSegment = selectStatement.getWhere();
         if (topProjectionSegment.isPresent()) {
-            return new TopPaginationContextEngine().createPaginationContext(
-                    topProjectionSegment.get(), whereSegment.isPresent() ? 
whereSegment.get().getExpr() : null, parameters);
+            return new 
TopPaginationContextEngine().createPaginationContext(topProjectionSegment.get(),
 whereSegment.map(WhereSegment::getExpr).orElse(null), parameters);
         }
         if (whereSegment.isPresent()) {
             return new 
RowNumberPaginationContextEngine().createPaginationContext(whereSegment.get().getExpr(),
 projectionsContext, parameters);

Reply via email to