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

chengzhang 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 eeaee61bf27 Fix sonar issue for FirebirdSelectStatement and 
ServerStatusFlagCalculator (#33800)
eeaee61bf27 is described below

commit eeaee61bf27f1c10f3b523d89993a3a56abc3cd2
Author: Zhengqiang Duan <duanzhengqi...@apache.org>
AuthorDate: Mon Nov 25 19:29:46 2024 +0800

    Fix sonar issue for FirebirdSelectStatement and ServerStatusFlagCalculator 
(#33800)
---
 .../parser/statement/firebird/dml/FirebirdSelectStatement.java |  1 +
 .../frontend/mysql/command/MySQLCommandExecuteEngine.java      |  2 +-
 .../frontend/mysql/command/ServerStatusFlagCalculator.java     | 10 ----------
 .../mysql/command/admin/MySQLComResetConnectionExecutor.java   |  2 +-
 .../mysql/command/admin/MySQLComSetOptionExecutor.java         |  2 +-
 .../mysql/command/admin/initdb/MySQLComInitDbExecutor.java     |  2 +-
 .../mysql/command/admin/ping/MySQLComPingExecutor.java         |  2 +-
 .../query/binary/execute/MySQLComStmtExecuteExecutor.java      |  4 ++--
 .../query/binary/prepare/MySQLComStmtPrepareExecutor.java      |  2 +-
 .../command/query/binary/reset/MySQLComStmtResetExecutor.java  |  2 +-
 .../query/text/fieldlist/MySQLComFieldListPacketExecutor.java  |  2 +-
 .../command/query/text/query/MySQLComQueryPacketExecutor.java  |  4 ++--
 .../frontend/mysql/command/ServerStatusFlagCalculatorTest.java |  8 ++++----
 13 files changed, 17 insertions(+), 26 deletions(-)

diff --git 
a/parser/sql/statement/type/firebird/src/main/java/org/apache/shardingsphere/sql/parser/statement/firebird/dml/FirebirdSelectStatement.java
 
b/parser/sql/statement/type/firebird/src/main/java/org/apache/shardingsphere/sql/parser/statement/firebird/dml/FirebirdSelectStatement.java
index b26ffbd7312..0c582b49419 100644
--- 
a/parser/sql/statement/type/firebird/src/main/java/org/apache/shardingsphere/sql/parser/statement/firebird/dml/FirebirdSelectStatement.java
+++ 
b/parser/sql/statement/type/firebird/src/main/java/org/apache/shardingsphere/sql/parser/statement/firebird/dml/FirebirdSelectStatement.java
@@ -37,6 +37,7 @@ public final class FirebirdSelectStatement extends 
SelectStatement implements Fi
      *
      * @return order by segment
      */
+    @Override
     public Optional<LimitSegment> getLimit() {
         return Optional.ofNullable(limit);
     }
diff --git 
a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/MySQLCommandExecuteEngine.java
 
b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/MySQLCommandExecuteEngine.java
index 48985b6b6de..2782618fb81 100644
--- 
a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/MySQLCommandExecuteEngine.java
+++ 
b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/MySQLCommandExecuteEngine.java
@@ -82,6 +82,6 @@ public final class MySQLCommandExecuteEngine implements 
CommandExecuteEngine {
                 count = 0;
             }
         }
-        context.write(new 
MySQLEofPacket(ServerStatusFlagCalculator.calculateFor(databaseConnectionManager.getConnectionSession())));
+        context.write(new 
MySQLEofPacket(ServerStatusFlagCalculator.calculateFor(databaseConnectionManager.getConnectionSession(),
 true)));
     }
 }
diff --git 
a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/ServerStatusFlagCalculator.java
 
