This is an automated email from the ASF dual-hosted git repository.
menghaoran 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 7a1a2b4 PostgreSQL CommandCompletion return actual rows (#10748)
7a1a2b4 is described below
commit 7a1a2b422aec8a6f2982b0f43c48f653008dd6c1
Author: 吴伟杰 <[email protected]>
AuthorDate: Thu Jun 10 15:03:52 2021 +0800
PostgreSQL CommandCompletion return actual rows (#10748)
---
.../command/query/binary/execute/PostgreSQLComExecuteExecutor.java | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/binary/execute/PostgreSQLComExecuteExecutor.java
b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/binary/execute/PostgreSQLComExecuteExecutor.java
index 053f318..1e4ba7e 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/binary/execute/PostgreSQLComExecuteExecutor.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/binary/execute/PostgreSQLComExecuteExecutor.java
@@ -46,6 +46,8 @@ public final class PostgreSQLComExecuteExecutor implements
QueryCommandExecutor
private final Collection<QueryCommandExecutor> queryCommandExecutors = new
LinkedList<>();
+ private long dataRows;
+
private boolean commandComplete;
@Override
@@ -75,6 +77,7 @@ public final class PostgreSQLComExecuteExecutor implements
QueryCommandExecutor
public DatabasePacket<?> getQueryRowPacket() throws SQLException {
Optional<DatabasePacket<?>> result =
getPacketFromQueryCommandExecutors();
if (result.isPresent()) {
+ dataRows++;
return result.get();
}
return createCommandCompletePacket();
@@ -86,7 +89,7 @@ public final class PostgreSQLComExecuteExecutor implements
QueryCommandExecutor
return new PostgreSQLEmptyQueryResponsePacket();
}
String sqlCommand =
connectionContext.getSqlStatement().map(SQLStatement::getClass).map(PostgreSQLCommand::valueOf).map(command
-> command.map(Enum::name).orElse("")).orElse("");
- PostgreSQLCommandCompletePacket result = new
PostgreSQLCommandCompletePacket(sqlCommand, connectionContext.getUpdateCount());
+ PostgreSQLCommandCompletePacket result = new
PostgreSQLCommandCompletePacket(sqlCommand, Math.max(dataRows,
connectionContext.getUpdateCount()));
connectionContext.clearContext();
return result;
}