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 dc3ddd55793 Add more test cases on FirebirdDatabaseMetaData (#38121)
dc3ddd55793 is described below
commit dc3ddd557932530a91a4ec6355b40368da31739c
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Feb 21 21:13:10 2026 +0800
Add more test cases on FirebirdDatabaseMetaData (#38121)
---
.../database/FirebirdDatabaseMetaDataTest.java | 43 ++++++++++++++++++++++
1 file changed, 43 insertions(+)
diff --git
a/database/connector/dialect/firebird/src/test/java/org/apache/shardingsphere/database/connector/firebird/metadata/database/FirebirdDatabaseMetaDataTest.java
b/database/connector/dialect/firebird/src/test/java/org/apache/shardingsphere/database/connector/firebird/metadata/database/FirebirdDatabaseMetaDataTest.java
index 3889e4c858e..5003d1fcb15 100644
---
a/database/connector/dialect/firebird/src/test/java/org/apache/shardingsphere/database/connector/firebird/metadata/database/FirebirdDatabaseMetaDataTest.java
+++
b/database/connector/dialect/firebird/src/test/java/org/apache/shardingsphere/database/connector/firebird/metadata/database/FirebirdDatabaseMetaDataTest.java
@@ -20,13 +20,22 @@ package
org.apache.shardingsphere.database.connector.firebird.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.schema.DialectSchemaOption;
+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.firebird.metadata.database.option.FirebirdSchemaOption;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.junit.jupiter.api.Test;
+import java.sql.Connection;
+
import static org.hamcrest.Matchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.isA;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
class FirebirdDatabaseMetaDataTest {
@@ -37,8 +46,42 @@ class FirebirdDatabaseMetaDataTest {
assertThat(dialectDatabaseMetaData.getQuoteCharacter(),
is(QuoteCharacter.QUOTE));
}
+ @Test
+ void assertGetIdentifierPatternType() {
+ assertThat(dialectDatabaseMetaData.getIdentifierPatternType(),
is(IdentifierPatternType.UPPER_CASE));
+ }
+
@Test
void assertGetDefaultNullsOrderType() {
assertThat(dialectDatabaseMetaData.getDefaultNullsOrderType(),
is(NullsOrderType.LOW));
}
+
+ @Test
+ void assertGetSchemaOption() {
+ DialectSchemaOption actual = dialectDatabaseMetaData.getSchemaOption();
+ assertThat(actual, isA(FirebirdSchemaOption.class));
+ assertFalse(actual.isSchemaAvailable());
+ assertTrue(actual.getDefaultSystemSchema().isPresent());
+ assertThat(actual.getDefaultSystemSchema().get(), is("system_tables"));
+ }
+
+ @Test
+ void assertGetTransactionOption() {
+ DialectTransactionOption actual =
dialectDatabaseMetaData.getTransactionOption();
+ assertFalse(actual.isSupportGlobalCSN());
+ assertTrue(actual.isDDLNeedImplicitCommit());
+ assertFalse(actual.isSupportAutoCommitInNestedTransaction());
+ assertFalse(actual.isSupportDDLInXATransaction());
+ assertTrue(actual.isSupportMetaDataRefreshInTransaction());
+ assertThat(actual.getDefaultIsolationLevel(),
is(Connection.TRANSACTION_READ_COMMITTED));
+ assertFalse(actual.isReturnRollbackStatementWhenCommitFailed());
+ assertTrue(actual.isAllowCommitAndRollbackOnlyWhenTransactionFailed());
+ assertThat(actual.getXaDriverClassNames().size(), is(1));
+
assertTrue(actual.getXaDriverClassNames().contains("org.firebirdsql.ds.FBXADataSource"));
+ }
+
+ @Test
+ void assertGetProtocolVersionOption() {
+
assertThat(dialectDatabaseMetaData.getProtocolVersionOption().getDefaultVersion(),
is("18"));
+ }
}