diff --git a/pom.xml b/pom.xml
index d83a51d8d..f8d0dde14 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,7 +7,7 @@
com.easy-query
easy-query-all
pom
- 1.1.7
+ 1.1.8
easy-query
java object query distributed connector
https://github.com/xuejmnet/easy-query
diff --git a/samples/pom.xml b/samples/pom.xml
index b1454ccf0..f90e536a2 100644
--- a/samples/pom.xml
+++ b/samples/pom.xml
@@ -5,7 +5,7 @@
easy-query-all
com.easy-query
- 1.1.7
+ 1.1.8
4.0.0
@@ -40,7 +40,7 @@
com.easy-query
sql-springboot-starter
- 1.1.7
+ 1.1.8
compile
diff --git a/samples/spring-sharding-demo/pom.xml b/samples/spring-sharding-demo/pom.xml
index d84d591cd..cac88ff03 100644
--- a/samples/spring-sharding-demo/pom.xml
+++ b/samples/spring-sharding-demo/pom.xml
@@ -46,13 +46,13 @@
com.easy-query
sql-processor
- 1.1.7
+ 1.1.8
compile
com.easy-query
sql-springboot-starter
- 1.1.7
+ 1.1.8
compile
diff --git a/samples/spring-sharding-demo/src/main/java/com/easy/query/springshardingdemo/controller/OrderController.java b/samples/spring-sharding-demo/src/main/java/com/easy/query/springshardingdemo/controller/OrderController.java
index 00cb87f49..be0c5079f 100644
--- a/samples/spring-sharding-demo/src/main/java/com/easy/query/springshardingdemo/controller/OrderController.java
+++ b/samples/spring-sharding-demo/src/main/java/com/easy/query/springshardingdemo/controller/OrderController.java
@@ -1,6 +1,7 @@
package com.easy.query.springshardingdemo.controller;
import com.easy.query.api.proxy.client.EasyProxyQuery;
+import com.easy.query.core.api.pagination.EasyPageResult;
import com.easy.query.springshardingdemo.domain.OrderEntity;
import com.easy.query.springshardingdemo.domain.proxy.OrderEntityProxy;
import com.easy.query.springshardingdemo.dto.OrderGroupWithAvgOrderNoVO;
@@ -11,6 +12,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.time.LocalDateTime;
@@ -144,4 +146,15 @@ public Object groupByWithAvgOrderNo3() {
long end = System.currentTimeMillis();
return Arrays.asList(list, (end - start) + "(ms)");
}
+ @GetMapping("/page")
+ public Object page(@RequestParam("pageIndex") Integer pageIndex,@RequestParam("pageSize") Integer pageSize) {
+ long start = System.currentTimeMillis();
+ List userIds = Arrays.asList("小明", "小绿");
+ EasyPageResult pageResult = easyProxyQuery.queryable(OrderEntityProxy.DEFAULT)
+ .where((filter, t) -> filter.in(t.userId(), userIds))
+ .orderByAsc((order, t) -> order.column(t.userId()))
+ .toPageResult(pageIndex, pageSize);
+ long end = System.currentTimeMillis();
+ return Arrays.asList(pageResult, (end - start) + "(ms)");
+ }
}
diff --git a/samples/springbootdemo/pom.xml b/samples/springbootdemo/pom.xml
index 5fbd75afa..30315c9d4 100644
--- a/samples/springbootdemo/pom.xml
+++ b/samples/springbootdemo/pom.xml
@@ -70,19 +70,19 @@
com.easy-query
sql-core
- 1.1.7
+ 1.1.8
compile
com.easy-query
sql-api4j
- 1.1.7
+ 1.1.8
compile
com.easy-query
sql-springboot-starter
- 1.1.7
+ 1.1.8
compile
diff --git a/sql-core/pom.xml b/sql-core/pom.xml
index 9bbdf4750..1690007f9 100644
--- a/sql-core/pom.xml
+++ b/sql-core/pom.xml
@@ -5,7 +5,7 @@
easy-query-all
com.easy-query
- 1.1.7
+ 1.1.8
4.0.0
diff --git a/sql-core/src/main/java/com/easy/query/core/basic/jdbc/executor/internal/merge/result/impl/memory/AbstractInMemoryStreamMergeResultSet.java b/sql-core/src/main/java/com/easy/query/core/basic/jdbc/executor/internal/merge/result/impl/memory/AbstractInMemoryStreamMergeResultSet.java
index 61fc863cc..4a3a3cb97 100644
--- a/sql-core/src/main/java/com/easy/query/core/basic/jdbc/executor/internal/merge/result/impl/memory/AbstractInMemoryStreamMergeResultSet.java
+++ b/sql-core/src/main/java/com/easy/query/core/basic/jdbc/executor/internal/merge/result/impl/memory/AbstractInMemoryStreamMergeResultSet.java
@@ -15,6 +15,10 @@
import java.sql.SQLXML;
import java.sql.Time;
import java.sql.Timestamp;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.time.ZoneId;
import java.util.Iterator;
import java.util.List;
import java.util.function.Function;
@@ -123,6 +127,22 @@ public SQLXML getSQLXML(int columnIndex) throws SQLException {
public Timestamp getTimestamp(int columnIndex) throws SQLException {
Object value = currentResultSetRow.getValue(columnIndex);
setWasNull(value == null);
+ if(this.wasNull){
+ return null;
+ }
+ if(value instanceof Timestamp){
+ return (Timestamp) value;
+ }
+ if(value instanceof LocalDateTime){
+ return Timestamp.valueOf((LocalDateTime)value);
+ }
+ if(value instanceof LocalDate){
+ long ts = ((LocalDate)value).atStartOfDay(ZoneId.systemDefault()).toInstant().toEpochMilli();
+ return new Timestamp(ts);
+ }
+ if(value instanceof java.util.Date){
+ return new Timestamp(((java.util.Date)value).getTime());
+ }
return (Timestamp) value;
}
@@ -130,6 +150,15 @@ public Timestamp getTimestamp(int columnIndex) throws SQLException {
public Time getTime(int columnIndex) throws SQLException {
Object value = currentResultSetRow.getValue(columnIndex);
setWasNull(value == null);
+ if(this.wasNull){
+ return null;
+ }
+ if(value instanceof Time){
+ return (Time) value;
+ }
+ if(value instanceof LocalTime){
+ return Time.valueOf((LocalTime)value);
+ }
return (Time) value;
}
diff --git a/sql-core/src/main/java/com/easy/query/core/basic/jdbc/executor/internal/merge/result/impl/memory/EasyInMemoryGroupByOrderStreamMergeResultSet.java b/sql-core/src/main/java/com/easy/query/core/basic/jdbc/executor/internal/merge/result/impl/memory/EasyInMemoryGroupByOrderStreamMergeResultSet.java
index 5df868c14..303142cc4 100644
--- a/sql-core/src/main/java/com/easy/query/core/basic/jdbc/executor/internal/merge/result/impl/memory/EasyInMemoryGroupByOrderStreamMergeResultSet.java
+++ b/sql-core/src/main/java/com/easy/query/core/basic/jdbc/executor/internal/merge/result/impl/memory/EasyInMemoryGroupByOrderStreamMergeResultSet.java
@@ -10,6 +10,7 @@
import com.easy.query.core.exception.EasyQuerySQLCommandException;
import com.easy.query.core.expression.func.AggregationType;
import com.easy.query.core.expression.segment.FuncColumnSegment;
+import com.easy.query.core.expression.segment.MaybeAggregateColumnSegment;
import com.easy.query.core.expression.segment.SQLSegment;
import com.easy.query.core.logging.Log;
import com.easy.query.core.logging.LogFactory;
@@ -131,9 +132,9 @@ private List createAggregationUnitValues() {
boolean aggregateColumn = EasySQLSegmentUtil.isAggregateColumn(sqlSegment);
if(aggregateColumn){
- FuncColumnSegment maybeAggregateColumnSegment = (FuncColumnSegment) sqlSegment;
+ MaybeAggregateColumnSegment maybeAggregateColumnSegment = (MaybeAggregateColumnSegment) sqlSegment;
AggregateValue aggregateValue = new AggregateValue(i, AggregationUnitFactory.create(maybeAggregateColumnSegment.getAggregationType()));
- if(Objects.equals(AggregationType.AVG,maybeAggregateColumnSegment.getAggregationType())){
+ if(maybeAggregateColumnSegment instanceof FuncColumnSegment &&Objects.equals(AggregationType.AVG,maybeAggregateColumnSegment.getAggregationType())){
Map aggregationTypeFuncColumnSegmentMap = streamMergeContext.getGroupMergeContext().getColumnMapping().get(maybeAggregateColumnSegment);
if(aggregationTypeFuncColumnSegmentMap==null){
throw new UnsupportedOperationException("not found sum or count projects, avg column:" + EasyClassUtil.getInstanceSimpleName(sqlSegment));
diff --git a/sql-core/src/main/java/com/easy/query/core/basic/jdbc/types/handler/LocalTimeTypeHandler.java b/sql-core/src/main/java/com/easy/query/core/basic/jdbc/types/handler/LocalTimeTypeHandler.java
index d349ad71f..eb266e1cd 100644
--- a/sql-core/src/main/java/com/easy/query/core/basic/jdbc/types/handler/LocalTimeTypeHandler.java
+++ b/sql-core/src/main/java/com/easy/query/core/basic/jdbc/types/handler/LocalTimeTypeHandler.java
@@ -21,7 +21,6 @@ public Object getValue(EasyResultSet resultSet) throws SQLException {
return time.toLocalTime();
}
return null;
-
}
@Override
diff --git a/sql-db-support/pom.xml b/sql-db-support/pom.xml
index 357a22ede..c901a4f01 100644
--- a/sql-db-support/pom.xml
+++ b/sql-db-support/pom.xml
@@ -6,7 +6,7 @@
com.easy-query
easy-query-all
- 1.1.7
+ 1.1.8
sql-db-support
diff --git a/sql-db-support/sql-h2/pom.xml b/sql-db-support/sql-h2/pom.xml
index 0367a919a..eab88f6f2 100644
--- a/sql-db-support/sql-h2/pom.xml
+++ b/sql-db-support/sql-h2/pom.xml
@@ -6,7 +6,7 @@
com.easy-query
easy-query-all
- 1.1.7
+ 1.1.8
../../pom.xml
diff --git a/sql-db-support/sql-mssql/pom.xml b/sql-db-support/sql-mssql/pom.xml
index 66f1e33a6..b8d3689bb 100644
--- a/sql-db-support/sql-mssql/pom.xml
+++ b/sql-db-support/sql-mssql/pom.xml
@@ -6,7 +6,7 @@
com.easy-query
easy-query-all
- 1.1.7
+ 1.1.8
../../pom.xml
diff --git a/sql-db-support/sql-mysql/pom.xml b/sql-db-support/sql-mysql/pom.xml
index 8b6902eaa..50bc8d2cc 100644
--- a/sql-db-support/sql-mysql/pom.xml
+++ b/sql-db-support/sql-mysql/pom.xml
@@ -6,7 +6,7 @@
com.easy-query
easy-query-all
- 1.1.7
+ 1.1.8
../../pom.xml
diff --git a/sql-db-support/sql-pgsql/pom.xml b/sql-db-support/sql-pgsql/pom.xml
index 4f75e7f08..2bc7930ee 100644
--- a/sql-db-support/sql-pgsql/pom.xml
+++ b/sql-db-support/sql-pgsql/pom.xml
@@ -6,7 +6,7 @@
com.easy-query
easy-query-all
- 1.1.7
+ 1.1.8
../../pom.xml
diff --git a/sql-db-support/sql-sqlite/pom.xml b/sql-db-support/sql-sqlite/pom.xml
index ababde833..ec1be99a5 100644
--- a/sql-db-support/sql-sqlite/pom.xml
+++ b/sql-db-support/sql-sqlite/pom.xml
@@ -6,7 +6,7 @@
com.easy-query
easy-query-all
- 1.1.7
+ 1.1.8
../../pom.xml
diff --git a/sql-extension/pom.xml b/sql-extension/pom.xml
index db8c85b3d..48c9c155a 100644
--- a/sql-extension/pom.xml
+++ b/sql-extension/pom.xml
@@ -6,7 +6,7 @@
com.easy-query
easy-query-all
- 1.1.7
+ 1.1.8
sql-extension
diff --git a/sql-extension/sql-kt-springboot-starter/pom.xml b/sql-extension/sql-kt-springboot-starter/pom.xml
index 776154189..3edbdeadb 100644
--- a/sql-extension/sql-kt-springboot-starter/pom.xml
+++ b/sql-extension/sql-kt-springboot-starter/pom.xml
@@ -6,7 +6,7 @@
com.easy-query
easy-query-all
- 1.1.7
+ 1.1.8
../../pom.xml
diff --git a/sql-extension/sql-springboot-starter/pom.xml b/sql-extension/sql-springboot-starter/pom.xml
index c4743ddc0..f3eacccab 100644
--- a/sql-extension/sql-springboot-starter/pom.xml
+++ b/sql-extension/sql-springboot-starter/pom.xml
@@ -6,7 +6,7 @@
com.easy-query
easy-query-all
- 1.1.7
+ 1.1.8
../../pom.xml
diff --git a/sql-platform/pom.xml b/sql-platform/pom.xml
index f3bd0e148..1a8d23f44 100644
--- a/sql-platform/pom.xml
+++ b/sql-platform/pom.xml
@@ -6,7 +6,7 @@
com.easy-query
easy-query-all
- 1.1.7
+ 1.1.8
sql-platform
diff --git a/sql-platform/sql-api-proxy/pom.xml b/sql-platform/sql-api-proxy/pom.xml
index c404c04c9..e7b35265d 100644
--- a/sql-platform/sql-api-proxy/pom.xml
+++ b/sql-platform/sql-api-proxy/pom.xml
@@ -6,7 +6,7 @@
com.easy-query
sql-platform
- 1.1.7
+ 1.1.8
sql-api-proxy
diff --git a/sql-platform/sql-api4j/pom.xml b/sql-platform/sql-api4j/pom.xml
index 2762af4a1..52e6a11d5 100644
--- a/sql-platform/sql-api4j/pom.xml
+++ b/sql-platform/sql-api4j/pom.xml
@@ -6,7 +6,7 @@
com.easy-query
easy-query-all
- 1.1.7
+ 1.1.8
../../pom.xml
diff --git a/sql-platform/sql-api4kt/pom.xml b/sql-platform/sql-api4kt/pom.xml
index b071d64b6..65c4868b8 100644
--- a/sql-platform/sql-api4kt/pom.xml
+++ b/sql-platform/sql-api4kt/pom.xml
@@ -6,7 +6,7 @@
com.easy-query
easy-query-all
- 1.1.7
+ 1.1.8
../../pom.xml
diff --git a/sql-processor/pom.xml b/sql-processor/pom.xml
index fdfd52432..4fdfdb725 100644
--- a/sql-processor/pom.xml
+++ b/sql-processor/pom.xml
@@ -6,7 +6,7 @@
com.easy-query
easy-query-all
- 1.1.7
+ 1.1.8
sql-processor
diff --git a/sql-test/pom.xml b/sql-test/pom.xml
index 95ccb73e9..b81b40b02 100644
--- a/sql-test/pom.xml
+++ b/sql-test/pom.xml
@@ -5,7 +5,7 @@
easy-query-all
com.easy-query
- 1.1.7
+ 1.1.8
4.0.0
@@ -29,7 +29,7 @@
com.easy-query
sql-processor
- 1.1.7
+ 1.1.8
compile
@@ -41,19 +41,19 @@
com.easy-query
sql-h2
- 1.1.7
+ 1.1.8
compile
com.easy-query
sql-api4j
- 1.1.7
+ 1.1.8
compile
com.easy-query
sql-api-proxy
- 1.1.7
+ 1.1.8
compile