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);