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

menghaoranss 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 45621f26663 Use database default schema in PostgreSQL describe 
executor (#39496)
45621f26663 is described below

commit 45621f2666374a3b8b592572c55944a40cdfdf93
Author: Haoran Meng <[email protected]>
AuthorDate: Tue Aug 18 10:53:44 2026 +0800

    Use database default schema in PostgreSQL describe executor (#39496)
---
 .../query/extended/describe/PostgreSQLComDescribeExecutor.java      | 3 +--
 .../query/extended/describe/PostgreSQLComDescribeExecutorTest.java  | 6 +++++-
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git 
a/proxy/frontend/dialect/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/describe/PostgreSQLComDescribeExecutor.java
 
b/proxy/frontend/dialect/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/describe/PostgreSQLComDescribeExecutor.java
index 20d0275d901..174327e9cc6 100644
--- 
a/proxy/frontend/dialect/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/describe/PostgreSQLComDescribeExecutor.java
+++ 
b/proxy/frontend/dialect/postgresql/src/main/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/describe/PostgreSQLComDescribeExecutor.java
@@ -18,7 +18,6 @@
 package 
org.apache.shardingsphere.proxy.frontend.postgresql.command.query.extended.describe;
 
 import lombok.RequiredArgsConstructor;
-import 
org.apache.shardingsphere.database.connector.core.type.DatabaseTypeRegistry;
 import 
org.apache.shardingsphere.database.exception.core.exception.syntax.column.ColumnNotFoundException;
 import org.apache.shardingsphere.database.protocol.packet.DatabasePacket;
 import 
org.apache.shardingsphere.database.protocol.postgresql.constant.PostgreSQLValueFormat;
@@ -160,7 +159,7 @@ public final class PostgreSQLComDescribeExecutor implements 
CommandExecutor {
     private ShardingSphereTable getTableFromMetaData(final String 
databaseName, final InsertStatement insertStatement, final String 
logicTableName) {
         ShardingSphereDatabase database = 
ProxyContext.getInstance().getContextManager().getDatabase(databaseName);
         String schemaName = 
insertStatement.getTable().flatMap(SimpleTableSegment::getOwner).map(optional 
-> optional.getIdentifier()
-                .getValue()).orElseGet(() -> new 
DatabaseTypeRegistry(database.getProtocolType()).getDefaultSchemaName(databaseName));
+                .getValue()).orElseGet(database::getDefaultSchemaName);
         return database.getSchema(schemaName).getTable(logicTableName);
     }
     
diff --git 
a/proxy/frontend/dialect/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/describe/PostgreSQLComDescribeExecutorTest.java
 
b/proxy/frontend/dialect/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/describe/PostgreSQLComDescribeExecutorTest.java
index a50d984cc22..94db815ceb9 100644
--- 
a/proxy/frontend/dialect/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/describe/PostgreSQLComDescribeExecutorTest.java
+++ 
b/proxy/frontend/dialect/postgresql/src/test/java/org/apache/shardingsphere/proxy/frontend/postgresql/command/query/extended/describe/PostgreSQLComDescribeExecutorTest.java
@@ -319,6 +319,11 @@ class PostgreSQLComDescribeExecutorTest {
         SQLStatementContext sqlStatementContext = 
mock(InsertStatementContext.class);
         when(sqlStatementContext.getSqlStatement()).thenReturn(sqlStatement);
         ContextManager contextManager = mockContextManager();
+        ShardingSphereDatabase database = 
contextManager.getMetaDataContexts().getMetaData().getDatabase(DATABASE_NAME);
+        ShardingSphereSchema defaultSchema = database.getSchema("public");
+        when(database.getDefaultSchemaName()).thenReturn("PUBLIC");
+        when(database.getSchema("PUBLIC")).thenReturn(defaultSchema);
+        when(database.getSchema("public")).thenReturn(null);
         
when(ProxyContext.getInstance().getContextManager()).thenReturn(contextManager);
         List<Integer> parameterIndexes = IntStream.range(0, 
sqlStatement.getParameterCount()).boxed().collect(Collectors.toList());
         
connectionSession.getServerPreparedStatementRegistry().addPreparedStatement(statementId,
 new PostgreSQLServerPreparedStatement(sql, sqlStatementContext, new 
HintValueContext(), parameterTypes,
@@ -623,7 +628,6 @@ class PostgreSQLComDescribeExecutorTest {
         when(schema.getName()).thenReturn("public");
         ShardingSphereDatabase database = 
result.getMetaDataContexts().getMetaData().getDatabase(DATABASE_NAME);
         when(result.getMetaDataContexts().getMetaData().getDatabase(new 
IdentifierValue(DATABASE_NAME))).thenReturn(database);
-        when(database.getDefaultSchemaName()).thenReturn("public");
         
when(database.getAllSchemas()).thenReturn(Collections.singleton(schema));
         when(database.containsSchema("public")).thenReturn(true);
         when(database.containsSchema(new 
IdentifierValue("public"))).thenReturn(true);

Reply via email to