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 d78e05bcb33 Add more test cases on PostgreSQLDatabaseMetaDataTest 
(#38141)
d78e05bcb33 is described below

commit d78e05bcb33c777cf977e1ab43a2ade3ef182a78
Author: Liang Zhang <[email protected]>
AuthorDate: Sun Feb 22 18:50:57 2026 +0800

    Add more test cases on PostgreSQLDatabaseMetaDataTest (#38141)
---
 .../database/PostgreSQLDatabaseMetaDataTest.java   | 58 +++++++++++++++++++++-
 1 file changed, 56 insertions(+), 2 deletions(-)

diff --git 
a/database/connector/dialect/postgresql/src/test/java/org/apache/shardingsphere/database/connector/postgresql/metadata/database/PostgreSQLDatabaseMetaDataTest.java
 
b/database/connector/dialect/postgresql/src/test/java/org/apache/shardingsphere/database/connector/postgresql/metadata/database/PostgreSQLDatabaseMetaDataTest.java
index 8d7247a67e1..5e77668a3de 100644
--- 
a/database/connector/dialect/postgresql/src/test/java/org/apache/shardingsphere/database/connector/postgresql/metadata/database/PostgreSQLDatabaseMetaDataTest.java
+++ 
b/database/connector/dialect/postgresql/src/test/java/org/apache/shardingsphere/database/connector/postgresql/metadata/database/PostgreSQLDatabaseMetaDataTest.java
@@ -17,28 +17,52 @@
 
 package 
org.apache.shardingsphere.database.connector.postgresql.metadata.database;
 
+import 
org.apache.shardingsphere.database.connector.core.metadata.database.enums.NullsOrderType;
 import 
org.apache.shardingsphere.database.connector.core.metadata.database.enums.QuoteCharacter;
 import 
org.apache.shardingsphere.database.connector.core.metadata.database.metadata.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.database.connector.core.metadata.database.metadata.option.IdentifierPatternType;
+import 
org.apache.shardingsphere.database.connector.core.metadata.database.metadata.option.transaction.DialectTransactionOption;
 import 
org.apache.shardingsphere.database.connector.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.database.connector.core.type.DatabaseType;
+import 
org.apache.shardingsphere.database.connector.postgresql.metadata.database.option.PostgreSQLDataTypeOption;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 import org.junit.jupiter.api.Test;
 
+import java.sql.Connection;
 import java.util.Optional;
 
-import static org.hamcrest.Matchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.isA;
+import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 class PostgreSQLDatabaseMetaDataTest {
     
-    private final DialectDatabaseMetaData dialectDatabaseMetaData = 
DatabaseTypedSPILoader.getService(DialectDatabaseMetaData.class, 
TypedSPILoader.getService(DatabaseType.class, "PostgreSQL"));
+    private final DatabaseType databaseType = 
TypedSPILoader.getService(DatabaseType.class, "PostgreSQL");
+    
+    private final DialectDatabaseMetaData dialectDatabaseMetaData = 
DatabaseTypedSPILoader.getService(DialectDatabaseMetaData.class, databaseType);
     
     @Test
     void assertGetQuoteCharacter() {
         assertThat(dialectDatabaseMetaData.getQuoteCharacter(), 
is(QuoteCharacter.QUOTE));
     }
     
+    @Test
+    void assertGetIdentifierPatternType() {
+        assertThat(dialectDatabaseMetaData.getIdentifierPatternType(), 
is(IdentifierPatternType.LOWER_CASE));
+    }
+    
+    @Test
+    void assertGetDefaultNullsOrderType() {
+        assertThat(dialectDatabaseMetaData.getDefaultNullsOrderType(), 
is(NullsOrderType.HIGH));
+    }
+    
+    @Test
+    void assertGetDataTypeOption() {
+        assertThat(dialectDatabaseMetaData.getDataTypeOption(), 
isA(PostgreSQLDataTypeOption.class));
+    }
+    
     @Test
     void assertIsSchemaAvailable() {
         
assertTrue(dialectDatabaseMetaData.getSchemaOption().isSchemaAvailable());
@@ -48,4 +72,34 @@ class PostgreSQLDatabaseMetaDataTest {
     void assertGetDefaultSchema() {
         
assertThat(dialectDatabaseMetaData.getSchemaOption().getDefaultSchema(), 
is(Optional.of("public")));
     }
+    
+    @Test
+    void assertGetIndexOption() {
+        
assertTrue(dialectDatabaseMetaData.getIndexOption().isSchemaUniquenessLevel());
+    }
+    
+    @Test
+    void assertGetTransactionOption() {
+        DialectTransactionOption actual = 
dialectDatabaseMetaData.getTransactionOption();
+        assertFalse(actual.isSupportGlobalCSN());
+        assertFalse(actual.isDDLNeedImplicitCommit());
+        assertFalse(actual.isSupportAutoCommitInNestedTransaction());
+        assertTrue(actual.isSupportDDLInXATransaction());
+        assertFalse(actual.isSupportMetaDataRefreshInTransaction());
+        assertThat(actual.getDefaultIsolationLevel(), 
is(Connection.TRANSACTION_READ_COMMITTED));
+        assertTrue(actual.isReturnRollbackStatementWhenCommitFailed());
+        assertTrue(actual.isAllowCommitAndRollbackOnlyWhenTransactionFailed());
+        assertThat(actual.getXaDriverClassNames().size(), is(1));
+        
assertTrue(actual.getXaDriverClassNames().contains("org.postgresql.xa.PGXADataSource"));
+    }
+    
+    @Test
+    void assertGetProtocolVersionOption() {
+        
assertThat(dialectDatabaseMetaData.getProtocolVersionOption().getDefaultVersion(),
 is("12.3"));
+    }
+    
+    @Test
+    void assertIsCaseSensitive() {
+        assertTrue(dialectDatabaseMetaData.isCaseSensitive());
+    }
 }

Reply via email to