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

duanzhengqiang 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 2ee933f37f3 add new schema table for `mysql` database. (#30616)
2ee933f37f3 is described below

commit 2ee933f37f396d91b86cafbbf96869f8c320478b
Author: Zonglei Dong <[email protected]>
AuthorDate: Sat Mar 30 19:05:18 2024 +0800

    add new schema table for `mysql` database. (#30616)
    
    * add new schema table for `mysql` database.
    
    * add new schema table for `mysql` database.
    
    * add new table column for `mysql` database.
---
 .../database/schema/SystemSchemaManagerTest.java   |   2 +-
 .../schema/builder/SystemSchemaBuilderTest.java    |   2 +-
 .../resources/schema/mysql/mysql/columns_priv.yaml |   8 ++
 .../{time_zone_transition.yaml => component.yaml}  |  34 +++----
 .../src/main/resources/schema/mysql/mysql/db.yaml  |  48 +++++++++-
 .../mysql/mysql/{func.yaml => default_roles.yaml}  |  37 ++++----
 .../resources/schema/mysql/mysql/engine_cost.yaml  |   7 ++
 .../main/resources/schema/mysql/mysql/event.yaml   |  23 +++++
 .../main/resources/schema/mysql/mysql/func.yaml    |   5 ++
 .../resources/schema/mysql/mysql/general_log.yaml  |   6 ++
 .../mysql/mysql/{func.yaml => global_grants.yaml}  |  33 ++++---
 .../schema/mysql/mysql/gtid_executed.yaml          |   4 +
 .../schema/mysql/mysql/help_category.yaml          |   6 ++
 .../resources/schema/mysql/mysql/help_keyword.yaml |   4 +
 .../schema/mysql/mysql/help_relation.yaml          |   3 +
 .../resources/schema/mysql/mysql/help_topic.yaml   |   8 ++
 .../schema/mysql/mysql/innodb_index_stats.yaml     |   9 ++
 .../schema/mysql/mysql/innodb_table_stats.yaml     |   7 ++
 .../schema/mysql/mysql/ndb_binlog_index.yaml       |  13 +++
 .../mysql/{func.yaml => password_history.yaml}     |  37 ++++----
 .../main/resources/schema/mysql/mysql/plugin.yaml  |   3 +
 .../main/resources/schema/mysql/mysql/proc.yaml    |  21 +++++
 .../resources/schema/mysql/mysql/procs_priv.yaml   |  10 +++
 .../resources/schema/mysql/mysql/proxies_priv.yaml |   9 ++
 ...lication_asynchronous_connection_failover.yaml} |  51 +++++------
 ..._asynchronous_connection_failover_managed.yaml} |  33 ++++---
 ...> replication_group_configuration_version.yaml} |  27 +++---
 ....yaml => replication_group_member_actions.yaml} |  51 +++++------
 .../resources/schema/mysql/mysql/role_edges.yaml   |  11 +++
 .../resources/schema/mysql/mysql/server_cost.yaml  |   5 ++
 .../main/resources/schema/mysql/mysql/servers.yaml |  10 +++
 .../schema/mysql/mysql/slave_master_info.yaml      |  26 ++++++
 .../schema/mysql/mysql/slave_relay_log_info.yaml   |  10 +++
 .../schema/mysql/mysql/slave_worker_info.yaml      |  14 +++
 .../resources/schema/mysql/mysql/slow_log.yaml     |  12 +++
 .../resources/schema/mysql/mysql/tables_priv.yaml  |  10 +++
 .../resources/schema/mysql/mysql/time_zone.yaml    |   3 +
 .../schema/mysql/mysql/time_zone_leap_second.yaml  |   3 +
 .../schema/mysql/mysql/time_zone_name.yaml         |   3 +
 .../schema/mysql/mysql/time_zone_transition.yaml   |   4 +
 .../mysql/mysql/time_zone_transition_type.yaml     |   6 ++
 .../main/resources/schema/mysql/mysql/user.yaml    | 100 +++++++++++++++++++++
 .../mysql/select_mysql_mysql_component.xml         |  24 +++++
 .../mysql/select_mysql_mysql_default_roles.xml     |  25 ++++++
 .../mysql/select_mysql_mysql_global_grants.xml     |  25 ++++++
 .../mysql/select_mysql_mysql_password_history.xml  |  25 ++++++
 ...eplication_asynchronous_connection_failover.xml |  27 ++++++
 ...on_asynchronous_connection_failover_managed.xml |  25 ++++++
 ...sql_replication_group_configuration_version.xml |  23 +++++
 ...ysql_mysql_replication_group_member_actions.xml |  27 ++++++
 .../mysql/select_mysql_mysql_role_edges.xml        |  26 ++++++
 .../mysql/select_mysql_mysql_user.xml              |   6 ++
 .../dql-integration-simple-select-mysql-mysql.xml  |  36 ++++++++
 53 files changed, 842 insertions(+), 145 deletions(-)

