This is an automated email from the ASF dual-hosted git repository.
jianglongtao 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 f3a6c07 Refactor PostgreSQLBindCompletePacket to singleton (#14819)
f3a6c07 is described below
commit f3a6c07837f9a77ebdf367fcfebb36002e17961d
Author: 吴伟杰 <[email protected]>
AuthorDate: Mon Jan 17 13:35:49 2022 +0800
Refactor PostgreSQLBindCompletePacket to singleton (#14819)
---
.../query/extended/bind/PostgreSQLBindCompletePacket.java | 14 ++++++++++++++
.../extended/bind/PostgreSQLBindCompletePacketTest.java | 4 ++--
.../query/extended/bind/OpenGaussComBatchBindExecutor.java | 2 +-
.../PostgreSQLAggregatedBatchedInsertsCommandExecutor.java | 2 +-
.../query/extended/bind/PostgreSQLComBindExecutor.java | 2 +-
.../query/extended/bind/PostgreSQLComBindExecutorTest.java | 9 ++++-----
6 files changed, 23 insertions(+), 10 deletions(-)
diff --git
a/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/extended/bind/PostgreSQLBindCompletePacket.java
b/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/extended/bind/PostgreSQLBindCompletePacket.java
index 77cd7c1..6f8bea2 100644
---
a/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/extended/bind/PostgreSQLBindCompletePacket.java
+++
b/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/main/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/extended/bind/PostgreSQLBindCompletePacket.java
@@ -17,6 +17,8 @@
package
org.apache.shardingsphere.db.protocol.postgresql.packet.command.query.extended.bind;
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.db.protocol.postgresql.packet.identifier.PostgreSQLIdentifierPacket;
import
org.apache.shardingsphere.db.protocol.postgresql.packet.identifier.PostgreSQLIdentifierTag;
import
org.apache.shardingsphere.db.protocol.postgresql.packet.identifier.PostgreSQLMessagePacketType;
@@ -25,8 +27,20 @@ import
org.apache.shardingsphere.db.protocol.postgresql.payload.PostgreSQLPacket
/**
* Bind complete packet for PostgreSQL.
*/
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
public final class PostgreSQLBindCompletePacket implements
PostgreSQLIdentifierPacket {
+ private static final PostgreSQLBindCompletePacket INSTANCE = new
PostgreSQLBindCompletePacket();
+
+ /**
+ * Get instance of {@link PostgreSQLBindCompletePacket}.
+ *
+ * @return instance of {@link PostgreSQLBindCompletePacket}
+ */
+ public static PostgreSQLBindCompletePacket getInstance() {
+ return INSTANCE;
+ }
+
@Override
public void write(final PostgreSQLPacketPayload payload) {
}
diff --git
a/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/test/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/extended/bind/PostgreSQLBindCompletePacketTest.java
b/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/test/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/extended/bind/PostgreSQLBindCompletePacketTest.java
index e0aa300..1074171 100644
---
a/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/test/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/extended/bind/PostgreSQLBindCompletePacketTest.java
+++
b/shardingsphere-db-protocol/shardingsphere-db-protocol-postgresql/src/test/java/org/apache/shardingsphere/db/protocol/postgresql/packet/command/query/extended/bind/PostgreSQLBindCompletePacketTest.java
@@ -39,14 +39,14 @@ public final class PostgreSQLBindCompletePacketTest {
@Test
public void assertWrite() {
- PostgreSQLBindCompletePacket rowPacket = new
PostgreSQLBindCompletePacket();
+ PostgreSQLBindCompletePacket rowPacket =
PostgreSQLBindCompletePacket.getInstance();
rowPacket.write(payload);
assertThat(byteBuf.writerIndex(), is(0));
}
@Test
public void assertGetMessageType() {
- PostgreSQLBindCompletePacket rowPacket = new
PostgreSQLBindCompletePacket();
+ PostgreSQLBindCompletePacket rowPacket =
PostgreSQLBindCompletePacket.getInstance();
assertThat(rowPacket.getIdentifier(),
is(PostgreSQLMessagePacketType.BIND_COMPLETE));
}
}
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-opengauss/src/main/java/org/apache/shardingsphere/proxy/frontend/opengauss/command/query/extended/bind/OpenGaussComBatchBindExecutor.java
b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-opengauss/src/main/java/org/apache/shardingsphere/proxy/frontend/opengauss/command/query/extended/bind/OpenGaussComBatchBindExecutor.java
index aa5d430..d79ccea 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-opengauss/src/main/java/org/apache/shardingsphere/proxy/frontend/opengauss/command/query/extended/bind/OpenGaussComBatchBindExecutor.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-opengauss/src/main/java/org/apache/shardingsphere/proxy/frontend/opengauss/command/query/extended/bind/OpenGaussComBatchBindExecutor.java
@@ -53,7 +53,7 @@ public final class OpenGaussComBatchBindExecutor implements
QueryCommandExecutor
public Collection<DatabasePacket<?>> execute() throws SQLException {
PostgreSQLPreparedStatement preparedStatement =
PostgreSQLPreparedStatementRegistry.getInstance().get(connectionSession.getConnectionId(),
packet.getStatementId());
updateCount = new PostgreSQLBatchedInsertsExecutor(connectionSession,
preparedStatement,
packet.readParameterSets(preparedStatement.getParameterTypes())).executeBatch();
- return Collections.singletonList(new PostgreSQLBindCompletePacket());
+ return
Collections.singletonList(PostgreSQLBindCompletePacket.getInstance());
}
@Override
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PostgreSQLAggregatedBatchedInsertsCommandExecutor.java
b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PostgreSQLAggregatedBatchedInsertsCommandExecutor.java
index f7e15d0..bc90012 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PostgreSQLAggregatedBatchedInsertsCommandExecutor.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/PostgreSQLAggregatedBatchedInsertsCommandExecutor.java
@@ -58,7 +58,7 @@ public final class
PostgreSQLAggregatedBatchedInsertsCommandExecutor implements
int executePacketCount = executePacketCount();
for (PostgreSQLCommandPacket each : packets) {
if (each instanceof PostgreSQLComBindPacket) {
- result.add(new PostgreSQLBindCompletePacket());
+ result.add(PostgreSQLBindCompletePacket.getInstance());
}
if (each instanceof PostgreSQLComDescribePacket) {
result.add(preparedStatement.describeRows().orElseGet(PostgreSQLNoDataPacket::getInstance));
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/bind/PostgreSQLComBindExecutor.java
b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/bind/PostgreSQLComBindExecutor.java
index b3aaff4..6804a02 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/bind/PostgreSQLComBindExecutor.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/bind/PostgreSQLComBindExecutor.java
@@ -49,6 +49,6 @@ public final class PostgreSQLComBindExecutor implements
CommandExecutor {
PostgreSQLPreparedStatement preparedStatement =
PostgreSQLPreparedStatementRegistry.getInstance().get(connectionSession.getConnectionId(),
packet.getStatementId());
JDBCBackendConnection backendConnection = (JDBCBackendConnection)
connectionSession.getBackendConnection();
connectionContext.createPortal(packet.getPortal(), preparedStatement,
packet.readParameters(preparedStatement.getParameterTypes()),
packet.readResultFormats(), backendConnection).execute();
- return Collections.singletonList(new PostgreSQLBindCompletePacket());
+ return
Collections.singletonList(PostgreSQLBindCompletePacket.getInstance());
}
}
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/bind/PostgreSQLComBindExecutorTest.java
b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/bind/PostgreSQLComBindExecutorTest.java
index b1a671e..d488344b 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/bind/PostgreSQLComBindExecutorTest.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-frontend/shardingsphere-proxy-frontend-postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/bind/PostgreSQLComBindExecutorTest.java
@@ -39,7 +39,6 @@ import java.util.Collections;
import java.util.Iterator;
import java.util.List;
-import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;
import static org.mockito.ArgumentMatchers.any;
@@ -85,7 +84,7 @@ public final class PostgreSQLComBindExecutorTest {
PostgreSQLComBindExecutor executor = new
PostgreSQLComBindExecutor(connectionContext, bindPacket, connectionSession);
Collection<DatabasePacket<?>> actual = executor.execute();
assertThat(actual.size(), is(1));
- assertThat(actual.iterator().next(),
is(instanceOf(PostgreSQLBindCompletePacket.class)));
+ assertThat(actual.iterator().next(),
is(PostgreSQLBindCompletePacket.getInstance()));
verify(portal).execute();
}
@@ -94,7 +93,7 @@ public final class PostgreSQLComBindExecutorTest {
PostgreSQLComBindExecutor executor = new
PostgreSQLComBindExecutor(connectionContext, bindPacket, connectionSession);
Collection<DatabasePacket<?>> actual = executor.execute();
assertThat(actual.size(), is(1));
- assertThat(actual.iterator().next(),
is(instanceOf(PostgreSQLBindCompletePacket.class)));
+ assertThat(actual.iterator().next(),
is(PostgreSQLBindCompletePacket.getInstance()));
verify(portal).execute();
}
@@ -104,7 +103,7 @@ public final class PostgreSQLComBindExecutorTest {
Collection<DatabasePacket<?>> actual = executor.execute();
assertThat(actual.size(), is(1));
Iterator<DatabasePacket<?>> actualPackets = actual.iterator();
- assertThat(actualPackets.next(),
is(instanceOf(PostgreSQLBindCompletePacket.class)));
+ assertThat(actualPackets.next(),
is(PostgreSQLBindCompletePacket.getInstance()));
verify(portal).execute();
}
@@ -113,7 +112,7 @@ public final class PostgreSQLComBindExecutorTest {
PostgreSQLComBindExecutor executor = new
PostgreSQLComBindExecutor(connectionContext, bindPacket, connectionSession);
Collection<DatabasePacket<?>> actual = executor.execute();
assertThat(actual.size(), is(1));
- assertThat(actual.iterator().next(),
is(instanceOf(PostgreSQLBindCompletePacket.class)));
+ assertThat(actual.iterator().next(),
is(PostgreSQLBindCompletePacket.getInstance()));
verify(portal).execute();
}
}