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 <[email protected]>
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