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 17e92dc7c71 Add Firebird system tables support (#35426)
17e92dc7c71 is described below

commit 17e92dc7c71603d4b5f4df67aebf22c4a39b82bc
Author: Maxim Sentyabrskiy <162702318+makss...@users.noreply.github.com>
AuthorDate: Sat May 24 11:48:43 2025 +0300

    Add Firebird system tables support (#35426)
    
    * add Firebird system tables support
    
    * Spotless fix
---
 .../database/FirebirdDatabaseMetaData.java         |   7 +
 .../FirebirdSchemaOption.java}                     |  35 ++--
 .../database/system/FirebirdSystemDatabase.java    |  55 +++++
 ....metadata.database.system.DialectSystemDatabase |  18 ++
 .../schema/firebird/rdb/rdb$auth_mapping.yaml      |  90 +++++++++
 .../schema/firebird/rdb/rdb$backup_history.yaml    |  61 ++++++
 .../schema/firebird/rdb/rdb$character_sets.yaml    |  96 +++++++++
 .../schema/firebird/rdb/rdb$check_constraints.yaml |  33 +++
 .../schema/firebird/rdb/rdb$collations.yaml        |  96 +++++++++
 .../resources/schema/firebird/rdb/rdb$config.yaml  |  61 ++++++
 .../schema/firebird/rdb/rdb$database.yaml          |  61 ++++++
 .../schema/firebird/rdb/rdb$db_creators.yaml       |  33 +++
 .../schema/firebird/rdb/rdb$dependencies.yaml      |  61 ++++++
 .../schema/firebird/rdb/rdb$exceptions.yaml        |  68 +++++++
 .../schema/firebird/rdb/rdb$field_dimensions.yaml  |  47 +++++
 .../resources/schema/firebird/rdb/rdb$fields.yaml  | 223 +++++++++++++++++++++
 .../resources/schema/firebird/rdb/rdb$files.yaml   |  61 ++++++
 .../resources/schema/firebird/rdb/rdb$filters.yaml |  82 ++++++++
 .../resources/schema/firebird/rdb/rdb$formats.yaml |  40 ++++
 .../firebird/rdb/rdb$function_arguments.yaml       | 176 ++++++++++++++++
 .../schema/firebird/rdb/rdb$functions.yaml         | 167 +++++++++++++++
 .../schema/firebird/rdb/rdb$generators.yaml        |  76 +++++++
 .../schema/firebird/rdb/rdb$index_segments.yaml    |  48 +++++
 .../resources/schema/firebird/rdb/rdb$indices.yaml | 125 ++++++++++++
 .../resources/schema/firebird/rdb/rdb$pages.yaml   |  48 +++++
 .../firebird/rdb/rdb$procedure_parameters.yaml     | 125 ++++++++++++
 .../schema/firebird/rdb/rdb$procedures.yaml        | 152 ++++++++++++++
 .../schema/firebird/rdb/rdb$ref_constraints.yaml   |  55 +++++
 .../firebird/rdb/rdb$relation_constraints.yaml     |  61 ++++++
 .../schema/firebird/rdb/rdb$relation_fields.yaml   | 166 +++++++++++++++
 .../schema/firebird/rdb/rdb$relations.yaml         | 145 ++++++++++++++
 .../resources/schema/firebird/rdb/rdb$roles.yaml   |  61 ++++++
 .../schema/firebird/rdb/rdb$security_classes.yaml  |  40 ++++
 .../schema/firebird/rdb/rdb$time_zones.yaml        |  33 +++
 .../schema/firebird/rdb/rdb$transactions.yaml      |  47 +++++
 .../schema/firebird/rdb/rdb$trigger_messages.yaml  |  41 ++++
 .../schema/firebird/rdb/rdb$triggers.yaml          | 124 ++++++++++++
 .../resources/schema/firebird/rdb/rdb$types.yaml   |  54 +++++
 .../schema/firebird/rdb/rdb$user_privileges.yaml   |  75 +++++++
 .../schema/firebird/rdb/rdb$view_relations.yaml    |  61 ++++++
 .../parser/src/main/resources/case/dml/select.xml  |   8 +
 .../main/resources/sql/supported/dml/select.xml    |   1 +
 42 files changed, 3097 insertions(+), 20 deletions(-)

diff --git 
a/infra/database/type/firebird/src/main/java/org/apache/shardingsphere/infra/database/firebird/metadata/database/FirebirdDatabaseMetaData.java
 
b/infra/database/type/firebird/src/main/java/org/apache/shardingsphere/infra/database/firebird/metadata/database/FirebirdDatabaseMetaData.java
index 097be08cc3b..96f7533af69 100644
--- 
a/infra/database/type/firebird/src/main/java/org/apache/shardingsphere/infra/database/firebird/metadata/database/FirebirdDatabaseMetaData.java
+++ 
b/infra/database/type/firebird/src/main/java/org/apache/shardingsphere/infra/database/firebird/metadata/database/FirebirdDatabaseMetaData.java
@@ -21,7 +21,9 @@ import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.Nul
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.IdentifierPatternType;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.schema.DialectSchemaOption;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.transaction.DialectTransactionOption;
+import 
org.apache.shardingsphere.infra.database.firebird.metadata.database.option.FirebirdSchemaOption;
 
 import java.sql.Connection;
 
@@ -45,6 +47,11 @@ public final class FirebirdDatabaseMetaData implements 
DialectDatabaseMetaData {
         return NullsOrderType.LOW;
     }
     
+    @Override
+    public DialectSchemaOption getSchemaOption() {
+        return new FirebirdSchemaOption();
+    }
+    
     @Override
     public DialectTransactionOption getTransactionOption() {
         return new DialectTransactionOption(false, true, false, false, true, 
Connection.TRANSACTION_READ_COMMITTED, false);
diff --git 
a/infra/database/type/firebird/src/main/java/org/apache/shardingsphere/infra/database/firebird/metadata/database/FirebirdDatabaseMetaData.java
 
b/infra/database/type/firebird/src/main/java/org/apache/shardingsphere/infra/database/firebird/metadata/database/option/FirebirdSchemaOption.java
similarity index 51%
copy from 
infra/database/type/firebird/src/main/java/org/apache/shardingsphere/infra/database/firebird/metadata/database/FirebirdDatabaseMetaData.java
copy to 
infra/database/type/firebird/src/main/java/org/apache/shardingsphere/infra/database/firebird/metadata/database/option/FirebirdSchemaOption.java
index 097be08cc3b..f1b43aa21ba 100644
--- 
a/infra/database/type/firebird/src/main/java/org/apache/shardingsphere/infra/database/firebird/metadata/database/FirebirdDatabaseMetaData.java
+++ 
b/infra/database/type/firebird/src/main/java/org/apache/shardingsphere/infra/database/firebird/metadata/database/option/FirebirdSchemaOption.java
@@ -15,43 +15,38 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.infra.database.firebird.metadata.database;
+package 
org.apache.shardingsphere.infra.database.firebird.metadata.database.option;
 
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.NullsOrderType;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.IdentifierPatternType;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.transaction.DialectTransactionOption;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.schema.DefaultSchemaOption;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.schema.DialectSchemaOption;
 
 import java.sql.Connection;
+import java.util.Optional;
 
 /**
- * Database metadata of Firebird.
+ * Schema option for Firebird.
  */
-public final class FirebirdDatabaseMetaData implements DialectDatabaseMetaData 
{
+public final class FirebirdSchemaOption implements DialectSchemaOption {
     
-    @Override
-    public QuoteCharacter getQuoteCharacter() {
-        return QuoteCharacter.QUOTE;
-    }
+    private final DialectSchemaOption delegate = new 
DefaultSchemaOption(false, null);
     
     @Override
-    public IdentifierPatternType getIdentifierPatternType() {
-        return IdentifierPatternType.UPPER_CASE;
+    public boolean isSchemaAvailable() {
+        return delegate.isSchemaAvailable();
     }
     
     @Override
-    public NullsOrderType getDefaultNullsOrderType() {
-        return NullsOrderType.LOW;
+    public String getSchema(final Connection connection) {
+        return delegate.getSchema(connection);
     }
     
     @Override
-    public DialectTransactionOption getTransactionOption() {
-        return new DialectTransactionOption(false, true, false, false, true, 
Connection.TRANSACTION_READ_COMMITTED, false);
+    public Optional<String> getDefaultSchema() {
+        return delegate.getDefaultSchema();
     }
     
     @Override
-    public String getDatabaseType() {
-        return "Firebird";
+    public Optional<String> getDefaultSystemSchema() {
+        return Optional.of("rdb");
     }
 }
diff --git 
a/infra/database/type/firebird/src/main/java/org/apache/shardingsphere/infra/database/firebird/metadata/database/system/FirebirdSystemDatabase.java
 
b/infra/database/type/firebird/src/main/java/org/apache/shardingsphere/infra/database/firebird/metadata/database/system/FirebirdSystemDatabase.java
new file mode 100644
index 00000000000..d35b5c50962
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/java/org/apache/shardingsphere/infra/database/firebird/metadata/database/system/FirebirdSystemDatabase.java
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package 
org.apache.shardingsphere.infra.database.firebird.metadata.database.system;
+
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.system.DialectSystemDatabase;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+
+/**
+ * System database of Firebird.
+ */
+public final class FirebirdSystemDatabase implements DialectSystemDatabase {
+    
+    private static final Map<String, Collection<String>> 
SYSTEM_DATABASE_SCHEMA_MAP = new HashMap<>();
+    
+    private static final Collection<String> SYSTEM_SCHEMAS = new 
HashSet<>(Collections.singletonList("rdb"));
+    
+    static {
+        SYSTEM_DATABASE_SCHEMA_MAP.put("logic_db", SYSTEM_SCHEMAS);
+    }
+    
+    @Override
+    public Map<String, Collection<String>> getSystemDatabaseSchemaMap() {
+        return SYSTEM_DATABASE_SCHEMA_MAP;
+    }
+    
+    @Override
+    public Collection<String> getSystemSchemas() {
+        return SYSTEM_SCHEMAS;
+    }
+    
+    @Override
+    public String getDatabaseType() {
+        return "Firebird";
+    }
+}
diff --git 
a/infra/database/type/firebird/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.system.DialectSystemDatabase
 
b/infra/database/type/firebird/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.system.DialectSystemDatabase
new file mode 100644
index 00000000000..5fbf4dd6cd6
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.system.DialectSystemDatabase
@@ -0,0 +1,18 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+org.apache.shardingsphere.infra.database.firebird.metadata.database.system.FirebirdSystemDatabase
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$auth_mapping.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$auth_mapping.yaml
new file mode 100644
index 00000000000..03d98e658dc
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$auth_mapping.yaml
@@ -0,0 +1,90 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$AUTH_MAPPING
+columns:
+  RDB$MAP_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$MAP_NAME
+    primaryKey: false
+    visible: true
+  RDB$MAP_USING:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$MAP_USING
+    primaryKey: false
+    visible: true
+  RDB$MAP_PLUGIN:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$MAP_PLUGIN
+    primaryKey: false
+    visible: true
+  RDB$MAP_DB:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$MAP_DB
+    primaryKey: false
+    visible: true
+  RDB$MAP_FROM_TYPE:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$MAP_FROM_TYPE
+    primaryKey: false
+    visible: true
+  RDB$MAP_FROM:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$MAP_FROM
+    primaryKey: false
+    visible: true
+  RDB$MAP_TO_TYPE:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$MAP_TO_TYPE
+    primaryKey: false
+    visible: true
+  RDB$MAP_TO:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$MAP_TO
+    primaryKey: false
+    visible: true
+  RDB$SYSTEM_FLAG:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$SYSTEM_FLAG
+    primaryKey: false
+    visible: true
+  RDB$DESCRIPTION:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DESCRIPTION
+    primaryKey: false
+    visible: true
+
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$backup_history.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$backup_history.yaml
new file mode 100644
index 00000000000..2b4f37e0362
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$backup_history.yaml
@@ -0,0 +1,61 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$BACKUP_HISTORY
+columns:
+  RDB$BACKUP_ID:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: RDB$BACKUP_ID
+    primaryKey: true
+    visible: true
+  RDB$TIMESTAMP:
+    caseSensitive: false
+    dataType: 2014
+    generated: false
+    name: RDB$TIMESTAMP
+    primaryKey: true
+    visible: true
+  RDB$BACKUP_LEVEL:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: RDB$BACKUP_LEVEL
+    primaryKey: true
+    visible: true
+  RDB$GUID:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$GUID
+    primaryKey: true
+    visible: true
+  RDB$SCN:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: RDB$SCN
+    primaryKey: true
+    visible: true
+  RDB$FILE_NAME:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: RDB$FILE_NAME
+    primaryKey: true
+    visible: true
\ No newline at end of file
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$character_sets.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$character_sets.yaml
new file mode 100644
index 00000000000..a1369603e3f
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$character_sets.yaml
@@ -0,0 +1,96 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$CHARACTER_SETS
+columns:
+  RDB$CHARACTER_SET_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$CHARACTER_SET_NAME
+    primaryKey: true
+    visible: true
+  RDB$FORM_OF_USE:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$FORM_OF_USE
+    primaryKey: true
+    visible: true
+  RDB$NUMBER_OF_CHARACTERS:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: RDB$NUMBER_OF_CHARACTERS
+    primaryKey: true
+    visible: true
+  RDB$DEFAULT_COLLATE_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$DEFAULT_COLLATE_NAME
+    primaryKey: true
+    visible: true
+  RDB$CHARACTER_SET_ID:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$CHARACTER_SET_ID
+    primaryKey: true
+    visible: true
+  RDB$SYSTEM_FLAG:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$SYSTEM_FLAG
+    primaryKey: true
+    visible: true
+  RDB$DESCRIPTION:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DESCRIPTION
+    primaryKey: true
+    visible: true
+  RDB$FUNCTION_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$FUNCTION_NAME
+    primaryKey: true
+    visible: true
+  RDB$BYTES_PER_CHARACTER:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$BYTES_PER_CHARACTER
+    primaryKey: true
+    visible: true
+  RDB$SECURITY_CLASS:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$SECURITY_CLASS
+    primaryKey: true
+    visible: true
+  RDB$OWNER_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$OWNER_NAME
+    primaryKey: true
+    visible: true
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$check_constraints.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$check_constraints.yaml
new file mode 100644
index 00000000000..158252a3f17
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$check_constraints.yaml
@@ -0,0 +1,33 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$CHECK_CONSTRAINTS
+columns:
+  RDB$CONSTRAINT_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$CONSTRAINT_NAME
+    primaryKey: false
+    visible: true
+  RDB$TRIGGER_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$TRIGGER_NAME
+    primaryKey: false
+    visible: true
\ No newline at end of file
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$collations.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$collations.yaml
new file mode 100644
index 00000000000..66a018f7bc3
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$collations.yaml
@@ -0,0 +1,96 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$COLLATIONS
+columns:
+  RDB$COLLATION_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$COLLATION_NAME
+    primaryKey: false
+    visible: true
+  RDB$COLLATION_ID:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$COLLATION_ID
+    primaryKey: false
+    visible: true
+  RDB$CHARACTER_SET_ID:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$CHARACTER_SET_ID
+    primaryKey: false
+    visible: true
+  RDB$COLLATION_ATTRIBUTES:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$COLLATION_ATTRIBUTES
+    primaryKey: false
+    visible: true
+  RDB$SYSTEM_FLAG:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$SYSTEM_FLAG
+    primaryKey: false
+    visible: true
+  RDB$DESCRIPTION:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DESCRIPTION
+    primaryKey: false
+    visible: true
+  RDB$FUNCTION_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$FUNCTION_NAME
+    primaryKey: false
+    visible: true
+  RDB$BASE_COLLATION_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$BASE_COLLATION_NAME
+    primaryKey: false
+    visible: true
+  RDB$SPECIFIC_ATTRIBUTES:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$SPECIFIC_ATTRIBUTES
+    primaryKey: false
+    visible: true
+  RDB$SECURITY_CLASS:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$SECURITY_CLASS
+    primaryKey: false
+    visible: true
+  RDB$OWNER_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$OWNER_NAME
+    primaryKey: false
+    visible: true
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$config.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$config.yaml
new file mode 100644
index 00000000000..fefccd997c3
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$config.yaml
@@ -0,0 +1,61 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$CONFIG
+columns:
+  RDB$CONFIG_ID:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: RDB$CONFIG_ID
+    primaryKey: false
+    visible: true
+  RDB$CONFIG_NAME:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: RDB$CONFIG_NAME
+    primaryKey: false
+    visible: true
+  RDB$CONFIG_VALUE:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: RDB$CONFIG_VALUE
+    primaryKey: false
+    visible: true
+  RDB$CONFIG_DEFAULT:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: RDB$CONFIG_DEFAULT
+    primaryKey: false
+    visible: true
+  RDB$CONFIG_IS_SET:
+    caseSensitive: false
+    dataType: 16
+    generated: false
+    name: RDB$CONFIG_IS_SET
+    primaryKey: false
+    visible: true
+  RDB$CONFIG_SOURCE:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: RDB$CONFIG_SOURCE
+    primaryKey: false
+    visible: true
\ No newline at end of file
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$database.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$database.yaml
new file mode 100644
index 00000000000..a7913285cd5
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$database.yaml
@@ -0,0 +1,61 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$DATABASE
+columns:
+  RDB$DESCRIPTION:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DESCRIPTION
+    primaryKey: false
+    visible: true
+  RDB$RELATION_ID:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$RELATION_ID
+    primaryKey: false
+    visible: true
+  RDB$SECURITY_CLASS:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$SECURITY_CLASS
+    primaryKey: false
+    visible: true
+  RDB$CHARACTER_SET_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$CHARACTER_SET_NAME
+    primaryKey: false
+    visible: true
+  RDB$LINGER:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: RDB$LINGER
+    primaryKey: false
+    visible: true
+  RDB$SQL_SECURITY:
+    caseSensitive: false
+    dataType: 16
+    generated: false
+    name: RDB$SQL_SECURITY
+    primaryKey: false
+    visible: true
\ No newline at end of file
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$db_creators.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$db_creators.yaml
new file mode 100644
index 00000000000..6f8f1a53305
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$db_creators.yaml
@@ -0,0 +1,33 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$DB_CREATORS
+columns:
+  RDB$USER:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$USER
+    primaryKey: false
+    visible: true
+  RDB$USER_TYPE:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$USER_TYPE
+    primaryKey: false
+    visible: true
\ No newline at end of file
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$dependencies.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$dependencies.yaml
new file mode 100644
index 00000000000..097574241d3
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$dependencies.yaml
@@ -0,0 +1,61 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$DEPENDENCIES
+columns:
+  RDB$DEPENDENT_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$DEPENDENT_NAME
+    primaryKey: false
+    visible: true
+  RDB$DEPENDED_ON_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$DEPENDED_ON_NAME
+    primaryKey: false
+    visible: true
+  RDB$FIELD_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$FIELD_NAME
+    primaryKey: false
+    visible: true
+  RDB$DEPENDENT_TYPE:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$DEPENDENT_TYPE
+    primaryKey: false
+    visible: true
+  RDB$DEPENDED_ON_TYPE:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$DEPENDED_ON_TYPE
+    primaryKey: false
+    visible: true
+  RDB$PACKAGE_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$PACKAGE_NAME
+    primaryKey: false
+    visible: true
\ No newline at end of file
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$exceptions.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$exceptions.yaml
new file mode 100644
index 00000000000..9bcfe888066
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$exceptions.yaml
@@ -0,0 +1,68 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$EXCEPTIONS
+columns:
+  RDB$EXCEPTION_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$EXCEPTION_NAME
+    primaryKey: false
+    visible: false
+  RDB$EXCEPTION_NUMBER:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: RDB$EXCEPTION_NUMBER
+    primaryKey: false
+    visible: false
+  RDB$MESSAGE:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: RDB$MESSAGE
+    primaryKey: false
+    visible: false
+  RDB$DESCRIPTION:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DESCRIPTION
+    primaryKey: false
+    visible: false
+  RDB$SYSTEM_FLAG:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$SYSTEM_FLAG
+    primaryKey: false
+    visible: false
+  RDB$SECURITY_CLASS:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$SECURITY_CLASS
+    primaryKey: false
+    visible: false
+  RDB$OWNER_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$OWNER_NAME
+    primaryKey: false
+    visible: false
\ No newline at end of file
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$field_dimensions.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$field_dimensions.yaml
new file mode 100644
index 00000000000..e3453842fcb
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$field_dimensions.yaml
@@ -0,0 +1,47 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$FIELD_DIMENSIONS
+columns:
+  RDB$FIELD_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$FIELD_NAME
+    primaryKey: false
+    visible: false
+  RDB$DIMENSION:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$DIMENSION
+    primaryKey: false
+    visible: false
+  RDB$LOWER_BOUND:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: RDB$LOWER_BOUND
+    primaryKey: false
+    visible: false
+  RDB$UPPER_BOUND:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: RDB$UPPER_BOUND
+    primaryKey: false
+    visible: false
\ No newline at end of file
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$fields.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$fields.yaml
new file mode 100644
index 00000000000..593172be2a1
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$fields.yaml
@@ -0,0 +1,223 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$FIELDS
+columns:
+  RDB$FIELD_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$FIELD_NAME
+    primaryKey: false
+    visible: true
+  RDB$QUERY_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$QUERY_NAME
+    primaryKey: false
+    visible: true
+  RDB$VALIDATION_BLR:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$VALIDATION_BLR
+    primaryKey: false
+    visible: true
+  RDB$VALIDATION_SOURCE:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$VALIDATION_SOURCE
+    primaryKey: false
+    visible: true
+  RDB$COMPUTED_BLR:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$COMPUTED_BLR
+    primaryKey: false
+    visible: true
+  RDB$COMPUTED_SOURCE:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$COMPUTED_SOURCE
+    primaryKey: false
+    visible: true
+  RDB$DEFAULT_VALUE:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DEFAULT_VALUE
+    primaryKey: false
+    visible: true
+  RDB$DEFAULT_SOURCE:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DEFAULT_SOURCE
+    primaryKey: false
+    visible: true
+  RDB$FIELD_LENGTH:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$FIELD_LENGTH
+    primaryKey: false
+    visible: true
+  RDB$FIELD_SCALE:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$FIELD_SCALE
+    primaryKey: false
+    visible: true
+  RDB$FIELD_TYPE:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$FIELD_TYPE
+    primaryKey: false
+    visible: true
+  RDB$FIELD_SUB_TYPE:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$FIELD_SUB_TYPE
+    primaryKey: false
+    visible: true
+  RDB$MISSING_VALUE:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$MISSING_VALUE
+    primaryKey: false
+    visible: true
+  RDB$MISSING_SOURCE:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$MISSING_SOURCE
+    primaryKey: false
+    visible: true
+  RDB$DESCRIPTION:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DESCRIPTION
+    primaryKey: false
+    visible: true
+  RDB$SYSTEM_FLAG:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$SYSTEM_FLAG
+    primaryKey: false
+    visible: true
+  RDB$QUERY_HEADER:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$QUERY_HEADER
+    primaryKey: false
+    visible: true
+  RDB$SEGMENT_LENGTH:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$SEGMENT_LENGTH
+    primaryKey: false
+    visible: true
+  RDB$EDIT_STRING:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: RDB$EDIT_STRING
+    primaryKey: false
+    visible: true
+  RDB$EXTERNAL_LENGTH:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$EXTERNAL_LENGTH
+    primaryKey: false
+    visible: true
+  RDB$EXTERNAL_SCALE:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$EXTERNAL_SCALE
+    primaryKey: false
+    visible: true
+  RDB$EXTERNAL_TYPE:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$EXTERNAL_TYPE
+    primaryKey: false
+    visible: true
+  RDB$DIMENSIONS:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$DIMENSIONS
+    primaryKey: false
+    visible: true
+  RDB$NULL_FLAG:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$NULL_FLAG
+    primaryKey: false
+    visible: true
+  RDB$CHARACTER_LENGTH:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$CHARACTER_LENGTH
+    primaryKey: false
+    visible: true
+  RDB$CHARACTER_SET_ID:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$CHARACTER_SET_ID
+    primaryKey: false
+    visible: true
+  RDB$FIELD_PRECISION:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$FIELD_PRECISION
+    primaryKey: false
+    visible: true
+  RDB$SECURITY_CLASS:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$SECURITY_CLASS
+    primaryKey: false
+    visible: true
+  RDB$OWNER_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$OWNER_NAME
+    primaryKey: false
+    visible: true
+
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$files.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$files.yaml
new file mode 100644
index 00000000000..a159dd940dd
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$files.yaml
@@ -0,0 +1,61 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$FILES
+columns:
+  RDB$FILE_NAME:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: RDB$FILE_NAME
+    primaryKey: false
+    visible: true
+  RDB$FILE_SEQUENCE:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$FILE_SEQUENCE
+    primaryKey: false
+    visible: true
+  RDB$FILE_START:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: RDB$FILE_START
+    primaryKey: false
+    visible: true
+  RDB$FILE_LENGTH:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: RDB$FILE_LENGTH
+    primaryKey: false
+    visible: true
+  RDB$FILE_FLAGS:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$FILE_FLAGS
+    primaryKey: false
+    visible: true
+  RDB$SHADOW_NUMBER:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$SHADOW_NUMBER
+    primaryKey: false
+    visible: true
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$filters.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$filters.yaml
new file mode 100644
index 00000000000..56da4b5b1a3
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$filters.yaml
@@ -0,0 +1,82 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$FILTERS
+columns:
+  RDB$FUNCTION_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$FUNCTION_NAME
+    primaryKey: false
+    visible: true
+  RDB$DESCRIPTION:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DESCRIPTION
+    primaryKey: false
+    visible: true
+  RDB$MODULE_NAME:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: RDB$MODULE_NAME
+    primaryKey: false
+    visible: true
+  RDB$ENTRYPOINT:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$ENTRYPOINT
+    primaryKey: false
+    visible: true
+  RDB$INPUT_SUB_TYPE:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$INPUT_SUB_TYPE
+    primaryKey: false
+    visible: true
+  RDB$OUTPUT_SUB_TYPE:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$OUTPUT_SUB_TYPE
+    primaryKey: false
+    visible: true
+  RDB$SYSTEM_FLAG:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$SYSTEM_FLAG
+    primaryKey: false
+    visible: true
+  RDB$SECURITY_CLASS:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$SECURITY_CLASS
+    primaryKey: false
+    visible: true
+  RDB$OWNER_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$OWNER_NAME
+    primaryKey: false
+    visible: true
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$formats.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$formats.yaml
new file mode 100644
index 00000000000..d143faf5e64
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$formats.yaml
@@ -0,0 +1,40 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$FORMATS
+columns:
+  RDB$RELATION_ID:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$RELATION_ID
+    primaryKey: false
+    visible: true
+  RDB$FORMAT:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$FORMAT
+    primaryKey: false
+    visible: true
+  RDB$DESCRIPTOR:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DESCRIPTOR
+    primaryKey: false
+    visible: true
\ No newline at end of file
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$function_arguments.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$function_arguments.yaml
new file mode 100644
index 00000000000..644898ab8f9
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$function_arguments.yaml
@@ -0,0 +1,176 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$FUNCTION_ARGUMENTS
+columns:
+  RDB$FUNCTION_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$FUNCTION_NAME
+    primaryKey: false
+    visible: true
+  RDB$ARGUMENT_POSITION:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$ARGUMENT_POSITION
+    primaryKey: false
+    visible: true
+  RDB$MECHANISM:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$MECHANISM
+    primaryKey: false
+    visible: true
+  RDB$FIELD_TYPE:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$FIELD_TYPE
+    primaryKey: false
+    visible: true
+  RDB$FIELD_SCALE:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$FIELD_SCALE
+    primaryKey: false
+    visible: true
+  RDB$FIELD_LENGTH:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$FIELD_LENGTH
+    primaryKey: false
+    visible: true
+  RDB$FIELD_SUB_TYPE:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$FIELD_SUB_TYPE
+    primaryKey: false
+    visible: true
+  RDB$CHARACTER_SET_ID:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$CHARACTER_SET_ID
+    primaryKey: false
+    visible: true
+  RDB$FIELD_PRECISION:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$FIELD_PRECISION
+    primaryKey: false
+    visible: true
+  RDB$CHARACTER_LENGTH:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$CHARACTER_LENGTH
+    primaryKey: false
+    visible: true
+  RDB$PACKAGE_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$PACKAGE_NAME
+    primaryKey: false
+    visible: true
+  RDB$ARGUMENT_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$ARGUMENT_NAME
+    primaryKey: false
+    visible: true
+  RDB$FIELD_SOURCE:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$FIELD_SOURCE
+    primaryKey: false
+    visible: true
+  RDB$DEFAULT_VALUE:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DEFAULT_VALUE
+    primaryKey: false
+    visible: true
+  RDB$DEFAULT_SOURCE:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DEFAULT_SOURCE
+    primaryKey: false
+    visible: true
+  RDB$COLLATION_ID:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$COLLATION_ID
+    primaryKey: false
+    visible: true
+  RDB$NULL_FLAG:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$NULL_FLAG
+    primaryKey: false
+    visible: true
+  RDB$ARGUMENT_MECHANISM:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$ARGUMENT_MECHANISM
+    primaryKey: false
+    visible: true
+  RDB$FIELD_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$FIELD_NAME
+    primaryKey: false
+    visible: true
+  RDB$RELATION_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$RELATION_NAME
+    primaryKey: false
+    visible: true
+  RDB$SYSTEM_FLAG:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$SYSTEM_FLAG
+    primaryKey: false
+    visible: true
+  RDB$DESCRIPTION:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DESCRIPTION
+    primaryKey: false
+    visible: true
+
+
+
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$functions.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$functions.yaml
new file mode 100644
index 00000000000..be655deb550
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$functions.yaml
@@ -0,0 +1,167 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$FUNCTIONS
+columns:
+  RDB$FUNCTION_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$FUNCTION_NAME
+    primaryKey: false
+    visible: true
+  RDB$FUNCTION_TYPE:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$FUNCTION_TYPE
+    primaryKey: false
+    visible: true
+  RDB$QUERY_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$QUERY_NAME
+    primaryKey: false
+    visible: true
+  RDB$DESCRIPTION:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DESCRIPTION
+    primaryKey: false
+    visible: true
+  RDB$MODULE_NAME:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: RDB$MODULE_NAME
+    primaryKey: false
+    visible: true
+  RDB$ENTRYPOINT:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$ENTRYPOINT
+    primaryKey: false
+    visible: true
+  RDB$RETURN_ARGUMENT:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$RETURN_ARGUMENT
+    primaryKey: false
+    visible: true
+  RDB$SYSTEM_FLAG:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$SYSTEM_FLAG
+    primaryKey: false
+    visible: true
+  RDB$ENGINE_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$ENGINE_NAME
+    primaryKey: false
+    visible: true
+  RDB$PACKAGE_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$PACKAGE_NAME
+    primaryKey: false
+    visible: true
+  RDB$PRIVATE_FLAG:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$PRIVATE_FLAG
+    primaryKey: false
+    visible: true
+  RDB$FUNCTION_SOURCE:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$FUNCTION_SOURCE
+    primaryKey: false
+    visible: true
+  RDB$FUNCTION_ID:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$FUNCTION_ID
+    primaryKey: false
+    visible: true
+  RDB$FUNCTION_BLR:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$FUNCTION_BLR
+    primaryKey: false
+    visible: true
+  RDB$VALID_BLR:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$VALID_BLR
+    primaryKey: false
+    visible: true
+  RDB$DEBUG_INFO:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DEBUG_INFO
+    primaryKey: false
+    visible: true
+  RDB$SECURITY_CLASS:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$SECURITY_CLASS
+    primaryKey: false
+    visible: true
+  RDB$OWNER_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$OWNER_NAME
+    primaryKey: false
+    visible: true
+  RDB$LEGACY_FLAG:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$LEGACY_FLAG
+    primaryKey: false
+    visible: true
+  RDB$DETERMINISTIC_FLAG:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$DETERMINISTIC_FLAG
+    primaryKey: false
+    visible: true
+  RDB$SQL_SECURITY:
+    caseSensitive: false
+    dataType: 16
+    generated: false
+    name: RDB$SQL_SECURITY
+    primaryKey: false
+    visible: true
+
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$generators.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$generators.yaml
new file mode 100644
index 00000000000..15f366b3b10
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$generators.yaml
@@ -0,0 +1,76 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$GENERATORS
+columns:
+  RDB$GENERATOR_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$GENERATOR_NAME
+    primaryKey: false
+    visible: true
+  RDB$GENERATOR_ID:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$GENERATOR_ID
+    primaryKey: false
+    visible: true
+  RDB$SYSTEM_FLAG:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$SYSTEM_FLAG
+    primaryKey: false
+    visible: true
+  RDB$DESCRIPTION:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DESCRIPTION
+    primaryKey: false
+    visible: true
+  RDB$SECURITY_CLASS:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$SECURITY_CLASS
+    primaryKey: false
+    visible: true
+  RDB$OWNER_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$OWNER_NAME
+    primaryKey: false
+    visible: true
+  RDB$INITIAL_VALUE:
+    caseSensitive: false
+    dataType: -5
+    generated: false
+    name: RDB$INITIAL_VALUE
+    primaryKey: false
+    visible: true
+  RDB$GENERATOR_INCREMENT:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: RDB$GENERATOR_INCREMENT
+    primaryKey: false
+    visible: true
+
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$index_segments.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$index_segments.yaml
new file mode 100644
index 00000000000..e0cbf3df087
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$index_segments.yaml
@@ -0,0 +1,48 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$INDEX_SEGMENTS
+columns:
+  RDB$INDEX_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$INDEX_NAME
+    primaryKey: false
+    visible: true
+  RDB$FIELD_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$FIELD_NAME
+    primaryKey: false
+    visible: true
+  RDB$FIELD_POSITION:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$FIELD_POSITION
+    primaryKey: false
+    visible: true
+  RDB$STATISTICS:
+    caseSensitive: false
+    dataType: 8
+    generated: false
+    name: RDB$STATISTICS
+    primaryKey: false
+    visible: true
+
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$indices.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$indices.yaml
new file mode 100644
index 00000000000..488af1cbce8
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$indices.yaml
@@ -0,0 +1,125 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$INDICES
+columns:
+  RDB$INDEX_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$INDEX_NAME
+    primaryKey: false
+    visible: true
+  RDB$RELATION_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$RELATION_NAME
+    primaryKey: false
+    visible: true
+  RDB$INDEX_ID:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$INDEX_ID
+    primaryKey: false
+    visible: true
+  RDB$UNIQUE_FLAG:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$UNIQUE_FLAG
+    primaryKey: false
+    visible: true
+  RDB$DESCRIPTION:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DESCRIPTION
+    primaryKey: false
+    visible: true
+  RDB$SEGMENT_COUNT:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$SEGMENT_COUNT
+    primaryKey: false
+    visible: true
+  RDB$INDEX_INACTIVE:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$INDEX_INACTIVE
+    primaryKey: false
+    visible: true
+  RDB$INDEX_TYPE:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$INDEX_TYPE
+    primaryKey: false
+    visible: true
+  RDB$FOREIGN_KEY:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$FOREIGN_KEY
+    primaryKey: false
+    visible: true
+  RDB$SYSTEM_FLAG:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$SYSTEM_FLAG
+    primaryKey: false
+    visible: true
+  RDB$EXPRESSION_BLR:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$EXPRESSION_BLR
+    primaryKey: false
+    visible: true
+  RDB$EXPRESSION_SOURCE:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$EXPRESSION_SOURCE
+    primaryKey: false
+    visible: true
+  RDB$STATISTICS:
+    caseSensitive: false
+    dataType: 8
+    generated: false
+    name: RDB$STATISTICS
+    primaryKey: false
+    visible: true
+  RDB$CONDITION_BLR:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$CONDITION_BLR
+    primaryKey: false
+    visible: true
+  RDB$CONDITION_SOURCE:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$CONDITION_SOURCE
+    primaryKey: false
+    visible: true
+
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$pages.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$pages.yaml
new file mode 100644
index 00000000000..9d84089f050
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$pages.yaml
@@ -0,0 +1,48 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$PAGES
+columns:
+  RDB$PAGE_NUMBER:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: RDB$PAGE_NUMBER
+    primaryKey: false
+    visible: true
+  RDB$RELATION_ID:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$RELATION_ID
+    primaryKey: false
+    visible: true
+  RDB$PAGE_SEQUENCE:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: RDB$PAGE_SEQUENCE
+    primaryKey: false
+    visible: true
+  RDB$PAGE_TYPE:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$PAGE_TYPE
+    primaryKey: false
+    visible: true
+
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$procedure_parameters.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$procedure_parameters.yaml
new file mode 100644
index 00000000000..b9ec2d6f168
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$procedure_parameters.yaml
@@ -0,0 +1,125 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$PROCEDURE_PARAMETERS
+columns:
+  RDB$PARAMETER_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$PARAMETER_NAME
+    primaryKey: false
+    visible: true
+  RDB$PROCEDURE_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$PROCEDURE_NAME
+    primaryKey: false
+    visible: true
+  RDB$PARAMETER_NUMBER:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$PARAMETER_NUMBER
+    primaryKey: false
+    visible: true
+  RDB$PARAMETER_TYPE:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$PARAMETER_TYPE
+    primaryKey: false
+    visible: true
+  RDB$FIELD_SOURCE:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$FIELD_SOURCE
+    primaryKey: false
+    visible: true
+  RDB$DESCRIPTION:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DESCRIPTION
+    primaryKey: false
+    visible: true
+  RDB$SYSTEM_FLAG:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$SYSTEM_FLAG
+    primaryKey: false
+    visible: true
+  RDB$DEFAULT_VALUE:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DEFAULT_VALUE
+    primaryKey: false
+    visible: true
+  RDB$DEFAULT_SOURCE:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DEFAULT_SOURCE
+    primaryKey: false
+    visible: true
+  RDB$COLLATION_ID:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$COLLATION_ID
+    primaryKey: false
+    visible: true
+  RDB$NULL_FLAG:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$NULL_FLAG
+    primaryKey: false
+    visible: true
+  RDB$PARAMETER_MECHANISM:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$PARAMETER_MECHANISM
+    primaryKey: false
+    visible: true
+  RDB$FIELD_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$FIELD_NAME
+    primaryKey: false
+    visible: true
+  RDB$RELATION_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$RELATION_NAME
+    primaryKey: false
+    visible: true
+  RDB$PACKAGE_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$PACKAGE_NAME
+    primaryKey: false
+    visible: true
+
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$procedures.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$procedures.yaml
new file mode 100644
index 00000000000..abf4b24df47
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$procedures.yaml
@@ -0,0 +1,152 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$PROCEDURES
+columns:
+  RDB$PROCEDURE_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$PROCEDURE_NAME
+    primaryKey: false
+    visible: true
+  RDB$PROCEDURE_ID:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$PROCEDURE_ID
+    primaryKey: false
+    visible: true
+  RDB$PROCEDURE_INPUTS:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$PROCEDURE_INPUTS
+    primaryKey: false
+    visible: true
+  RDB$PROCEDURE_OUTPUTS:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$PROCEDURE_OUTPUTS
+    primaryKey: false
+    visible: true
+  RDB$DESCRIPTION:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DESCRIPTION
+    primaryKey: false
+    visible: true
+  RDB$PROCEDURE_SOURCE:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$PROCEDURE_SOURCE
+    primaryKey: false
+    visible: true
+  RDB$PROCEDURE_BLR:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$PROCEDURE_BLR
+    primaryKey: false
+    visible: true
+  RDB$SECURITY_CLASS:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$SECURITY_CLASS
+    primaryKey: false
+    visible: true
+  RDB$OWNER_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$OWNER_NAME
+    primaryKey: false
+    visible: true
+  RDB$RUNTIME:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$RUNTIME
+    primaryKey: false
+    visible: true
+  RDB$SYSTEM_FLAG:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$SYSTEM_FLAG
+    primaryKey: false
+    visible: true
+  RDB$PROCEDURE_TYPE:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$PROCEDURE_TYPE
+    primaryKey: false
+    visible: true
+  RDB$VALID_BLR:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$VALID_BLR
+    primaryKey: false
+    visible: true
+  RDB$DEBUG_INFO:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DEBUG_INFO
+    primaryKey: false
+    visible: true
+  RDB$ENGINE_NAME:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$ENGINE_NAME
+    primaryKey: false
+    visible: true
+  RDB$ENTRYPOINT:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$ENTRYPOINT
+    primaryKey: false
+    visible: true
+  RDB$PACKAGE_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$PACKAGE_NAME
+    primaryKey: false
+    visible: true
+  RDB$PRIVATE_FLAG:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$PRIVATE_FLAG
+    primaryKey: false
+    visible: true
+  RDB$SQL_SECURITY:
+    caseSensitive: false
+    dataType: 16
+    generated: false
+    name: RDB$SQL_SECURITY
+    primaryKey: false
+    visible: true
\ No newline at end of file
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$ref_constraints.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$ref_constraints.yaml
new file mode 100644
index 00000000000..ce61a0fbcdb
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$ref_constraints.yaml
@@ -0,0 +1,55 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$REF_CONSTRAINTS
+columns:
+  RDB$CONSTRAINT_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$CONSTRAINT_NAME
+    primaryKey: false
+    visible: true
+  RDB$CONST_NAME_UQ:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$CONST_NAME_UQ
+    primaryKey: false
+    visible: true
+  RDB$MATCH_OPTION:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$MATCH_OPTION
+    primaryKey: false
+    visible: true
+  RDB$UPDATE_RULE:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$UPDATE_RULE
+    primaryKey: false
+    visible: true
+  RDB$DELETE_RULE:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$DELETE_RULE
+    primaryKey: false
+    visible: true
+
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$relation_constraints.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$relation_constraints.yaml
new file mode 100644
index 00000000000..553e0fa1487
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$relation_constraints.yaml
@@ -0,0 +1,61 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$RELATION_CONSTRAINTS
+columns:
+  RDB$CONSTRAINT_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$CONSTRAINT_NAME
+    primaryKey: false
+    visible: true
+  RDB$CONSTRAINT_TYPE:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$CONSTRAINT_TYPE
+    primaryKey: false
+    visible: true
+  RDB$RELATION_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$RELATION_NAME
+    primaryKey: false
+    visible: true
+  RDB$DEFERRABLE:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$DEFERRABLE
+    primaryKey: false
+    visible: true
+  RDB$INITIALLY_DEFERRED:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$INITIALLY_DEFERRED
+    primaryKey: false
+    visible: true
+  RDB$INDEX_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$INDEX_NAME
+    primaryKey: false
+    visible: true
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$relation_fields.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$relation_fields.yaml
new file mode 100644
index 00000000000..48cc88c2d54
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$relation_fields.yaml
@@ -0,0 +1,166 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$RELATION_FIELDS
+columns:
+  RDB$FIELD_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$FIELD_NAME
+    primaryKey: false
+    visible: true
+  RDB$RELATION_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$RELATION_NAME
+    primaryKey: false
+    visible: true
+  RDB$FIELD_SOURCE:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$FIELD_SOURCE
+    primaryKey: false
+    visible: true
+  RDB$QUERY_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$QUERY_NAME
+    primaryKey: false
+    visible: true
+  RDB$BASE_FIELD:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$BASE_FIELD
+    primaryKey: false
+    visible: true
+  RDB$EDIT_STRING:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: RDB$EDIT_STRING
+    primaryKey: false
+    visible: true
+  RDB$FIELD_POSITION:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$FIELD_POSITION
+    primaryKey: false
+    visible: true
+  RDB$QUERY_HEADER:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$QUERY_HEADER
+    primaryKey: false
+    visible: true
+  RDB$UPDATE_FLAG:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$UPDATE_FLAG
+    primaryKey: false
+    visible: true
+  RDB$FIELD_ID:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$FIELD_ID
+    primaryKey: false
+    visible: true
+  RDB$VIEW_CONTEXT:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$VIEW_CONTEXT
+    primaryKey: false
+    visible: true
+  RDB$DESCRIPTION:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DESCRIPTION
+    primaryKey: false
+    visible: true
+  RDB$DEFAULT_VALUE:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DEFAULT_VALUE
+    primaryKey: false
+    visible: true
+  RDB$SYSTEM_FLAG:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$SYSTEM_FLAG
+    primaryKey: false
+    visible: true
+  RDB$SECURITY_CLASS:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$SECURITY_CLASS
+    primaryKey: false
+    visible: true
+  RDB$COMPLEX_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$COMPLEX_NAME
+    primaryKey: false
+    visible: true
+  RDB$NULL_FLAG:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$NULL_FLAG
+    primaryKey: false
+    visible: true
+  RDB$DEFAULT_SOURCE:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DEFAULT_SOURCE
+    primaryKey: false
+    visible: true
+  RDB$COLLATION_ID:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$COLLATION_ID
+    primaryKey: false
+    visible: true
+  RDB$GENERATOR_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$GENERATOR_NAME
+    primaryKey: false
+    visible: true
+  RDB$IDENTITY_TYPE:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$IDENTITY_TYPE
+    primaryKey: false
+    visible: true
\ No newline at end of file
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$relations.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$relations.yaml
new file mode 100644
index 00000000000..87fbd67cd82
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$relations.yaml
@@ -0,0 +1,145 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$RELATIONS
+columns:
+  RDB$VIEW_BLR:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$VIEW_BLR
+    primaryKey: false
+    visible: true
+  RDB$VIEW_SOURCE:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$VIEW_SOURCE
+    primaryKey: false
+    visible: true
+  RDB$DESCRIPTION:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DESCRIPTION
+    primaryKey: false
+    visible: true
+  RDB$RELATION_ID:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$RELATION_ID
+    primaryKey: false
+    visible: true
+  RDB$SYSTEM_FLAG:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$SYSTEM_FLAG
+    primaryKey: false
+    visible: true
+  RDB$DBKEY_LENGTH:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$DBKEY_LENGTH
+    primaryKey: false
+    visible: true
+  RDB$FORMAT:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$FORMAT
+    primaryKey: false
+    visible: true
+  RDB$FIELD_ID:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$FIELD_ID
+    primaryKey: false
+    visible: true
+  RDB$RELATION_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$RELATION_NAME
+    primaryKey: false
+    visible: true
+  RDB$SECURITY_CLASS:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$SECURITY_CLASS
+    primaryKey: false
+    visible: true
+  RDB$EXTERNAL_FILE:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: RDB$EXTERNAL_FILE
+    primaryKey: false
+    visible: true
+  RDB$RUNTIME:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$RUNTIME
+    primaryKey: false
+    visible: true
+  RDB$EXTERNAL_DESCRIPTION:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$EXTERNAL_DESCRIPTION
+    primaryKey: false
+    visible: true
+  RDB$OWNER_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$OWNER_NAME
+    primaryKey: false
+    visible: true
+  RDB$DEFAULT_CLASS:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$DEFAULT_CLASS
+    primaryKey: false
+    visible: true
+  RDB$FLAGS:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$FLAGS
+    primaryKey: false
+    visible: true
+  RDB$RELATION_TYPE:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$RELATION_TYPE
+    primaryKey: false
+    visible: true
+  RDB$SQL_SECURITY:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$SQL_SECURITY
+    primaryKey: false
+    visible: true
\ No newline at end of file
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$roles.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$roles.yaml
new file mode 100644
index 00000000000..d556b5f4fdc
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$roles.yaml
@@ -0,0 +1,61 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$ROLES
+columns:
+  RDB$ROLE_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$ROLE_NAME
+    primaryKey: false
+    visible: true
+  RDB$OWNER_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$OWNER_NAME
+    primaryKey: false
+    visible: true
+  RDB$DESCRIPTION:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DESCRIPTION
+    primaryKey: false
+    visible: true
+  RDB$SYSTEM_FLAG:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$SYSTEM_FLAG
+    primaryKey: false
+    visible: true
+  RDB$SECURITY_CLASS:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$SECURITY_CLASS
+    primaryKey: false
+    visible: true
+  RDB$SYSTEM_PRIVILEGES:
+    caseSensitive: false
+    dataType: -2
+    generated: false
+    name: RDB$SYSTEM_PRIVILEGES
+    primaryKey: false
+    visible: true
\ No newline at end of file
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$security_classes.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$security_classes.yaml
new file mode 100644
index 00000000000..d91043a46f7
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$security_classes.yaml
@@ -0,0 +1,40 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$SECURITY_CLASSES
+columns:
+  RDB$SECURITY_CLASS:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$SECURITY_CLASS
+    primaryKey: false
+    visible: true
+  RDB$ACL:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$ACL
+    primaryKey: false
+    visible: true
+  RDB$DESCRIPTION:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DESCRIPTION
+    primaryKey: false
+    visible: true
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$time_zones.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$time_zones.yaml
new file mode 100644
index 00000000000..62d7c30311c
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$time_zones.yaml
@@ -0,0 +1,33 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$TIME_ZONES
+columns:
+  RDB$TIME_ZONE_ID:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: RDB$TIME_ZONE_ID
+    primaryKey: false
+    visible: true
+  RDB$TIME_ZONE_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$TIME_ZONE_NAME
+    primaryKey: false
+    visible: true
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$transactions.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$transactions.yaml
new file mode 100644
index 00000000000..48fbac6cbc5
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$transactions.yaml
@@ -0,0 +1,47 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$TRANSACTIONS
+columns:
+  RDB$TRANSACTION_ID:
+    caseSensitive: false
+    dataType: 4
+    generated: false
+    name: RDB$TRANSACTION_ID
+    primaryKey: false
+    visible: true
+  RDB$TRANSACTION_STATE:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$TRANSACTION_STATE
+    primaryKey: false
+    visible: true
+  RDB$TIMESTAMP:
+    caseSensitive: false
+    dataType: 2014
+    generated: false
+    name: RDB$TIMESTAMP
+    primaryKey: false
+    visible: true
+  RDB$TRANSACTION_DESCRIPTION:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$TRANSACTION_DESCRIPTION
+    primaryKey: false
+    visible: true
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$trigger_messages.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$trigger_messages.yaml
new file mode 100644
index 00000000000..faa4bd5ae73
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$trigger_messages.yaml
@@ -0,0 +1,41 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$TRIGGER_MESSAGES
+columns:
+  RDB$TRIGGER_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$TRIGGER_NAME
+    primaryKey: false
+    visible: true
+  RDB$MESSAGE_NUMBER:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$MESSAGE_NUMBER
+    primaryKey: false
+    visible: true
+  RDB$MESSAGE:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: RDB$MESSAGE
+    primaryKey: false
+    visible: true
+
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$triggers.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$triggers.yaml
new file mode 100644
index 00000000000..dc7cf4fe4e6
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$triggers.yaml
@@ -0,0 +1,124 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$TRIGGERS
+columns:
+  RDB$TRIGGER_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$TRIGGER_NAME
+    primaryKey: false
+    visible: true
+  RDB$RELATION_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$RELATION_NAME
+    primaryKey: false
+    visible: true
+  RDB$TRIGGER_SEQUENCE:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$TRIGGER_SEQUENCE
+    primaryKey: false
+    visible: true
+  RDB$TRIGGER_TYPE:
+    caseSensitive: false
+    dataType: -5
+    generated: false
+    name: RDB$TRIGGER_TYPE
+    primaryKey: false
+    visible: true
+  RDB$TRIGGER_SOURCE:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$TRIGGER_SOURCE
+    primaryKey: false
+    visible: true
+  RDB$TRIGGER_BLR:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$TRIGGER_BLR
+    primaryKey: false
+    visible: true
+  RDB$DESCRIPTION:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DESCRIPTION
+    primaryKey: false
+    visible: true
+  RDB$TRIGGER_INACTIVE:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$TRIGGER_INACTIVE
+    primaryKey: false
+    visible: true
+  RDB$SYSTEM_FLAG:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$SYSTEM_FLAG
+    primaryKey: false
+    visible: true
+  RDB$FLAGS:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$FLAGS
+    primaryKey: false
+    visible: true
+  RDB$VALID_BLR:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$VALID_BLR
+    primaryKey: false
+    visible: true
+  RDB$DEBUG_INFO:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DEBUG_INFO
+    primaryKey: false
+    visible: true
+  RDB$ENGINE_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$ENGINE_NAME
+    primaryKey: false
+    visible: true
+  RDB$ENTRYPOINT:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$ENTRYPOINT
+    primaryKey: false
+    visible: true
+  RDB$SQL_SECURITY:
+    caseSensitive: false
+    dataType: 16
+    generated: false
+    name: RDB$SQL_SECURITY
+    primaryKey: false
+    visible: true
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$types.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$types.yaml
new file mode 100644
index 00000000000..d8ae1cb69f5
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$types.yaml
@@ -0,0 +1,54 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$TYPES
+columns:
+  RDB$FIELD_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$FIELD_NAME
+    primaryKey: false
+    visible: true
+  RDB$TYPE:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$TYPE
+    primaryKey: false
+    visible: true
+  RDB$TYPE_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$TYPE_NAME
+    primaryKey: false
+    visible: true
+  RDB$DESCRIPTION:
+    caseSensitive: false
+    dataType: 2004
+    generated: false
+    name: RDB$DESCRIPTION
+    primaryKey: false
+    visible: true
+  RDB$SYSTEM_FLAG:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$SYSTEM_FLAG
+    primaryKey: false
+    visible: true
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$user_privileges.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$user_privileges.yaml
new file mode 100644
index 00000000000..7cad52fd5be
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$user_privileges.yaml
@@ -0,0 +1,75 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$USER_PRIVILEGES
+columns:
+  RDB$USER:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$USER
+    primaryKey: false
+    visible: true
+  RDB$GRANTOR:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$GRANTOR
+    primaryKey: false
+    visible: true
+  RDB$PRIVILEGE:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$PRIVILEGE
+    primaryKey: false
+    visible: true
+  RDB$GRANT_OPTION:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$GRANT_OPTION
+    primaryKey: false
+    visible: true
+  RDB$RELATION_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$RELATION_NAME
+    primaryKey: false
+    visible: true
+  RDB$FIELD_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$FIELD_NAME
+    primaryKey: false
+    visible: true
+  RDB$USER_TYPE:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$USER_TYPE
+    primaryKey: false
+    visible: true
+  RDB$OBJECT_TYPE:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$OBJECT_TYPE
+    primaryKey: false
+    visible: true
diff --git 
a/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$view_relations.yaml
 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$view_relations.yaml
new file mode 100644
index 00000000000..f44b789fb3b
--- /dev/null
+++ 
b/infra/database/type/firebird/src/main/resources/schema/firebird/rdb/rdb$view_relations.yaml
@@ -0,0 +1,61 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+name: RDB$VIEW_RELATIONS
+columns:
+  RDB$VIEW_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$VIEW_NAME
+    primaryKey: false
+    visible: true
+  RDB$RELATION_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$RELATION_NAME
+    primaryKey: false
+    visible: true
+  RDB$VIEW_CONTEXT:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$VIEW_CONTEXT
+    primaryKey: false
+    visible: true
+  RDB$CONTEXT_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$CONTEXT_NAME
+    primaryKey: false
+    visible: true
+  RDB$CONTEXT_TYPE:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: RDB$CONTEXT_TYPE
+    primaryKey: false
+    visible: true
+  RDB$PACKAGE_NAME:
+    caseSensitive: false
+    dataType: 1
+    generated: false
+    name: RDB$PACKAGE_NAME
+    primaryKey: false
+    visible: true
diff --git a/test/it/parser/src/main/resources/case/dml/select.xml 
b/test/it/parser/src/main/resources/case/dml/select.xml
index 0313e6a95c0..bc2349caddd 100644
--- a/test/it/parser/src/main/resources/case/dml/select.xml
+++ b/test/it/parser/src/main/resources/case/dml/select.xml
@@ -10217,4 +10217,12 @@
             </expr>
         </where>
     </select>
+    <select sql-case-id="select_system_table_firebird">
+        <projections start-index="7" stop-index="18">
+            <column-projection owner="" name="RDB$MAP_NAME" start-index="7" 
stop-index="18"/>
+        </projections>
+        <from>
+            <simple-table name="RDB$AUTH_MAPPING" start-index="25" 
stop-index="40"/>
+        </from>
+    </select>
 </sql-parser-test-cases>
diff --git a/test/it/parser/src/main/resources/sql/supported/dml/select.xml 
b/test/it/parser/src/main/resources/sql/supported/dml/select.xml
index 0989309ecac..86282500ebe 100644
--- a/test/it/parser/src/main/resources/sql/supported/dml/select.xml
+++ b/test/it/parser/src/main/resources/sql/supported/dml/select.xml
@@ -320,4 +320,5 @@
     <sql-case id="select_match_against" value="SELECT * FROM t_order WHERE 
MATCH(phone) AGAINST('15111111111')" db-types="MySQL"/>
     <sql-case id="select_with_oracle_v1_keyword" value="SELECT * FROM dual v1" 
db-types="Oracle" />
     <sql-case id="select_in_literal" value="select * from t_order where 
ORDER_ID in 'test'" db-types="Oracle" />
+    <sql-case id="select_system_table_firebird" value="SELECT RDB$MAP_NAME 
FROM RDB$AUTH_MAPPING" db-types="Firebird"/>
 </sql-cases>

Reply via email to