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