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