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();
     }
 }

Reply via email to