b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/ServerStatusFlagCalculator.java
index 5efce2ad4e7..e067bfe0a00 100644
--- 
a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/ServerStatusFlagCalculator.java
+++ 
b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/ServerStatusFlagCalculator.java
@@ -28,16 +28,6 @@ import 
org.apache.shardingsphere.proxy.backend.session.ConnectionSession;
 @NoArgsConstructor(access = AccessLevel.PRIVATE)
 public final class ServerStatusFlagCalculator {
     
-    /**
-     * Calculate server status flag for specified connection.
-     *
-     * @param connectionSession connection session
-     * @return server status flag
-     */
-    public static int calculateFor(final ConnectionSession connectionSession) {
-        return calculateFor(connectionSession, true);
-    }
-    
     /**
      * Calculate server status flag for specified connection.
      *
diff --git 
a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/admin/MySQLComResetConnectionExecutor.java
 
b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/admin/MySQLComResetConnectionExecutor.java
index 0ea3f0f8111..9aac886573c 100644
--- 
a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/admin/MySQLComResetConnectionExecutor.java
+++ 
b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/admin/MySQLComResetConnectionExecutor.java
@@ -44,6 +44,6 @@ public final class MySQLComResetConnectionExecutor implements 
CommandExecutor {
         connectionSession.setDefaultIsolationLevel(null);
         connectionSession.setIsolationLevel(null);
         connectionSession.getServerPreparedStatementRegistry().clear();
-        return Collections.singleton(new 
MySQLOKPacket(ServerStatusFlagCalculator.calculateFor(connectionSession)));
+        return Collections.singleton(new 
MySQLOKPacket(ServerStatusFlagCalculator.calculateFor(connectionSession, 
true)));
     }
 }
diff --git 
a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/admin/MySQLComSetOptionExecutor.java
 
b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/admin/MySQLComSetOptionExecutor.java
index 81dced1b886..4df700e49c2 100644
--- 
a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/admin/MySQLComSetOptionExecutor.java
+++ 
b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/admin/MySQLComSetOptionExecutor.java
@@ -42,6 +42,6 @@ public final class MySQLComSetOptionExecutor implements 
CommandExecutor {
     @Override
     public Collection<DatabasePacket> execute() {
         
connectionSession.getAttributeMap().attr(MySQLConstants.OPTION_MULTI_STATEMENTS_ATTRIBUTE_KEY).set(packet.getValue());
-        return Collections.singleton(new 
MySQLOKPacket(ServerStatusFlagCalculator.calculateFor(connectionSession)));
+        return Collections.singleton(new 
MySQLOKPacket(ServerStatusFlagCalculator.calculateFor(connectionSession, 
true)));
     }
 }
diff --git 
a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/admin/initdb/MySQLComInitDbExecutor.java
 
b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/admin/initdb/MySQLComInitDbExecutor.java
index ec6aee85c08..a1e46227545 100644
--- 
a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/admin/initdb/MySQLComInitDbExecutor.java
+++ 
b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/admin/initdb/MySQLComInitDbExecutor.java
@@ -52,6 +52,6 @@ public final class MySQLComInitDbExecutor implements 
CommandExecutor {
         
ShardingSpherePreconditions.checkState(ProxyContext.getInstance().databaseExists(databaseName)
 && authorityChecker.isAuthorized(databaseName),
                 () -> new UnknownDatabaseException(packet.getSchema()));
         connectionSession.setCurrentDatabaseName(packet.getSchema());
-        return Collections.singleton(new 
MySQLOKPacket(ServerStatusFlagCalculator.calculateFor(connectionSession)));
+        return Collections.singleton(new 
MySQLOKPacket(ServerStatusFlagCalculator.calculateFor(connectionSession, 
true)));
     }
 }
diff --git 
a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/admin/ping/MySQLComPingExecutor.java
 
b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/admin/ping/MySQLComPingExecutor.java
index 2ce8305c50b..75ccca91600 100644
--- 
a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/admin/ping/MySQLComPingExecutor.java
+++ 
b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/admin/ping/MySQLComPingExecutor.java
@@ -37,6 +37,6 @@ public final class MySQLComPingExecutor implements 
CommandExecutor {
     
     @Override
     public Collection<DatabasePacket> execute() {
-        return Collections.singleton(new 
MySQLOKPacket(ServerStatusFlagCalculator.calculateFor(connectionSession)));
+        return Collections.singleton(new 
MySQLOKPacket(ServerStatusFlagCalculator.calculateFor(connectionSession, 
true)));
     }
 }
diff --git 
a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/execute/MySQLComStmtExecuteExecutor.java
 
b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/execute/MySQLComStmtExecuteExecutor.java
index 4a001bba1f1..108b58dca01 100644
--- 
a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/execute/MySQLComStmtExecuteExecutor.java
+++ 
b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/execute/MySQLComStmtExecuteExecutor.java
@@ -97,12 +97,12 @@ public final class MySQLComStmtExecuteExecutor implements 
QueryCommandExecutor {
     private Collection<DatabasePacket> processQuery(final QueryResponseHeader 
queryResponseHeader) {
         responseType = ResponseType.QUERY;
         int characterSet = 
connectionSession.getAttributeMap().attr(MySQLConstants.CHARACTER_SET_ATTRIBUTE_KEY).get().getId();
-        return 
ResponsePacketBuilder.buildQueryResponsePackets(queryResponseHeader, 
characterSet, ServerStatusFlagCalculator.calculateFor(connectionSession));
+        return 
ResponsePacketBuilder.buildQueryResponsePackets(queryResponseHeader, 
characterSet, ServerStatusFlagCalculator.calculateFor(connectionSession, true));
     }
     
     private Collection<DatabasePacket> processUpdate(final 
UpdateResponseHeader updateResponseHeader) {
         responseType = ResponseType.UPDATE;
-        return 
ResponsePacketBuilder.buildUpdateResponsePackets(updateResponseHeader, 
ServerStatusFlagCalculator.calculateFor(connectionSession));
+        return 
ResponsePacketBuilder.buildUpdateResponsePackets(updateResponseHeader, 
ServerStatusFlagCalculator.calculateFor(connectionSession, true));
     }
     
     @Override
diff --git 
a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/prepare/MySQLComStmtPrepareExecutor.java
 
b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/prepare/MySQLComStmtPrepareExecutor.java
index 545c7a9f128..9a28b33a684 100644
--- 
a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/prepare/MySQLComStmtPrepareExecutor.java
+++ 
b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/prepare/MySQLComStmtPrepareExecutor.java
@@ -109,7 +109,7 @@ public final class MySQLComStmtPrepareExecutor implements 
CommandExecutor {
         ShardingSpherePreconditions.checkState(parameterCount <= 
MAX_PARAMETER_COUNT, TooManyPlaceholdersException::new);
         result.add(new MySQLComStmtPrepareOKPacket(statementId, 
projections.size(), parameterCount, 0));
         int characterSet = 
connectionSession.getAttributeMap().attr(MySQLConstants.CHARACTER_SET_ATTRIBUTE_KEY).get().getId();
-        int statusFlags = 
ServerStatusFlagCalculator.calculateFor(connectionSession);
+        int statusFlags = 
ServerStatusFlagCalculator.calculateFor(connectionSession, true);
         if (parameterCount > 0) {
             
result.addAll(createParameterColumnDefinition41Packets(sqlStatementContext, 
characterSet, serverPreparedStatement));
             result.add(new MySQLEofPacket(statusFlags));
diff --git 
a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/reset/MySQLComStmtResetExecutor.java
 
b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/reset/MySQLComStmtResetExecutor.java
index 5bd89e88272..12806c013f2 100644
--- 
a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/reset/MySQLComStmtResetExecutor.java
+++ 
b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/binary/reset/MySQLComStmtResetExecutor.java
@@ -42,6 +42,6 @@ public final class MySQLComStmtResetExecutor implements 
CommandExecutor {
     @Override
     public Collection<DatabasePacket> execute() {
         
connectionSession.getServerPreparedStatementRegistry().<MySQLServerPreparedStatement>getPreparedStatement(packet.getStatementId()).getLongData().clear();
-        return Collections.singleton(new 
MySQLOKPacket(ServerStatusFlagCalculator.calculateFor(connectionSession)));
+        return Collections.singleton(new 
MySQLOKPacket(ServerStatusFlagCalculator.calculateFor(connectionSession, 
true)));
     }
 }
diff --git 
a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/fieldlist/MySQLComFieldListPacketExecutor.java
 
b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/fieldlist/MySQLComFieldListPacketExecutor.java
index ca6153cc1f7..994411cc713 100644
--- 
a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/fieldlist/MySQLComFieldListPacketExecutor.java
+++ 
b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/fieldlist/MySQLComFieldListPacketExecutor.java
@@ -85,7 +85,7 @@ public final class MySQLComFieldListPacketExecutor implements 
CommandExecutor {
             result.add(new MySQLColumnDefinition41Packet(
                     characterSet, databaseName, packet.getTable(), 
packet.getTable(), columnName, columnName, 100, MySQLBinaryColumnType.VARCHAR, 
0, true));
         }
-        result.add(new 
MySQLEofPacket(ServerStatusFlagCalculator.calculateFor(connectionSession)));
+        result.add(new 
MySQLEofPacket(ServerStatusFlagCalculator.calculateFor(connectionSession, 
true)));
         return result;
     }
     
diff --git 
a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/query/MySQLComQueryPacketExecutor.java
 
b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/query/MySQLComQueryPacketExecutor.java
index a181a8432fb..5d97583690f 100644
--- 
a/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/query/MySQLComQueryPacketExecutor.java
+++ 
b/proxy/frontend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/frontend/mysql/command/query/text/query/MySQLComQueryPacketExecutor.java
@@ -103,11 +103,11 @@ public final class MySQLComQueryPacketExecutor implements 
QueryCommandExecutor {
     
     private Collection<DatabasePacket> processQuery(final QueryResponseHeader 
queryResponseHeader) {
         responseType = ResponseType.QUERY;
-        return 
ResponsePacketBuilder.buildQueryResponsePackets(queryResponseHeader, 
characterSet, ServerStatusFlagCalculator.calculateFor(connectionSession));
+        return 
ResponsePacketBuilder.buildQueryResponsePackets(queryResponseHeader, 
characterSet, ServerStatusFlagCalculator.calculateFor(connectionSession, true));
     }
     
     private Collection<DatabasePacket> processUpdate(final 
UpdateResponseHeader updateResponseHeader) {
-        return 
ResponsePacketBuilder.buildUpdateResponsePackets(updateResponseHeader, 
ServerStatusFlagCalculator.calculateFor(connectionSession));
+        return 
ResponsePacketBuilder.buildUpdateResponsePackets(updateResponseHeader, 
ServerStatusFlagCalculator.calculateFor(connectionSession, true));
     }
     
     private Collection<DatabasePacket> processMultiStatementsUpdate(final 
MultiStatementsUpdateResponseHeader responseHeader) {
diff --git 
a/proxy/frontend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/ServerStatusFlagCalculatorTest.java
 
b/proxy/frontend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/ServerStatusFlagCalculatorTest.java
index 677e8c9fc61..9e43ac2bec1 100644
--- 
a/proxy/frontend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/ServerStatusFlagCalculatorTest.java
+++ 
b/proxy/frontend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/frontend/mysql/command/ServerStatusFlagCalculatorTest.java
@@ -38,25 +38,25 @@ class ServerStatusFlagCalculatorTest {
     @Test
     void assertAutoCommitNotInTransaction() {
         when(connectionSession.isAutoCommit()).thenReturn(true);
-        assertThat(ServerStatusFlagCalculator.calculateFor(connectionSession), 
is(MySQLStatusFlag.SERVER_STATUS_AUTOCOMMIT.getValue()));
+        assertThat(ServerStatusFlagCalculator.calculateFor(connectionSession, 
true), is(MySQLStatusFlag.SERVER_STATUS_AUTOCOMMIT.getValue()));
     }
     
     @Test
     void assertAutoCommitInTransaction() {
         when(connectionSession.isAutoCommit()).thenReturn(true);
         
when(connectionSession.getTransactionStatus().isInTransaction()).thenReturn(true);
-        assertThat(ServerStatusFlagCalculator.calculateFor(connectionSession), 
is(MySQLStatusFlag.SERVER_STATUS_IN_TRANS.getValue() | 
MySQLStatusFlag.SERVER_STATUS_AUTOCOMMIT.getValue()));
+        assertThat(ServerStatusFlagCalculator.calculateFor(connectionSession, 
true), is(MySQLStatusFlag.SERVER_STATUS_IN_TRANS.getValue() | 
MySQLStatusFlag.SERVER_STATUS_AUTOCOMMIT.getValue()));
     }
     
     @Test
     void assertNotAutoCommitNotInTransaction() {
-        assertThat(ServerStatusFlagCalculator.calculateFor(connectionSession), 
is(0));
+        assertThat(ServerStatusFlagCalculator.calculateFor(connectionSession, 
true), is(0));
     }
     
     @Test
     void assertNotAutoCommitInTransaction() {
         
when(connectionSession.getTransactionStatus().isInTransaction()).thenReturn(true);
-        assertThat(ServerStatusFlagCalculator.calculateFor(connectionSession), 
is(MySQLStatusFlag.SERVER_STATUS_IN_TRANS.getValue()));
+        assertThat(ServerStatusFlagCalculator.calculateFor(connectionSession, 
true), is(MySQLStatusFlag.SERVER_STATUS_IN_TRANS.getValue()));
     }
     
     @Test

Reply via email to