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

zhangliang 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 b034788be66 Refactor MySQLComFieldListPacketExecutor to use database 
type consistently (#35517)
b034788be66 is described below

commit b034788be66d937e6f61f90107df38639e589f5c
Author: Liang Zhang <zhangli...@apache.org>
AuthorDate: Sun May 25 23:22:28 2025 +0800

    Refactor MySQLComFieldListPacketExecutor to use database type consistently 
(#35517)
    
    * Refactor PostgreSQLBatchedStatementsExecutor to use database type 
consistently
    
    * Refactor MySQLComFieldListPacketExecutor to use database type consistently
    
    * Refactor MySQLComFieldListPacketExecutor to use database type consistently
---
 .../query/text/fieldlist/MySQLComFieldListPacketExecutor.java     | 2 +-
 .../query/extended/bind/OpenGaussComBatchBindExecutorTest.java    | 8 +++++---
 2 files changed, 6 insertions(+), 4 deletions(-)

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 50846b8c92b..1eeaeb33639 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
@@ -71,7 +71,7 @@ public final class MySQLComFieldListPacketExecutor implements 
CommandExecutor {
         SQLParserRule sqlParserRule = 
metaDataContexts.getMetaData().getGlobalRuleMetaData().getSingleRule(SQLParserRule.class);
         SQLStatement sqlStatement = 
sqlParserRule.getSQLParserEngine(databaseType).parse(sql, false);
         HintValueContext hintValueContext = SQLHintUtils.extractHint(sql);
-        SQLStatementContext sqlStatementContext = new 
SQLBindEngine(metaDataContexts.getMetaData(), currentDatabaseName, 
hintValueContext).bind(sqlStatement, Collections.emptyList());
+        SQLStatementContext sqlStatementContext = new 
SQLBindEngine(metaDataContexts.getMetaData(), currentDatabaseName, 
hintValueContext).bind(databaseType, sqlStatement, Collections.emptyList());
         ProxyDatabaseConnectionManager databaseConnectionManager = 
connectionSession.getDatabaseConnectionManager();
         QueryContext queryContext = new QueryContext(sqlStatementContext, sql, 
Collections.emptyList(), hintValueContext, 
connectionSession.getConnectionContext(), metaDataContexts.getMetaData());
         databaseConnector = 
DatabaseConnectorFactory.getInstance().newInstance(queryContext, 
databaseConnectionManager, false);
diff --git 
a/proxy/frontend/type/opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/command/query/extended/bind/OpenGaussComBatchBindExecutorTest.java
 
b/proxy/frontend/type/opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/command/query/extended/bind/OpenGaussComBatchBindExecutorTest.java
index ee9f15f6876..317517987b8 100644
--- 
a/proxy/frontend/type/opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/command/query/extended/bind/OpenGaussComBatchBindExecutorTest.java
+++ 
b/proxy/frontend/type/opengauss/src/test/java/org/apache/shardingsphere/proxy/frontend/opengauss/command/query/extended/bind/OpenGaussComBatchBindExecutorTest.java
@@ -76,8 +76,9 @@ import static org.mockito.Mockito.when;
 @StaticMockSettings(ProxyContext.class)
 class OpenGaussComBatchBindExecutorTest {
     
-    private final ShardingSphereSQLParserEngine parserEngine = new 
ShardingSphereSQLParserEngine(
-            TypedSPILoader.getService(DatabaseType.class, "openGauss"), new 
CacheOption(2000, 65535L), new CacheOption(128, 1024L));
+    private final DatabaseType databaseType = 
TypedSPILoader.getService(DatabaseType.class, "openGauss");
+    
+    private final ShardingSphereSQLParserEngine parserEngine = new 
ShardingSphereSQLParserEngine(databaseType, new CacheOption(2000, 65535L), new 
CacheOption(128, 1024L));
     
     @Test
     void assertExecute() throws SQLException {
@@ -85,6 +86,7 @@ class OpenGaussComBatchBindExecutorTest {
         String sql = "insert into bmsql (id) values (?)";
         SQLStatement sqlStatement = parserEngine.parse(sql, false);
         SQLStatementContext sqlStatementContext = 
mock(InsertStatementContext.class);
+        when(sqlStatementContext.getDatabaseType()).thenReturn(databaseType);
         when(sqlStatementContext.getSqlStatement()).thenReturn(sqlStatement);
         ConnectionSession connectionSession = mockConnectionSession();
         PostgreSQLServerPreparedStatement serverPreparedStatement = new 
PostgreSQLServerPreparedStatement(sql, sqlStatementContext, new 
HintValueContext(), Collections.emptyList(),
@@ -148,7 +150,7 @@ class OpenGaussComBatchBindExecutorTest {
         ShardingSphereDatabase result = mock(ShardingSphereDatabase.class, 
RETURNS_DEEP_STUBS);
         
when(result.getResourceMetaData().getAllInstanceDataSourceNames()).thenReturn(Collections.singleton("foo_ds"));
         StorageUnit storageUnit = mock(StorageUnit.class, RETURNS_DEEP_STUBS);
-        
when(storageUnit.getStorageType()).thenReturn(TypedSPILoader.getService(DatabaseType.class,
 "openGauss"));
+        when(storageUnit.getStorageType()).thenReturn(databaseType);
         
when(result.getResourceMetaData().getStorageUnits()).thenReturn(Collections.singletonMap("foo_ds",
 storageUnit));
         when(result.getRuleMetaData()).thenReturn(new 
RuleMetaData(Collections.emptyList()));
         when(result.containsSchema("public")).thenReturn(true);

Reply via email to