diff --git 
a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/SystemSchemaManagerTest.java
 
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/SystemSchemaManagerTest.java
index f9dd681f256..c693baca028 100644
--- 
a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/SystemSchemaManagerTest.java
+++ 
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/SystemSchemaManagerTest.java
@@ -34,7 +34,7 @@ class SystemSchemaManagerTest {
         Collection<String> actualInformationSchema = 
SystemSchemaManager.getTables("MySQL", "information_schema");
         assertThat(actualInformationSchema.size(), is(62));
         Collection<String> actualMySQLSchema = 
SystemSchemaManager.getTables("MySQL", "mysql");
-        assertThat(actualMySQLSchema.size(), is(32));
+        assertThat(actualMySQLSchema.size(), is(40));
         Collection<String> actualPerformanceSchema = 
SystemSchemaManager.getTables("MySQL", "performance_schema");
         assertThat(actualPerformanceSchema.size(), is(87));
         Collection<String> actualSysSchema = 
SystemSchemaManager.getTables("MySQL", "sys");
diff --git 
a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SystemSchemaBuilderTest.java
 
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SystemSchemaBuilderTest.java
index 98763581262..2165bcca258 100644
--- 
a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SystemSchemaBuilderTest.java
+++ 
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SystemSchemaBuilderTest.java
@@ -43,7 +43,7 @@ class SystemSchemaBuilderTest {
         Map<String, ShardingSphereSchema> actualMySQLSchema = 
SystemSchemaBuilder.build("mysql", databaseType, configProps);
         assertThat(actualMySQLSchema.size(), is(1));
         assertTrue(actualMySQLSchema.containsKey("mysql"));
-        assertThat(actualMySQLSchema.get("mysql").getTables().size(), is(32));
+        assertThat(actualMySQLSchema.get("mysql").getTables().size(), is(40));
         Map<String, ShardingSphereSchema> actualPerformanceSchema = 
SystemSchemaBuilder.build("performance_schema", databaseType, configProps);
         assertThat(actualPerformanceSchema.size(), is(1));
         assertTrue(actualPerformanceSchema.containsKey("performance_schema"));
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/columns_priv.yaml
 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/columns_priv.yaml
index d74ad885af0..4df91f9d33b 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/columns_priv.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/columns_priv.yaml
@@ -22,6 +22,7 @@ columns:
     dataType: 1
     generated: false
     name: Host
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -30,6 +31,7 @@ columns:
     dataType: 1
     generated: false
     name: Db
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -38,6 +40,7 @@ columns:
     dataType: 1
     generated: false
     name: User
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -46,6 +49,7 @@ columns:
     dataType: 1
     generated: false
     name: Table_name
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -54,6 +58,7 @@ columns:
     dataType: 1
     generated: false
     name: Column_name
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -62,6 +67,7 @@ columns:
     dataType: 93
     generated: false
     name: Timestamp
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -70,9 +76,11 @@ columns:
     dataType: 12
     generated: false
     name: Column_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/time_zone_transition.yaml
 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/component.yaml
similarity index 74%
copy from 
infra/database/type/mysql/src/main/resources/schema/mysql/mysql/time_zone_transition.yaml
copy to 
infra/database/type/mysql/src/main/resources/schema/mysql/mysql/component.yaml
index 27178830f42..fc609b81ddc 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/time_zone_transition.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/component.yaml
@@ -15,32 +15,36 @@
 # limitations under the License.
 #
 
-name: time_zone_transition
+name: component
 columns:
-  time_zone_id:
-    caseSensitive: false
+  component_id:
+    caseSensitive: true
     dataType: 4
-    generated: false
-    name: Time_zone_id
+    generated: true
+    name: component_id
+    nullable: false
     primaryKey: true
     unsigned: true
     visible: true
-  transition_time:
-    caseSensitive: false
+  component_group_id:
+    caseSensitive: true
     dataType: 4
     generated: false
-    name: Transition_time
-    primaryKey: true
-    unsigned: false
+    name: component_group_id
+    nullable: false
+    primaryKey: false
+    unsigned: true
     visible: true
-  transition_type_id:
-    caseSensitive: false
-    dataType: 4
+  component_urn:
+    caseSensitive: true
+    dataType: -1
     generated: false
-    name: Transition_type_id
+    name: component_urn
+    nullable: false
     primaryKey: false
-    unsigned: true
+    unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/db.yaml 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/db.yaml
index aea0c0f75d2..ff0861c7430 100644
--- a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/db.yaml
+++ b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/db.yaml
@@ -22,157 +22,203 @@ columns:
     dataType: 1
     generated: false
     name: Host
+    nullable: false
     primaryKey: true
+    unsigned: false
     visible: true
   db:
     caseSensitive: true
     dataType: 1
     generated: false
     name: Db
+    nullable: false
     primaryKey: true
+    unsigned: false
     visible: true
   user:
     caseSensitive: true
     dataType: 1
     generated: false
     name: User
+    nullable: false
     primaryKey: true
+    unsigned: false
     visible: true
   select_priv:
     caseSensitive: false
     dataType: 12
     generated: false
     name: Select_priv
+    nullable: false
     primaryKey: false
+    unsigned: false
     visible: true
   insert_priv:
     caseSensitive: false
     dataType: 12
     generated: false
     name: Insert_priv
+    nullable: false
     primaryKey: false
+    unsigned: false
     visible: true
   update_priv:
     caseSensitive: false
     dataType: 12
     generated: false
     name: Update_priv
+    nullable: false
     primaryKey: false
+    unsigned: false
     visible: true
   delete_priv:
     caseSensitive: false
     dataType: 12
     generated: false
     name: Delete_priv
+    nullable: false
     primaryKey: false
+    unsigned: false
     visible: true
   create_priv:
     caseSensitive: false
     dataType: 12
     generated: false
     name: Create_priv
+    nullable: false
     primaryKey: false
+    unsigned: false
     visible: true
   drop_priv:
     caseSensitive: false
     dataType: 12
     generated: false
     name: Drop_priv
+    nullable: false
     primaryKey: false
+    unsigned: false
     visible: true
   grant_priv:
     caseSensitive: false
     dataType: 12
     generated: false
     name: Grant_priv
+    nullable: false
     primaryKey: false
+    unsigned: false
     visible: true
   references_priv:
     caseSensitive: false
     dataType: 12
     generated: false
     name: References_priv
+    nullable: false
     primaryKey: false
+    unsigned: false
     visible: true
   index_priv:
     caseSensitive: false
     dataType: 12
     generated: false
     name: Index_priv
+    nullable: false
     primaryKey: false
+    unsigned: false
     visible: true
   alter_priv:
     caseSensitive: false
     dataType: 12
     generated: false
     name: Alter_priv
+    nullable: false
     primaryKey: false
+    unsigned: false
     visible: true
   create_tmp_table_priv:
     caseSensitive: false
     dataType: 12
     generated: false
     name: Create_tmp_table_priv
+    nullable: false
     primaryKey: false
+    unsigned: false
     visible: true
   lock_tables_priv:
     caseSensitive: false
     dataType: 12
     generated: false
     name: Lock_tables_priv
+    nullable: false
     primaryKey: false
+    unsigned: false
     visible: true
   create_view_priv:
     caseSensitive: false
     dataType: 12
     generated: false
     name: Create_view_priv
+    nullable: false
     primaryKey: false
+    unsigned: false
     visible: true
   show_view_priv:
     caseSensitive: false
     dataType: 12
     generated: false
     name: Show_view_priv
+    nullable: false
     primaryKey: false
+    unsigned: false
     visible: true
   create_routine_priv:
     caseSensitive: false
     dataType: 12
     generated: false
     name: Create_routine_priv
+    nullable: false
     primaryKey: false
+    unsigned: false
     visible: true
   alter_routine_priv:
     caseSensitive: false
     dataType: 12
     generated: false
     name: Alter_routine_priv
+    nullable: false
     primaryKey: false
+    unsigned: false
     visible: true
   execute_priv:
     caseSensitive: false
     dataType: 12
     generated: false
     name: Execute_priv
+    nullable: false
     primaryKey: false
+    unsigned: false
     visible: true
   event_priv:
     caseSensitive: false
     dataType: 12
     generated: false
     name: Event_priv
+    nullable: false
     primaryKey: false
+    unsigned: false
     visible: true
   trigger_priv:
     caseSensitive: false
     dataType: 12
     generated: false
     name: Trigger_priv
+    nullable: false
     primaryKey: false
+    unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
-  User:
+    unique: false
+  user:
     name: User
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/func.yaml 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/default_roles.yaml
similarity index 74%
copy from 
infra/database/type/mysql/src/main/resources/schema/mysql/mysql/func.yaml
copy to 
infra/database/type/mysql/src/main/resources/schema/mysql/mysql/default_roles.yaml
index 7d04947f3a7..c89514ed7d0 100644
--- a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/func.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/default_roles.yaml
@@ -15,40 +15,45 @@
 # limitations under the License.
 #
 
-name: func
+name: default_roles
 columns:
-  name:
+  host:
     caseSensitive: true
     dataType: 1
     generated: false
-    name: name
+    name: HOST
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
-  ret:
-    caseSensitive: false
-    dataType: -6
+  user:
+    caseSensitive: true
+    dataType: 1
     generated: false
-    name: ret
-    primaryKey: false
+    name: USER
+    nullable: false
+    primaryKey: true
     unsigned: false
     visible: true
-  dl:
+  default_role_host:
     caseSensitive: true
     dataType: 1
     generated: false
-    name: dl
-    primaryKey: false
+    name: DEFAULT_ROLE_HOST
+    nullable: false
+    primaryKey: true
     unsigned: false
     visible: true
-  type:
-    caseSensitive: false
-    dataType: 12
+  default_role_user:
+    caseSensitive: true
+    dataType: 1
     generated: false
-    name: type
-    primaryKey: false
+    name: DEFAULT_ROLE_USER
+    nullable: false
+    primaryKey: true
     unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/engine_cost.yaml
 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/engine_cost.yaml
index 0212cf49001..1f1f9d5e782 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/engine_cost.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/engine_cost.yaml
@@ -22,6 +22,7 @@ columns:
     dataType: 12
     generated: false
     name: engine_name
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -30,6 +31,7 @@ columns:
     dataType: 4
     generated: false
     name: device_type
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -38,6 +40,7 @@ columns:
     dataType: 12
     generated: false
     name: cost_name
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -46,6 +49,7 @@ columns:
     dataType: 7
     generated: false
     name: cost_value
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -54,6 +58,7 @@ columns:
     dataType: 93
     generated: false
     name: last_update
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -62,9 +67,11 @@ columns:
     dataType: 12
     generated: false
     name: comment
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/event.yaml 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/event.yaml
index 57c023f8606..6429109a575 100644
--- a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/event.yaml
+++ b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/event.yaml
@@ -22,6 +22,7 @@ columns:
     dataType: 1
     generated: false
     name: db
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -30,6 +31,7 @@ columns:
     dataType: 1
     generated: false
     name: name
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -38,6 +40,7 @@ columns:
     dataType: -4
     generated: false
     name: body
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -46,6 +49,7 @@ columns:
     dataType: 1
     generated: false
     name: definer
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -54,6 +58,7 @@ columns:
     dataType: 93
     generated: false
     name: execute_at
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -62,6 +67,7 @@ columns:
     dataType: 4
     generated: false
     name: interval_value
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -70,6 +76,7 @@ columns:
     dataType: 12
     generated: false
     name: interval_field
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -78,6 +85,7 @@ columns:
     dataType: 93
     generated: false
     name: created
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -86,6 +94,7 @@ columns:
     dataType: 93
     generated: false
     name: modified
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -94,6 +103,7 @@ columns:
     dataType: 93
     generated: false
     name: last_executed
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -102,6 +112,7 @@ columns:
     dataType: 93
     generated: false
     name: starts
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -110,6 +121,7 @@ columns:
     dataType: 93
     generated: false
     name: ends
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -118,6 +130,7 @@ columns:
     dataType: 12
     generated: false
     name: status
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -126,6 +139,7 @@ columns:
     dataType: 12
     generated: false
     name: on_completion
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -134,6 +148,7 @@ columns:
     dataType: 12
     generated: false
     name: sql_mode
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -142,6 +157,7 @@ columns:
     dataType: 1
     generated: false
     name: comment
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -150,6 +166,7 @@ columns:
     dataType: 4
     generated: false
     name: originator
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -158,6 +175,7 @@ columns:
     dataType: 1
     generated: false
     name: time_zone
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -166,6 +184,7 @@ columns:
     dataType: 1
     generated: false
     name: character_set_client
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -174,6 +193,7 @@ columns:
     dataType: 1
     generated: false
     name: collation_connection
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -182,6 +202,7 @@ columns:
     dataType: 1
     generated: false
     name: db_collation
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -190,9 +211,11 @@ columns:
     dataType: -4
     generated: false
     name: body_utf8
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/func.yaml 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/func.yaml
index 7d04947f3a7..a6a344bd3ea 100644
--- a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/func.yaml
+++ b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/func.yaml
@@ -22,6 +22,7 @@ columns:
     dataType: 1
     generated: false
     name: name
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -30,6 +31,7 @@ columns:
     dataType: -6
     generated: false
     name: ret
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -38,6 +40,7 @@ columns:
     dataType: 1
     generated: false
     name: dl
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -46,9 +49,11 @@ columns:
     dataType: 12
     generated: false
     name: type
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/general_log.yaml
 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/general_log.yaml
index 55c507fb601..b6da3503a92 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/general_log.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/general_log.yaml
@@ -22,6 +22,7 @@ columns:
     dataType: 93
     generated: false
     name: event_time
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -30,6 +31,7 @@ columns:
     dataType: -1
     generated: false
     name: user_host
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -38,6 +40,7 @@ columns:
     dataType: 4
     generated: false
     name: thread_id
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -46,6 +49,7 @@ columns:
     dataType: 4
     generated: false
     name: server_id
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -54,6 +58,7 @@ columns:
     dataType: 12
     generated: false
     name: command_type
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -62,6 +67,7 @@ columns:
     dataType: -4
     generated: false
     name: argument
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/func.yaml 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/global_grants.yaml
similarity index 77%
copy from 
infra/database/type/mysql/src/main/resources/schema/mysql/mysql/func.yaml
copy to 
infra/database/type/mysql/src/main/resources/schema/mysql/mysql/global_grants.yaml
index 7d04947f3a7..8594d87df39 100644
--- a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/func.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/global_grants.yaml
@@ -15,40 +15,45 @@
 # limitations under the License.
 #
 
-name: func
+name: global_grants
 columns:
-  name:
+  user:
     caseSensitive: true
     dataType: 1
     generated: false
-    name: name
+    name: USER
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
-  ret:
-    caseSensitive: false
-    dataType: -6
+  host:
+    caseSensitive: true
+    dataType: 1
     generated: false
-    name: ret
-    primaryKey: false
+    name: HOST
+    nullable: false
+    primaryKey: true
     unsigned: false
     visible: true
-  dl:
+  priv:
     caseSensitive: true
     dataType: 1
     generated: false
-    name: dl
-    primaryKey: false
+    name: PRIV
+    nullable: false
+    primaryKey: true
     unsigned: false
     visible: true
-  type:
-    caseSensitive: false
+  with_grant_option:
+    caseSensitive: true
     dataType: 12
     generated: false
-    name: type
+    name: WITH_GRANT_OPTION
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/gtid_executed.yaml
 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/gtid_executed.yaml
index 7cdf0cfb54e..db6cbad4252 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/gtid_executed.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/gtid_executed.yaml
@@ -22,6 +22,7 @@ columns:
     dataType: 1
     generated: false
     name: source_uuid
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -30,6 +31,7 @@ columns:
     dataType: 4
     generated: false
     name: interval_start
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -38,9 +40,11 @@ columns:
     dataType: 4
     generated: false
     name: interval_end
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/help_category.yaml
 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/help_category.yaml
index 70ac7824e5e..ceb80433e67 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/help_category.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/help_category.yaml
@@ -22,6 +22,7 @@ columns:
     dataType: 5
     generated: false
     name: help_category_id
+    nullable: false
     primaryKey: true
     unsigned: true
     visible: true
@@ -30,6 +31,7 @@ columns:
     dataType: 1
     generated: false
     name: name
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -38,6 +40,7 @@ columns:
     dataType: 5
     generated: false
     name: parent_category_id
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -46,11 +49,14 @@ columns:
     dataType: -1
     generated: false
     name: url
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
   name:
     name: name
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/help_keyword.yaml
 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/help_keyword.yaml
index 9d1c37baf99..35f1124b1aa 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/help_keyword.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/help_keyword.yaml
@@ -22,6 +22,7 @@ columns:
     dataType: 4
     generated: false
     name: help_keyword_id
+    nullable: false
     primaryKey: true
     unsigned: true
     visible: true
@@ -30,11 +31,14 @@ columns:
     dataType: 1
     generated: false
     name: name
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
   name:
     name: name
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/help_relation.yaml
 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/help_relation.yaml
index b7b2d6a82cc..97b414df28f 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/help_relation.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/help_relation.yaml
@@ -22,6 +22,7 @@ columns:
     dataType: 4
     generated: false
     name: help_topic_id
+    nullable: false
     primaryKey: true
     unsigned: true
     visible: true
@@ -30,9 +31,11 @@ columns:
     dataType: 4
     generated: false
     name: help_keyword_id
+    nullable: false
     primaryKey: true
     unsigned: true
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/help_topic.yaml
 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/help_topic.yaml
index aa49a332226..06ffd5dcb16 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/help_topic.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/help_topic.yaml
@@ -22,6 +22,7 @@ columns:
     dataType: 4
     generated: false
     name: help_topic_id
+    nullable: false
     primaryKey: true
     unsigned: true
     visible: true
@@ -30,6 +31,7 @@ columns:
     dataType: 1
     generated: false
     name: name
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -38,6 +40,7 @@ columns:
     dataType: 5
     generated: false
     name: help_category_id
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -46,6 +49,7 @@ columns:
     dataType: -1
     generated: false
     name: description
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -54,6 +58,7 @@ columns:
     dataType: -1
     generated: false
     name: example
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -62,11 +67,14 @@ columns:
     dataType: -1
     generated: false
     name: url
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
   name:
     name: name
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/innodb_index_stats.yaml
 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/innodb_index_stats.yaml
index 4898a39003c..23778d570b0 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/innodb_index_stats.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/innodb_index_stats.yaml
@@ -22,6 +22,7 @@ columns:
     dataType: 12
     generated: false
     name: database_name
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -30,6 +31,7 @@ columns:
     dataType: 12
     generated: false
     name: table_name
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -38,6 +40,7 @@ columns:
     dataType: 12
     generated: false
     name: index_name
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -46,6 +49,7 @@ columns:
     dataType: 93
     generated: false
     name: last_update
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -54,6 +58,7 @@ columns:
     dataType: 12
     generated: false
     name: stat_name
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -62,6 +67,7 @@ columns:
     dataType: 4
     generated: false
     name: stat_value
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -70,6 +76,7 @@ columns:
     dataType: 4
     generated: false
     name: sample_size
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -78,9 +85,11 @@ columns:
     dataType: 12
     generated: false
     name: stat_description
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/innodb_table_stats.yaml
 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/innodb_table_stats.yaml
index 3615ce9419a..fda2486e5ca 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/innodb_table_stats.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/innodb_table_stats.yaml
@@ -22,6 +22,7 @@ columns:
     dataType: 12
     generated: false
     name: database_name
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -30,6 +31,7 @@ columns:
     dataType: 12
     generated: false
     name: table_name
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -38,6 +40,7 @@ columns:
     dataType: 93
     generated: false
     name: last_update
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -46,6 +49,7 @@ columns:
     dataType: 4
     generated: false
     name: n_rows
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -54,6 +58,7 @@ columns:
     dataType: 4
     generated: false
     name: clustered_index_size
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -62,9 +67,11 @@ columns:
     dataType: 4
     generated: false
     name: sum_of_other_index_sizes
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/ndb_binlog_index.yaml
 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/ndb_binlog_index.yaml
index 6364392475e..ed32641f4a2 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/ndb_binlog_index.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/ndb_binlog_index.yaml
@@ -22,6 +22,7 @@ columns:
     dataType: 4
     generated: false
     name: Position
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -30,6 +31,7 @@ columns:
     dataType: 12
     generated: false
     name: File
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -38,6 +40,7 @@ columns:
     dataType: 4
     generated: false
     name: epoch
+    nullable: false
     primaryKey: true
     unsigned: true
     visible: true
@@ -46,6 +49,7 @@ columns:
     dataType: 4
     generated: false
     name: inserts
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -54,6 +58,7 @@ columns:
     dataType: 4
     generated: false
     name: updates
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -62,6 +67,7 @@ columns:
     dataType: 4
     generated: false
     name: deletes
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -70,6 +76,7 @@ columns:
     dataType: 4
     generated: false
     name: schemaops
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -78,6 +85,7 @@ columns:
     dataType: 4
     generated: false
     name: orig_server_id
+    nullable: false
     primaryKey: true
     unsigned: true
     visible: true
@@ -86,6 +94,7 @@ columns:
     dataType: 4
     generated: false
     name: orig_epoch
+    nullable: false
     primaryKey: true
     unsigned: true
     visible: true
@@ -94,6 +103,7 @@ columns:
     dataType: 4
     generated: false
     name: gci
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -102,6 +112,7 @@ columns:
     dataType: 4
     generated: false
     name: next_position
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -110,9 +121,11 @@ columns:
     dataType: 12
     generated: false
     name: next_file
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/func.yaml 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/password_history.yaml
similarity index 76%
copy from 
infra/database/type/mysql/src/main/resources/schema/mysql/mysql/func.yaml
copy to 
infra/database/type/mysql/src/main/resources/schema/mysql/mysql/password_history.yaml
index 7d04947f3a7..7cfe8fcbff7 100644
--- a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/func.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/password_history.yaml
@@ -15,40 +15,45 @@
 # limitations under the License.
 #
 
-name: func
+name: password_history
 columns:
-  name:
+  host:
     caseSensitive: true
     dataType: 1
     generated: false
-    name: name
+    name: Host
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
-  ret:
-    caseSensitive: false
-    dataType: -6
+  user:
+    caseSensitive: true
+    dataType: 1
     generated: false
-    name: ret
-    primaryKey: false
+    name: User
+    nullable: false
+    primaryKey: true
     unsigned: false
     visible: true
-  dl:
+  password_timestamp:
     caseSensitive: true
-    dataType: 1
+    dataType: 93
     generated: false
-    name: dl
-    primaryKey: false
+    name: Password_timestamp
+    nullable: false
+    primaryKey: true
     unsigned: false
     visible: true
-  type:
-    caseSensitive: false
-    dataType: 12
+  password:
+    caseSensitive: true
+    dataType: -1
     generated: false
-    name: type
+    name: Password
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/plugin.yaml 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/plugin.yaml
index 0ac3fed2c29..a29ca0f37fb 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/plugin.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/plugin.yaml
@@ -22,6 +22,7 @@ columns:
     dataType: 12
     generated: false
     name: name
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -30,9 +31,11 @@ columns:
     dataType: 12
     generated: false
     name: dl
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/proc.yaml 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/proc.yaml
index 549f30eef5e..513168bdf6f 100644
--- a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/proc.yaml
+++ b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/proc.yaml
@@ -22,6 +22,7 @@ columns:
     dataType: 1
     generated: false
     name: db
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -30,6 +31,7 @@ columns:
     dataType: 1
     generated: false
     name: name
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -38,6 +40,7 @@ columns:
     dataType: 12
     generated: false
     name: type
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -46,6 +49,7 @@ columns:
     dataType: 1
     generated: false
     name: specific_name
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -54,6 +58,7 @@ columns:
     dataType: 12
     generated: false
     name: language
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -62,6 +67,7 @@ columns:
     dataType: 12
     generated: false
     name: sql_data_access
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -70,6 +76,7 @@ columns:
     dataType: 12
     generated: false
     name: is_deterministic
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -78,6 +85,7 @@ columns:
     dataType: 12
     generated: false
     name: security_type
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -86,6 +94,7 @@ columns:
     dataType: -4
     generated: false
     name: param_list
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -94,6 +103,7 @@ columns:
     dataType: -4
     generated: false
     name: returns
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -102,6 +112,7 @@ columns:
     dataType: -4
     generated: false
     name: body
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -110,6 +121,7 @@ columns:
     dataType: 1
     generated: false
     name: definer
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -118,6 +130,7 @@ columns:
     dataType: 93
     generated: false
     name: created
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -126,6 +139,7 @@ columns:
     dataType: 93
     generated: false
     name: modified
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -134,6 +148,7 @@ columns:
     dataType: 12
     generated: false
     name: sql_mode
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -142,6 +157,7 @@ columns:
     dataType: -1
     generated: false
     name: comment
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -150,6 +166,7 @@ columns:
     dataType: 1
     generated: false
     name: character_set_client
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -158,6 +175,7 @@ columns:
     dataType: 1
     generated: false
     name: collation_connection
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -166,6 +184,7 @@ columns:
     dataType: 1
     generated: false
     name: db_collation
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -174,9 +193,11 @@ columns:
     dataType: -4
     generated: false
     name: body_utf8
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/procs_priv.yaml
 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/procs_priv.yaml
index cac6467845b..2f55a98e5d3 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/procs_priv.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/procs_priv.yaml
@@ -22,6 +22,7 @@ columns:
     dataType: 1
     generated: false
     name: Host
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -30,6 +31,7 @@ columns:
     dataType: 1
     generated: false
     name: Db
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -38,6 +40,7 @@ columns:
     dataType: 1
     generated: false
     name: User
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -46,6 +49,7 @@ columns:
     dataType: 1
     generated: false
     name: Routine_name
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -54,6 +58,7 @@ columns:
     dataType: 12
     generated: false
     name: Routine_type
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -62,6 +67,7 @@ columns:
     dataType: 1
     generated: false
     name: Grantor
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -70,6 +76,7 @@ columns:
     dataType: 12
     generated: false
     name: Proc_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -78,11 +85,14 @@ columns:
     dataType: 93
     generated: false
     name: Timestamp
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
   grantor:
     name: Grantor
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/proxies_priv.yaml
 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/proxies_priv.yaml
index f6b3f6e4e62..fffa9691ee8 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/proxies_priv.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/proxies_priv.yaml
@@ -22,6 +22,7 @@ columns:
     dataType: 1
     generated: false
     name: Host
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -30,6 +31,7 @@ columns:
     dataType: 1
     generated: false
     name: User
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -38,6 +40,7 @@ columns:
     dataType: 1
     generated: false
     name: Proxied_host
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -46,6 +49,7 @@ columns:
     dataType: 1
     generated: false
     name: Proxied_user
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -54,6 +58,7 @@ columns:
     dataType: -6
     generated: false
     name: With_grant
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -62,6 +67,7 @@ columns:
     dataType: 1
     generated: false
     name: Grantor
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -70,11 +76,14 @@ columns:
     dataType: 93
     generated: false
     name: Timestamp
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
   grantor:
     name: Grantor
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/proxies_priv.yaml
 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/replication_asynchronous_connection_failover.yaml
similarity index 79%
copy from 
infra/database/type/mysql/src/main/resources/schema/mysql/mysql/proxies_priv.yaml
copy to 
infra/database/type/mysql/src/main/resources/schema/mysql/mysql/replication_asynchronous_connection_failover.yaml
index f6b3f6e4e62..9b4659b5914 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/proxies_priv.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/replication_asynchronous_connection_failover.yaml
@@ -15,66 +15,63 @@
 # limitations under the License.
 #
 
-name: proxies_priv
+name: replication_asynchronous_connection_failover
 columns:
-  host:
+  channel_name:
     caseSensitive: true
     dataType: 1
     generated: false
-    name: Host
+    name: Channel_name
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
-  user:
+  host:
     caseSensitive: true
     dataType: 1
     generated: false
-    name: User
+    name: Host
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
-  proxied_host:
+  port:
     caseSensitive: true
-    dataType: 1
+    dataType: 4
     generated: false
-    name: Proxied_host
+    name: Port
+    nullable: false
     primaryKey: true
-    unsigned: false
+    unsigned: true
     visible: true
-  proxied_user:
+  network_namespace:
     caseSensitive: true
     dataType: 1
     generated: false
-    name: Proxied_user
+    name: Network_namespace
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
-  with_grant:
-    caseSensitive: false
-    dataType: -6
-    generated: false
-    name: With_grant
-    primaryKey: false
-    unsigned: false
-    visible: true
-  grantor:
+  weight:
     caseSensitive: true
-    dataType: 1
+    dataType: -6
     generated: false
-    name: Grantor
+    name: Weight
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
-  timestamp:
+  managed_name:
     caseSensitive: false
-    dataType: 93
+    dataType: 1
     generated: false
-    name: Timestamp
+    name: Managed_name
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
-  grantor:
-    name: Grantor
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/func.yaml 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/replication_asynchronous_connection_failover_managed.yaml
similarity index 74%
copy from 
infra/database/type/mysql/src/main/resources/schema/mysql/mysql/func.yaml
copy to 
infra/database/type/mysql/src/main/resources/schema/mysql/mysql/replication_asynchronous_connection_failover_managed.yaml
index 7d04947f3a7..7f57cbd2cc0 100644
--- a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/func.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/replication_asynchronous_connection_failover_managed.yaml
@@ -15,40 +15,45 @@
 # limitations under the License.
 #
 
-name: func
+name: replication_asynchronous_connection_failover_managed
 columns:
-  name:
+  channel_name:
     caseSensitive: true
     dataType: 1
     generated: false
-    name: name
+    name: Channel_name
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
-  ret:
-    caseSensitive: false
-    dataType: -6
+  managed_name:
+    caseSensitive: true
+    dataType: 1
     generated: false
-    name: ret
-    primaryKey: false
+    name: Managed_name
+    nullable: false
+    primaryKey: true
     unsigned: false
     visible: true
-  dl:
+  managed_type:
     caseSensitive: true
     dataType: 1
     generated: false
-    name: dl
+    name: Managed_type
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
-  type:
-    caseSensitive: false
-    dataType: 12
+  configuration:
+    caseSensitive: true
+    dataType: 1
     generated: false
-    name: type
+    name: Configuration
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/help_keyword.yaml
 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/replication_group_configuration_version.yaml
similarity index 85%
copy from 
infra/database/type/mysql/src/main/resources/schema/mysql/mysql/help_keyword.yaml
copy to 
infra/database/type/mysql/src/main/resources/schema/mysql/mysql/replication_group_configuration_version.yaml
index 9d1c37baf99..e221b3f9927 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/help_keyword.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/replication_group_configuration_version.yaml
@@ -15,26 +15,27 @@
 # limitations under the License.
 #
 
-name: help_keyword
+name: replication_group_configuration_version
 columns:
-  help_keyword_id:
-    caseSensitive: false
-    dataType: 4
-    generated: false
-    name: help_keyword_id
-    primaryKey: true
-    unsigned: true
-    visible: true
   name:
-    caseSensitive: false
+    caseSensitive: true
     dataType: 1
     generated: false
     name: name
-    primaryKey: false
+    nullable: false
+    primaryKey: true
     unsigned: false
     visible: true
+  version:
+    caseSensitive: true
+    dataType: 4
+    generated: false
+    name: version
+    nullable: false
+    primaryKey: false
+    unsigned: true
+    visible: true
 indexes:
   primary:
     name: PRIMARY
-  name:
-    name: name
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/proxies_priv.yaml
 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/replication_group_member_actions.yaml
similarity index 78%
copy from 
infra/database/type/mysql/src/main/resources/schema/mysql/mysql/proxies_priv.yaml
copy to 
infra/database/type/mysql/src/main/resources/schema/mysql/mysql/replication_group_member_actions.yaml
index f6b3f6e4e62..c91f47b424a 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/proxies_priv.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/replication_group_member_actions.yaml
@@ -15,66 +15,63 @@
 # limitations under the License.
 #
 
-name: proxies_priv
+name: replication_group_member_actions
 columns:
-  host:
+  name:
     caseSensitive: true
     dataType: 1
     generated: false
-    name: Host
+    name: name
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
-  user:
+  event:
     caseSensitive: true
     dataType: 1
     generated: false
-    name: User
+    name: event
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
-  proxied_host:
+  enabled:
     caseSensitive: true
-    dataType: 1
+    dataType: -6
     generated: false
-    name: Proxied_host
-    primaryKey: true
+    name: enabled
+    nullable: false
+    primaryKey: false
     unsigned: false
     visible: true
-  proxied_user:
+  type:
     caseSensitive: true
     dataType: 1
     generated: false
-    name: Proxied_user
-    primaryKey: true
-    unsigned: false
-    visible: true
-  with_grant:
-    caseSensitive: false
-    dataType: -6
-    generated: false
-    name: With_grant
+    name: type
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
-  grantor:
+  priority:
     caseSensitive: true
-    dataType: 1
+    dataType: -6
     generated: false
-    name: Grantor
+    name: priority
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
-  timestamp:
+  error_handling:
     caseSensitive: false
-    dataType: 93
+    dataType: 1
     generated: false
-    name: Timestamp
+    name: error_handling
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
-  grantor:
-    name: Grantor
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/role_edges.yaml
 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/role_edges.yaml
index 1809857d523..dc6ab83eaa7 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/role_edges.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/role_edges.yaml
@@ -22,36 +22,47 @@ columns:
     dataType: 1
     generated: false
     name: FROM_HOST
+    nullable: false
     primaryKey: true
+    unsigned: false
     visible: true
   from_user:
     caseSensitive: false
     dataType: 1
     generated: false
     name: FROM_USER
+    nullable: false
     primaryKey: true
+    unsigned: false
     visible: true
   to_host:
     caseSensitive: false
     dataType: 1
     generated: false
     name: TO_HOST
+    nullable: false
     primaryKey: true
+    unsigned: false
     visible: true
   to_user:
     caseSensitive: false
     dataType: 1
     generated: false
     name: TO_USER
+    nullable: false
     primaryKey: true
+    unsigned: false
     visible: true
   with_admin_option:
     caseSensitive: false
     dataType: 12
     generated: false
     name: WITH_ADMIN_OPTION
+    nullable: false
     primaryKey: false
+    unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/server_cost.yaml
 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/server_cost.yaml
index aa80b4155d7..5e1781be3c9 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/server_cost.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/server_cost.yaml
@@ -22,6 +22,7 @@ columns:
     dataType: 12
     generated: false
     name: cost_name
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -30,6 +31,7 @@ columns:
     dataType: 7
     generated: false
     name: cost_value
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -38,6 +40,7 @@ columns:
     dataType: 93
     generated: false
     name: last_update
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -46,9 +49,11 @@ columns:
     dataType: 12
     generated: false
     name: comment
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/servers.yaml 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/servers.yaml
index ca9e5de9a71..5a6e3983c8f 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/servers.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/servers.yaml
@@ -22,6 +22,7 @@ columns:
     dataType: 1
     generated: false
     name: Server_name
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -30,6 +31,7 @@ columns:
     dataType: 1
     generated: false
     name: Host
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -38,6 +40,7 @@ columns:
     dataType: 1
     generated: false
     name: Db
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -46,6 +49,7 @@ columns:
     dataType: 1
     generated: false
     name: Username
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -54,6 +58,7 @@ columns:
     dataType: 1
     generated: false
     name: Password
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -62,6 +67,7 @@ columns:
     dataType: 4
     generated: false
     name: Port
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -70,6 +76,7 @@ columns:
     dataType: 1
     generated: false
     name: Socket
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -78,6 +85,7 @@ columns:
     dataType: 1
     generated: false
     name: Wrapper
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -86,9 +94,11 @@ columns:
     dataType: 1
     generated: false
     name: Owner
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/slave_master_info.yaml
 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/slave_master_info.yaml
index ad767fe152e..b64e5c8b661 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/slave_master_info.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/slave_master_info.yaml
@@ -22,6 +22,7 @@ columns:
     dataType: 4
     generated: false
     name: Number_of_lines
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -30,6 +31,7 @@ columns:
     dataType: -1
     generated: false
     name: Master_log_name
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -38,6 +40,7 @@ columns:
     dataType: 4
     generated: false
     name: Master_log_pos
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -46,6 +49,7 @@ columns:
     dataType: 1
     generated: false
     name: Host
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -54,6 +58,7 @@ columns:
     dataType: -1
     generated: false
     name: User_name
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -62,6 +67,7 @@ columns:
     dataType: -1
     generated: false
     name: User_password
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -70,6 +76,7 @@ columns:
     dataType: 4
     generated: false
     name: Port
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -78,6 +85,7 @@ columns:
     dataType: 4
     generated: false
     name: Connect_retry
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -86,6 +94,7 @@ columns:
     dataType: -6
     generated: false
     name: Enabled_ssl
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -94,6 +103,7 @@ columns:
     dataType: -1
     generated: false
     name: Ssl_ca
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -102,6 +112,7 @@ columns:
     dataType: -1
     generated: false
     name: Ssl_capath
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -110,6 +121,7 @@ columns:
     dataType: -1
     generated: false
     name: Ssl_cert
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -118,6 +130,7 @@ columns:
     dataType: -1
     generated: false
     name: Ssl_cipher
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -126,6 +139,7 @@ columns:
     dataType: -1
     generated: false
     name: Ssl_key
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -134,6 +148,7 @@ columns:
     dataType: -6
     generated: false
     name: Ssl_verify_server_cert
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -142,6 +157,7 @@ columns:
     dataType: 7
     generated: false
     name: Heartbeat
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -150,6 +166,7 @@ columns:
     dataType: -1
     generated: false
     name: Bind
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -158,6 +175,7 @@ columns:
     dataType: -1
     generated: false
     name: Ignored_server_ids
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -166,6 +184,7 @@ columns:
     dataType: -1
     generated: false
     name: Uuid
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -174,6 +193,7 @@ columns:
     dataType: 4
     generated: false
     name: Retry_count
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -182,6 +202,7 @@ columns:
     dataType: -1
     generated: false
     name: Ssl_crl
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -190,6 +211,7 @@ columns:
     dataType: -1
     generated: false
     name: Ssl_crlpath
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -198,6 +220,7 @@ columns:
     dataType: -6
     generated: false
     name: Enabled_auto_position
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -206,6 +229,7 @@ columns:
     dataType: 1
     generated: false
     name: Channel_name
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -214,9 +238,11 @@ columns:
     dataType: -1
     generated: false
     name: Tls_version
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/slave_relay_log_info.yaml
 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/slave_relay_log_info.yaml
index a99071fc375..af2c9350c33 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/slave_relay_log_info.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/slave_relay_log_info.yaml
@@ -22,6 +22,7 @@ columns:
     dataType: 4
     generated: false
     name: Number_of_lines
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -30,6 +31,7 @@ columns:
     dataType: -1
     generated: false
     name: Relay_log_name
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -38,6 +40,7 @@ columns:
     dataType: 4
     generated: false
     name: Relay_log_pos
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -46,6 +49,7 @@ columns:
     dataType: -1
     generated: false
     name: Master_log_name
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -54,6 +58,7 @@ columns:
     dataType: 4
     generated: false
     name: Master_log_pos
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -62,6 +67,7 @@ columns:
     dataType: 4
     generated: false
     name: Sql_delay
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -70,6 +76,7 @@ columns:
     dataType: 4
     generated: false
     name: Number_of_workers
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -78,6 +85,7 @@ columns:
     dataType: 4
     generated: false
     name: Id
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -86,9 +94,11 @@ columns:
     dataType: 1
     generated: false
     name: Channel_name
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/slave_worker_info.yaml
 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/slave_worker_info.yaml
index ec7e358de0b..515e1b57d4d 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/slave_worker_info.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/slave_worker_info.yaml
@@ -22,6 +22,7 @@ columns:
     dataType: 4
     generated: false
     name: Id
+    nullable: false
     primaryKey: true
     unsigned: true
     visible: true
@@ -30,6 +31,7 @@ columns:
     dataType: -1
     generated: false
     name: Relay_log_name
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -38,6 +40,7 @@ columns:
     dataType: 4
     generated: false
     name: Relay_log_pos
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -46,6 +49,7 @@ columns:
     dataType: -1
     generated: false
     name: Master_log_name
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -54,6 +58,7 @@ columns:
     dataType: 4
     generated: false
     name: Master_log_pos
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -62,6 +67,7 @@ columns:
     dataType: -1
     generated: false
     name: Checkpoint_relay_log_name
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -70,6 +76,7 @@ columns:
     dataType: 4
     generated: false
     name: Checkpoint_relay_log_pos
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -78,6 +85,7 @@ columns:
     dataType: -1
     generated: false
     name: Checkpoint_master_log_name
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -86,6 +94,7 @@ columns:
     dataType: 4
     generated: false
     name: Checkpoint_master_log_pos
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -94,6 +103,7 @@ columns:
     dataType: 4
     generated: false
     name: Checkpoint_seqno
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -102,6 +112,7 @@ columns:
     dataType: 4
     generated: false
     name: Checkpoint_group_size
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -110,6 +121,7 @@ columns:
     dataType: -4
     generated: false
     name: Checkpoint_group_bitmap
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -118,9 +130,11 @@ columns:
     dataType: 1
     generated: false
     name: Channel_name
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/slow_log.yaml 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/slow_log.yaml
index 05faeb89942..14c3a2de75e 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/slow_log.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/slow_log.yaml
@@ -22,6 +22,7 @@ columns:
     dataType: 93
     generated: false
     name: start_time
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -30,6 +31,7 @@ columns:
     dataType: -1
     generated: false
     name: user_host
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -38,6 +40,7 @@ columns:
     dataType: 92
     generated: false
     name: query_time
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -46,6 +49,7 @@ columns:
     dataType: 92
     generated: false
     name: lock_time
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -54,6 +58,7 @@ columns:
     dataType: 4
     generated: false
     name: rows_sent
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -62,6 +67,7 @@ columns:
     dataType: 4
     generated: false
     name: rows_examined
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -70,6 +76,7 @@ columns:
     dataType: 12
     generated: false
     name: db
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -78,6 +85,7 @@ columns:
     dataType: 4
     generated: false
     name: last_insert_id
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -86,6 +94,7 @@ columns:
     dataType: 4
     generated: false
     name: insert_id
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -94,6 +103,7 @@ columns:
     dataType: 4
     generated: false
     name: server_id
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -102,6 +112,7 @@ columns:
     dataType: -4
     generated: false
     name: sql_text
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -110,6 +121,7 @@ columns:
     dataType: 4
     generated: false
     name: thread_id
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/tables_priv.yaml
 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/tables_priv.yaml
index 3b3a2d42e88..6b55a2b9d05 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/tables_priv.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/tables_priv.yaml
@@ -22,6 +22,7 @@ columns:
     dataType: 1
     generated: false
     name: Host
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -30,6 +31,7 @@ columns:
     dataType: 1
     generated: false
     name: Db
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -38,6 +40,7 @@ columns:
     dataType: 1
     generated: false
     name: User
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -46,6 +49,7 @@ columns:
     dataType: 1
     generated: false
     name: Table_name
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -54,6 +58,7 @@ columns:
     dataType: 1
     generated: false
     name: Grantor
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -62,6 +67,7 @@ columns:
     dataType: 93
     generated: false
     name: Timestamp
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -70,6 +76,7 @@ columns:
     dataType: 12
     generated: false
     name: Table_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -78,11 +85,14 @@ columns:
     dataType: 12
     generated: false
     name: Column_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
   grantor:
     name: Grantor
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/time_zone.yaml
 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/time_zone.yaml
index 323c1127fca..aa9ee34ac03 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/time_zone.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/time_zone.yaml
@@ -22,6 +22,7 @@ columns:
     dataType: 4
     generated: true
     name: Time_zone_id
+    nullable: false
     primaryKey: true
     unsigned: true
     visible: true
@@ -30,9 +31,11 @@ columns:
     dataType: 12
     generated: false
     name: Use_leap_seconds
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/time_zone_leap_second.yaml
 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/time_zone_leap_second.yaml
index 5cfddde1b65..4a316dfd320 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/time_zone_leap_second.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/time_zone_leap_second.yaml
@@ -22,6 +22,7 @@ columns:
     dataType: 4
     generated: false
     name: Transition_time
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -30,9 +31,11 @@ columns:
     dataType: 4
     generated: false
     name: Correction
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/time_zone_name.yaml
 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/time_zone_name.yaml
index eaa28d83f9b..b3993167dd0 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/time_zone_name.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/time_zone_name.yaml
@@ -22,6 +22,7 @@ columns:
     dataType: 1
     generated: false
     name: Name
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -30,9 +31,11 @@ columns:
     dataType: 4
     generated: false
     name: Time_zone_id
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/time_zone_transition.yaml
 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/time_zone_transition.yaml
index 27178830f42..242bea7266c 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/time_zone_transition.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/time_zone_transition.yaml
@@ -22,6 +22,7 @@ columns:
     dataType: 4
     generated: false
     name: Time_zone_id
+    nullable: false
     primaryKey: true
     unsigned: true
     visible: true
@@ -30,6 +31,7 @@ columns:
     dataType: 4
     generated: false
     name: Transition_time
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -38,9 +40,11 @@ columns:
     dataType: 4
     generated: false
     name: Transition_type_id
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/time_zone_transition_type.yaml
 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/time_zone_transition_type.yaml
index 5c3d6d92bf5..74dbf1e65a6 100644
--- 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/time_zone_transition_type.yaml
+++ 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/time_zone_transition_type.yaml
@@ -22,6 +22,7 @@ columns:
     dataType: 4
     generated: false
     name: Time_zone_id
+    nullable: false
     primaryKey: true
     unsigned: true
     visible: true
@@ -30,6 +31,7 @@ columns:
     dataType: 4
     generated: false
     name: Transition_type_id
+    nullable: false
     primaryKey: true
     unsigned: true
     visible: true
@@ -38,6 +40,7 @@ columns:
     dataType: 4
     generated: false
     name: Offset
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -46,6 +49,7 @@ columns:
     dataType: -6
     generated: false
     name: Is_DST
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -54,9 +58,11 @@ columns:
     dataType: 1
     generated: false
     name: Abbreviation
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
diff --git 
a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/user.yaml 
b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/user.yaml
index 8793e945ec1..63440aa4c59 100644
--- a/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/user.yaml
+++ b/infra/database/type/mysql/src/main/resources/schema/mysql/mysql/user.yaml
@@ -22,6 +22,7 @@ columns:
     dataType: 1
     generated: false
     name: Host
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -30,6 +31,7 @@ columns:
     dataType: 1
     generated: false
     name: User
+    nullable: false
     primaryKey: true
     unsigned: false
     visible: true
@@ -38,6 +40,7 @@ columns:
     dataType: 12
     generated: false
     name: Select_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -46,6 +49,7 @@ columns:
     dataType: 12
     generated: false
     name: Insert_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -54,6 +58,7 @@ columns:
     dataType: 12
     generated: false
     name: Update_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -62,6 +67,7 @@ columns:
     dataType: 12
     generated: false
     name: Delete_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -70,6 +76,7 @@ columns:
     dataType: 12
     generated: false
     name: Create_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -78,6 +85,7 @@ columns:
     dataType: 12
     generated: false
     name: Drop_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -86,6 +94,7 @@ columns:
     dataType: 12
     generated: false
     name: Reload_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -94,6 +103,7 @@ columns:
     dataType: 12
     generated: false
     name: Shutdown_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -102,6 +112,7 @@ columns:
     dataType: 12
     generated: false
     name: Process_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -110,6 +121,7 @@ columns:
     dataType: 12
     generated: false
     name: File_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -118,6 +130,7 @@ columns:
     dataType: 12
     generated: false
     name: Grant_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -126,6 +139,7 @@ columns:
     dataType: 12
     generated: false
     name: References_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -134,6 +148,7 @@ columns:
     dataType: 12
     generated: false
     name: Index_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -142,6 +157,7 @@ columns:
     dataType: 12
     generated: false
     name: Alter_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -150,6 +166,7 @@ columns:
     dataType: 12
     generated: false
     name: Show_db_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -158,6 +175,7 @@ columns:
     dataType: 12
     generated: false
     name: Super_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -166,6 +184,7 @@ columns:
     dataType: 12
     generated: false
     name: Create_tmp_table_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -174,6 +193,7 @@ columns:
     dataType: 12
     generated: false
     name: Lock_tables_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -182,6 +202,7 @@ columns:
     dataType: 12
     generated: false
     name: Execute_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -190,6 +211,7 @@ columns:
     dataType: 12
     generated: false
     name: Repl_slave_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -198,6 +220,7 @@ columns:
     dataType: 12
     generated: false
     name: Repl_client_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -206,6 +229,7 @@ columns:
     dataType: 12
     generated: false
     name: Create_view_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -214,6 +238,7 @@ columns:
     dataType: 12
     generated: false
     name: Show_view_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -222,6 +247,7 @@ columns:
     dataType: 12
     generated: false
     name: Create_routine_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -230,6 +256,7 @@ columns:
     dataType: 12
     generated: false
     name: Alter_routine_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -238,6 +265,7 @@ columns:
     dataType: 12
     generated: false
     name: Create_user_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -246,6 +274,7 @@ columns:
     dataType: 12
     generated: false
     name: Event_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -254,6 +283,7 @@ columns:
     dataType: 12
     generated: false
     name: Trigger_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -262,6 +292,7 @@ columns:
     dataType: 12
     generated: false
     name: Create_tablespace_priv
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -270,6 +301,7 @@ columns:
     dataType: 12
     generated: false
     name: ssl_type
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -278,6 +310,7 @@ columns:
     dataType: -4
     generated: false
     name: ssl_cipher
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -286,6 +319,7 @@ columns:
     dataType: -4
     generated: false
     name: x509_issuer
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -294,6 +328,7 @@ columns:
     dataType: -4
     generated: false
     name: x509_subject
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -302,6 +337,7 @@ columns:
     dataType: 4
     generated: false
     name: max_questions
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -310,6 +346,7 @@ columns:
     dataType: 4
     generated: false
     name: max_updates
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -318,6 +355,7 @@ columns:
     dataType: 4
     generated: false
     name: max_connections
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -326,6 +364,7 @@ columns:
     dataType: 4
     generated: false
     name: max_user_connections
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -334,6 +373,7 @@ columns:
     dataType: 1
     generated: false
     name: plugin
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -342,6 +382,7 @@ columns:
     dataType: -1
     generated: false
     name: authentication_string
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -350,6 +391,7 @@ columns:
     dataType: 12
     generated: false
     name: password_expired
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -358,6 +400,7 @@ columns:
     dataType: 93
     generated: false
     name: password_last_changed
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
@@ -366,6 +409,7 @@ columns:
     dataType: 5
     generated: false
     name: password_lifetime
+    nullable: false
     primaryKey: false
     unsigned: true
     visible: true
@@ -374,9 +418,65 @@ columns:
     dataType: 12
     generated: false
     name: account_locked
+    nullable: false
+    primaryKey: false
+    unsigned: false
+    visible: true
+  create_role_priv:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: Create_role_priv
+    nullable: false
+    primaryKey: false
+    unsigned: false
+    visible: true
+  drop_role_priv:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: Drop_role_priv
+    nullable: false
+    primaryKey: false
+    unsigned: false
+    visible: true
+  password_reuse_history:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: Password_reuse_history
+    nullable: false
+    primaryKey: false
+    unsigned: false
+    visible: true
+  password_reuse_time:
+    caseSensitive: false
+    dataType: 5
+    generated: false
+    name: Password_reuse_time
+    nullable: false
+    primaryKey: false
+    unsigned: false
+    visible: true
+  password_require_current:
+    caseSensitive: false
+    dataType: 12
+    generated: false
+    name: Password_require_current
+    nullable: false
+    primaryKey: false
+    unsigned: false
+    visible: true
+  user_attributes:
+    caseSensitive: false
+    dataType: -1
+    generated: false
+    name: User_attributes
+    nullable: false
     primaryKey: false
     unsigned: false
     visible: true
 indexes:
   primary:
     name: PRIMARY
+    unique: false
diff --git 
a/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_component.xml
 
b/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_component.xml
new file mode 100644
index 00000000000..535a2a5053f
--- /dev/null
+++ 
b/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_component.xml
@@ -0,0 +1,24 @@
+<!--
+  ~ 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.
+  -->
+
+<dataset>
+    <metadata>
+        <column name="component_id" />
+        <column name="component_group_id" />
+        <column name="component_urn" />
+    </metadata>
+</dataset>
diff --git 
a/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_default_roles.xml
 
b/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_default_roles.xml
new file mode 100644
index 00000000000..4de89ba8651
--- /dev/null
+++ 
b/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_default_roles.xml
@@ -0,0 +1,25 @@
+<!--
+  ~ 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.
+  -->
+
+<dataset>
+    <metadata>
+        <column name="host" />
+        <column name="user" />
+        <column name="default_role_host" />
+        <column name="default_role_user" />
+    </metadata>
+</dataset>
diff --git 
a/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_global_grants.xml
 
b/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_global_grants.xml
new file mode 100644
index 00000000000..6ba20cdbbf3
--- /dev/null
+++ 
b/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_global_grants.xml
@@ -0,0 +1,25 @@
+<!--
+  ~ 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.
+  -->
+
+<dataset>
+    <metadata>
+        <column name="user" />
+        <column name="host" />
+        <column name="priv" />
+        <column name="with_grant_option" />
+    </metadata>
+</dataset>
diff --git 
a/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_password_history.xml
 
b/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_password_history.xml
new file mode 100644
index 00000000000..edc578ef5bd
--- /dev/null
+++ 
b/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_password_history.xml
@@ -0,0 +1,25 @@
+<!--
+  ~ 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.
+  -->
+
+<dataset>
+    <metadata>
+        <column name="host" />
+        <column name="user" />
+        <column name="password_timestamp" />
+        <column name="password" />
+    </metadata>
+</dataset>
diff --git 
a/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_replication_asynchronous_connection_failover.xml
 
b/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_replication_asynchronous_connection_failover.xml
new file mode 100644
index 00000000000..187be7656b2
--- /dev/null
+++ 
b/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_replication_asynchronous_connection_failover.xml
@@ -0,0 +1,27 @@
+<!--
+  ~ 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.
+  -->
+
+<dataset>
+    <metadata>
+        <column name="channel_name" />
+        <column name="host" />
+        <column name="port" />
+        <column name="network_namespace" />
+        <column name="weight" />
+        <column name="managed_name" />
+    </metadata>
+</dataset>
diff --git 
a/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_replication_asynchronous_connection_failover_managed.xml
 
b/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_replication_asynchronous_connection_failover_managed.xml
new file mode 100644
index 00000000000..3284bfcc457
--- /dev/null
+++ 
b/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_replication_asynchronous_connection_failover_managed.xml
@@ -0,0 +1,25 @@
+<!--
+  ~ 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.
+  -->
+
+<dataset>
+    <metadata>
+        <column name="channel_name" />
+        <column name="managed_name" />
+        <column name="managed_type" />
+        <column name="configuration" />
+    </metadata>
+</dataset>
diff --git 
a/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_replication_group_configuration_version.xml
 
b/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_replication_group_configuration_version.xml
new file mode 100644
index 00000000000..171d68ab57d
--- /dev/null
+++ 
b/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_replication_group_configuration_version.xml
@@ -0,0 +1,23 @@
+<!--
+  ~ 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.
+  -->
+
+<dataset>
+    <metadata>
+        <column name="name" />
+        <column name="version" />
+    </metadata>
+</dataset>
diff --git 
a/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_replication_group_member_actions.xml
 
b/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_replication_group_member_actions.xml
new file mode 100644
index 00000000000..ffb71fb6acb
--- /dev/null
+++ 
b/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_replication_group_member_actions.xml
@@ -0,0 +1,27 @@
+<!--
+  ~ 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.
+  -->
+
+<dataset>
+    <metadata>
+        <column name="name" />
+        <column name="event" />
+        <column name="enabled" />
+        <column name="type" />
+        <column name="priority" />
+        <column name="error_handling" />
+    </metadata>
+</dataset>
diff --git 
a/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_role_edges.xml
 
b/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_role_edges.xml
new file mode 100644
index 00000000000..90952695570
--- /dev/null
+++ 
b/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_role_edges.xml
@@ -0,0 +1,26 @@
+<!--
+  ~ 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.
+  -->
+
+<dataset>
+    <metadata>
+        <column name="from_host" />
+        <column name="from_user" />
+        <column name="to_host" />
+        <column name="to_user" />
+        <column name="with_admin_option" />
+    </metadata>
+</dataset>
diff --git 
a/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_user.xml
 
b/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_user.xml
index 9082748d348..4a2781e2e49 100644
--- 
a/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_user.xml
+++ 
b/test/e2e/sql/src/test/resources/cases/dql/dataset/empty_storage_units/mysql/select_mysql_mysql_user.xml
@@ -62,5 +62,11 @@
         <column name="password_last_changed" />
         <column name="password_lifetime" />
         <column name="account_locked" />
+        <column name="create_role_priv" />
+        <column name="drop_role_priv" />
+        <column name="password_reuse_history" />
+        <column name="password_reuse_time" />
+        <column name="password_require_current" />
+        <column name="user_attributes" />
     </metadata>
 </dataset>
diff --git 
a/test/e2e/sql/src/test/resources/cases/dql/dql-integration-simple-select-mysql-mysql.xml
 
b/test/e2e/sql/src/test/resources/cases/dql/dql-integration-simple-select-mysql-mysql.xml
index d3af8f4f81c..8a3572d6d27 100644
--- 
a/test/e2e/sql/src/test/resources/cases/dql/dql-integration-simple-select-mysql-mysql.xml
+++ 
b/test/e2e/sql/src/test/resources/cases/dql/dql-integration-simple-select-mysql-mysql.xml
@@ -20,10 +20,18 @@
     <test-case sql="SELECT * FROM mysql.columns_priv" db-types="MySQL" 
scenario-types="empty_storage_units">
         <assertion expected-data-file="select_mysql_mysql_columns_priv.xml" />
     </test-case>
+
+    <test-case sql="SELECT * FROM mysql.component" db-types="MySQL" 
scenario-types="empty_storage_units">
+        <assertion expected-data-file="select_mysql_mysql_component.xml" />
+    </test-case>
     
     <test-case sql="SELECT * FROM mysql.db" db-types="MySQL" 
scenario-types="empty_storage_units">
         <assertion expected-data-file="select_mysql_mysql_db.xml" />
     </test-case>
+
+    <test-case sql="SELECT * FROM mysql.default_roles" db-types="MySQL" 
scenario-types="empty_storage_units">
+        <assertion expected-data-file="select_mysql_mysql_default_roles.xml" />
+    </test-case>
     
     <test-case sql="SELECT * FROM mysql.engine_cost" db-types="MySQL" 
scenario-types="empty_storage_units">
         <assertion expected-data-file="select_mysql_mysql_engine_cost.xml" />
@@ -40,6 +48,10 @@
     <test-case sql="SELECT * FROM mysql.general_log" db-types="MySQL" 
scenario-types="empty_storage_units">
         <assertion expected-data-file="select_mysql_mysql_general_log.xml" />
     </test-case>
+
+    <test-case sql="SELECT * FROM mysql.global_grants" db-types="MySQL" 
scenario-types="empty_storage_units">
+        <assertion expected-data-file="select_mysql_mysql_global_grants.xml" />
+    </test-case>
     
     <test-case sql="SELECT * FROM mysql.gtid_executed" db-types="MySQL" 
scenario-types="empty_storage_units">
         <assertion expected-data-file="select_mysql_mysql_gtid_executed.xml" />
@@ -72,6 +84,10 @@
     <test-case sql="SELECT * FROM mysql.ndb_binlog_index" db-types="MySQL" 
scenario-types="empty_storage_units">
         <assertion 
expected-data-file="select_mysql_mysql_ndb_binlog_index.xml" />
     </test-case>
+
+    <test-case sql="SELECT * FROM mysql.password_history" db-types="MySQL" 
scenario-types="empty_storage_units">
+        <assertion 
expected-data-file="select_mysql_mysql_password_history.xml" />
+    </test-case>
     
     <test-case sql="SELECT * FROM mysql.plugin" db-types="MySQL" 
scenario-types="empty_storage_units">
         <assertion expected-data-file="select_mysql_mysql_plugin.xml" />
@@ -88,6 +104,26 @@
     <test-case sql="SELECT * FROM mysql.proxies_priv" db-types="MySQL" 
scenario-types="empty_storage_units">
         <assertion expected-data-file="select_mysql_mysql_proxies_priv.xml" />
     </test-case>
+
+    <test-case sql="SELECT * FROM 
mysql.replication_asynchronous_connection_failover" db-types="MySQL" 
scenario-types="empty_storage_units">
+        <assertion 
expected-data-file="select_mysql_mysql_replication_asynchronous_connection_failover.xml"
 />
+    </test-case>
+
+    <test-case sql="SELECT * FROM 
mysql.replication_asynchronous_connection_failover_managed" db-types="MySQL" 
scenario-types="empty_storage_units">
+        <assertion 
expected-data-file="select_mysql_mysql_replication_asynchronous_connection_failover_managed.xml"
 />
+    </test-case>
+
+    <test-case sql="SELECT * FROM 
mysql.replication_group_configuration_version" db-types="MySQL" 
scenario-types="empty_storage_units">
+        <assertion 
expected-data-file="select_mysql_mysql_replication_group_configuration_version.xml"
 />
+    </test-case>
+
+    <test-case sql="SELECT * FROM mysql.replication_group_member_actions" 
db-types="MySQL" scenario-types="empty_storage_units">
+        <assertion 
expected-data-file="select_mysql_mysql_replication_group_member_actions.xml" />
+    </test-case>
+
+    <test-case sql="SELECT * FROM mysql.role_edges" db-types="MySQL" 
scenario-types="empty_storage_units">
+        <assertion expected-data-file="select_mysql_mysql_role_edges.xml" />
+    </test-case>
     
     <test-case sql="SELECT * FROM mysql.server_cost" db-types="MySQL" 
scenario-types="empty_storage_units">
         <assertion expected-data-file="select_mysql_mysql_server_cost.xml" />

Reply via email to