From 21a9c9ecb17ca117db64c4787df6c9934a3c86d6 Mon Sep 17 00:00:00 2001 From: linghengqian Date: Fri, 10 Jan 2025 23:06:50 +0800 Subject: [PATCH] Add GraalVM Reachability Metadata and corresponding nativeTest for Firebird --- RELEASE-NOTES.md | 1 + .../reflect-config.json | 82 ++- .../resource-config.json | 619 +++++++++--------- .../reflect-config.json | 10 + .../resource-config.json | 3 + .../jaybird/5.0.6.java8/reflect-config.json | 108 +++ .../jaybird/5.0.6.java8/resource-config.json | 50 ++ ...ataATShardingSphereTransactionManager.java | 2 +- test/native/pom.xml | 17 + .../natived/commons/TestShardingService.java | 11 + .../commons/proxy/ProxyTestingServer.java | 10 +- .../commons/repository/AddressRepository.java | 32 + .../repository/OrderItemRepository.java | 38 ++ .../commons/repository/OrderRepository.java | 38 ++ .../natived/jdbc/databases/FirebirdTest.java | 152 +++++ .../proxy/transactions/base/SeataTest.java | 16 + .../reflect-config.json | 8 + .../yaml/jdbc/databases/firebird.yaml | 69 ++ 18 files changed, 932 insertions(+), 334 deletions(-) create mode 100644 infra/reachability-metadata/src/main/resources/META-INF/native-image/org.firebirdsql.jdbc/jaybird/5.0.6.java8/reflect-config.json create mode 100644 infra/reachability-metadata/src/main/resources/META-INF/native-image/org.firebirdsql.jdbc/jaybird/5.0.6.java8/resource-config.json create mode 100644 test/native/src/test/java/org/apache/shardingsphere/test/natived/jdbc/databases/FirebirdTest.java create mode 100644 test/native/src/test/resources/test-native/yaml/jdbc/databases/firebird.yaml diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index a1b7e232cfe00..c1653f05946ac 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -73,6 +73,7 @@ 1. Mode: Support modifying Hikari-CP configurations via props in standalone mode [#34185](https://github.com/apache/shardingsphere/pull/34185) 1. Encrypt: Support insert statement rewrite use quote [#34259](https://github.com/apache/shardingsphere/pull/34259) 1. Infra: Support connecting to Firebird via jdbcUrl containing the absolute path to fdb - [#34335](https://github.com/apache/shardingsphere/pull/34335) +1. Proxy Native: Add GraalVM Reachability Metadata and corresponding nativeTest for Firebird - [#34307](https://github.com/apache/shardingsphere/pull/34307) ### Bug Fixes diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/reflect-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/reflect-config.json index 756544e01c04c..5317fad8b8628 100644 --- a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/reflect-config.json +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/reflect-config.json @@ -3,6 +3,10 @@ "condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource"}, "name":"JdkLogger" }, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.infra.executor.kernel.ExecutorEngine"}, + "name":"JdkLogger" +}, { "condition":{"typeReachable":"org.apache.shardingsphere.mode.repository.standalone.jdbc.sql.JDBCRepositorySQLLoader"}, "name":"[Lcom.fasterxml.jackson.databind.deser.BeanDeserializerModifier;" @@ -24,7 +28,7 @@ "name":"[Lcom.github.dockerjava.api.model.VolumesFrom;" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.connection.DriverDatabaseConnectionManager$$Lambda/0x00007f8e2be1b4b0"}, + "condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.connection.DriverDatabaseConnectionManager$$Lambda/0x00007f258bdf9c28"}, "name":"[Lcom.zaxxer.hikari.util.ConcurrentBag$IConcurrentBagEntry;" }, { @@ -72,7 +76,7 @@ "name":"[Lcom.zaxxer.hikari.util.ConcurrentBag$IConcurrentBagEntry;" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.manager.SchemaMetaDataManager"}, + "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.MetaDataContexts"}, "name":"[Lcom.zaxxer.hikari.util.ConcurrentBag$IConcurrentBagEntry;" }, { @@ -1709,10 +1713,6 @@ "condition":{"typeReachable":"org.apache.shardingsphere.mode.persist.service.unified.ComputeNodePersistService"}, "name":"org.apache.shardingsphere.infra.instance.yaml.YamlComputeNodeDataCustomizer" }, -{ - "condition":{"typeReachable":"org.apache.shardingsphere.proxy.initializer.BootstrapInitializer"}, - "name":"org.apache.shardingsphere.infra.metadata.statistics.builder.dialect.MySQLStatisticsAppender" -}, { "condition":{"typeReachable":"org.apache.shardingsphere.proxy.initializer.BootstrapInitializer"}, "name":"org.apache.shardingsphere.infra.metadata.statistics.builder.dialect.PostgreSQLStatisticsAppender" @@ -1816,15 +1816,15 @@ "methods":[{"name":"","parameterTypes":[] }, {"name":"getRows","parameterTypes":[] }, {"name":"getUniqueKey","parameterTypes":[] }, {"name":"setRows","parameterTypes":["java.util.List"] }, {"name":"setUniqueKey","parameterTypes":["java.lang.String"] }] }, { - "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.schema.builder.SystemSchemaBuilder"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "name":"org.apache.shardingsphere.infra.yaml.schema.pojo.YamlShardingSphereColumn", - "allDeclaredFields":true, - "methods":[{"name":"","parameterTypes":[] }, {"name":"setCaseSensitive","parameterTypes":["boolean"] }, {"name":"setDataType","parameterTypes":["int"] }, {"name":"setGenerated","parameterTypes":["boolean"] }, {"name":"setName","parameterTypes":["java.lang.String"] }, {"name":"setPrimaryKey","parameterTypes":["boolean"] }, {"name":"setUnsigned","parameterTypes":["boolean"] }, {"name":"setVisible","parameterTypes":["boolean"] }] + "methods":[{"name":"setNullable","parameterTypes":["boolean"] }] }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.schema.builder.SystemSchemaBuilder"}, "name":"org.apache.shardingsphere.infra.yaml.schema.pojo.YamlShardingSphereColumn", - "methods":[{"name":"setNullable","parameterTypes":["boolean"] }] + "allDeclaredFields":true, + "methods":[{"name":"","parameterTypes":[] }, {"name":"setCaseSensitive","parameterTypes":["boolean"] }, {"name":"setDataType","parameterTypes":["int"] }, {"name":"setGenerated","parameterTypes":["boolean"] }, {"name":"setName","parameterTypes":["java.lang.String"] }, {"name":"setPrimaryKey","parameterTypes":["boolean"] }, {"name":"setUnsigned","parameterTypes":["boolean"] }, {"name":"setVisible","parameterTypes":["boolean"] }] }, { "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.persist.service.metadata.table.TableMetaDataPersistService"}, @@ -1846,15 +1846,15 @@ "name":"org.apache.shardingsphere.infra.yaml.schema.pojo.YamlShardingSphereColumnCustomizer" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.schema.builder.SystemSchemaBuilder"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "name":"org.apache.shardingsphere.infra.yaml.schema.pojo.YamlShardingSphereIndex", - "allDeclaredFields":true, - "methods":[{"name":"","parameterTypes":[] }, {"name":"setName","parameterTypes":["java.lang.String"] }] + "methods":[{"name":"setColumns","parameterTypes":["java.util.Collection"] }, {"name":"setUnique","parameterTypes":["boolean"] }] }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.schema.builder.SystemSchemaBuilder"}, "name":"org.apache.shardingsphere.infra.yaml.schema.pojo.YamlShardingSphereIndex", - "methods":[{"name":"setColumns","parameterTypes":["java.util.Collection"] }, {"name":"setUnique","parameterTypes":["boolean"] }] + "allDeclaredFields":true, + "methods":[{"name":"","parameterTypes":[] }, {"name":"setName","parameterTypes":["java.lang.String"] }] }, { "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.persist.service.metadata.table.TableMetaDataPersistService"}, @@ -1876,15 +1876,15 @@ "name":"org.apache.shardingsphere.infra.yaml.schema.pojo.YamlShardingSphereIndexCustomizer" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.schema.builder.SystemSchemaBuilder"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "name":"org.apache.shardingsphere.infra.yaml.schema.pojo.YamlShardingSphereTable", - "allDeclaredFields":true, - "methods":[{"name":"","parameterTypes":[] }, {"name":"setColumns","parameterTypes":["java.util.Map"] }, {"name":"setIndexes","parameterTypes":["java.util.Map"] }, {"name":"setName","parameterTypes":["java.lang.String"] }] + "methods":[{"name":"setType","parameterTypes":["org.apache.shardingsphere.infra.database.core.metadata.database.enums.TableType"] }] }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.schema.builder.SystemSchemaBuilder"}, "name":"org.apache.shardingsphere.infra.yaml.schema.pojo.YamlShardingSphereTable", - "methods":[{"name":"setType","parameterTypes":["org.apache.shardingsphere.infra.database.core.metadata.database.enums.TableType"] }] + "allDeclaredFields":true, + "methods":[{"name":"","parameterTypes":[] }, {"name":"setColumns","parameterTypes":["java.util.Map"] }, {"name":"setIndexes","parameterTypes":["java.util.Map"] }, {"name":"setName","parameterTypes":["java.lang.String"] }] }, { "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.persist.service.metadata.table.TableMetaDataPersistService"}, @@ -3256,11 +3256,31 @@ "condition":{"typeReachable":"org.apache.shardingsphere.sql.parser.core.database.cache.ParseTreeCacheBuilder"}, "name":"org.apache.shardingsphere.sql.parser.core.database.cache.ParseTreeCacheLoader" }, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.statement.ShardingSphereStatement"}, + "name":"org.apache.shardingsphere.sql.parser.firebird.parser.FirebirdLexer", + "methods":[{"name":"","parameterTypes":["org.antlr.v4.runtime.CharStream"] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.statement.ShardingSphereStatement"}, + "name":"org.apache.shardingsphere.sql.parser.firebird.parser.FirebirdParser", + "methods":[{"name":"","parameterTypes":["org.antlr.v4.runtime.TokenStream"] }] +}, { "condition":{"typeReachable":"org.apache.shardingsphere.sql.parser.core.database.visitor.SQLStatementVisitorFactory"}, "name":"org.apache.shardingsphere.sql.parser.firebird.visitor.statement.FirebirdStatementVisitorFacade", "methods":[{"name":"","parameterTypes":[] }] }, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.statement.ShardingSphereStatement"}, + "name":"org.apache.shardingsphere.sql.parser.firebird.visitor.statement.type.FirebirdDDLStatementVisitor", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.statement.ShardingSphereStatement"}, + "name":"org.apache.shardingsphere.sql.parser.firebird.visitor.statement.type.FirebirdDMLStatementVisitor", + "methods":[{"name":"","parameterTypes":[] }] +}, { "condition":{"typeReachable":"org.apache.shardingsphere.sql.parser.core.database.visitor.SQLStatementVisitorFactory"}, "name":"org.apache.shardingsphere.sql.parser.hive.visitor.statement.HiveStatementVisitorFacade", @@ -3421,6 +3441,26 @@ "name":"org.apache.shardingsphere.sql.parser.statement.clickhouse.dml.ClickHouseSelectStatement", "methods":[{"name":"","parameterTypes":[] }] }, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.statement.ShardingSphereStatement"}, + "name":"org.apache.shardingsphere.sql.parser.statement.firebird.ddl.FirebirdCreateTableStatement", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.statement.ShardingSpherePreparedStatement"}, + "name":"org.apache.shardingsphere.sql.parser.statement.firebird.dml.FirebirdInsertStatement", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.statement.ShardingSpherePreparedStatement"}, + "name":"org.apache.shardingsphere.sql.parser.statement.firebird.dml.FirebirdSelectStatement", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.statement.ShardingSphereStatement"}, + "name":"org.apache.shardingsphere.sql.parser.statement.firebird.dml.FirebirdSelectStatement", + "methods":[{"name":"","parameterTypes":[] }] +}, { "condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.statement.ShardingSpherePreparedStatement"}, "name":"org.apache.shardingsphere.sql.parser.statement.hive.dml.HiveInsertStatement", diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/resource-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/resource-config.json index 345cb3cf3f96f..fa4caa3ae7a7a 100644 --- a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/resource-config.json +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/resource-config.json @@ -91,7 +91,7 @@ "condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.connection.DriverDatabaseConnectionManager"}, "pattern":"\\QMETA-INF/services/com.clickhouse.client.ClickHouseClient\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.connection.DriverDatabaseConnectionManager$$Lambda/0x00007f8e2bcc2910"}, + "condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.connection.DriverDatabaseConnectionManager$$Lambda/0x00007f258bca2b10"}, "pattern":"\\QMETA-INF/services/com.clickhouse.client.ClickHouseClient\\E" }, { "condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource"}, @@ -290,7 +290,7 @@ "pattern":"\\QMETA-INF/services/org.apache.shardingsphere.infra.metadata.database.schema.reviser.MetaDataReviseEntry\\E" }, { "condition":{"typeReachable":"org.apache.shardingsphere.proxy.initializer.BootstrapInitializer"}, - "pattern":"\\QMETA-INF/services/org.apache.shardingsphere.infra.metadata.statistics.builder.ShardingSphereStatisticsBuilder\\E" + "pattern":"\\QMETA-INF/services/org.apache.shardingsphere.infra.metadata.statistics.builder.DialectStatisticsAppender\\E" }, { "condition":{"typeReachable":"org.apache.shardingsphere.infra.rewrite.SQLRewriteEntry"}, "pattern":"\\QMETA-INF/services/org.apache.shardingsphere.infra.rewrite.context.SQLRewriteContextDecorator\\E" @@ -336,6 +336,9 @@ }, { "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.postgresql.command.query.extended.Portal"}, "pattern":"\\QMETA-INF/services/org.apache.shardingsphere.mode.metadata.refresher.MetaDataRefresher\\E" + }, { + "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.postgresql.command.query.extended.Portal"}, + "pattern":"\\QMETA-INF/services/org.apache.shardingsphere.mode.node.spi.RuleNodePathProvider\\E" }, { "condition":{"typeReachable":"org.apache.shardingsphere.mode.persist.coordinator.PersistCoordinatorFacade"}, "pattern":"\\QMETA-INF/services/org.apache.shardingsphere.mode.persist.coordinator.PersistCoordinatorFacadeBuilder\\E" @@ -350,10 +353,7 @@ "pattern":"\\QMETA-INF/services/org.apache.shardingsphere.mode.repository.standalone.StandalonePersistRepository\\E" }, { "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.postgresql.command.query.extended.Portal"}, - "pattern":"\\QMETA-INF/services/org.apache.shardingsphere.mode.spi.RuleItemConfigurationChangedProcessor\\E" - }, { - "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.postgresql.command.query.extended.Portal"}, - "pattern":"\\QMETA-INF/services/org.apache.shardingsphere.mode.spi.RuleNodePathProvider\\E" + "pattern":"\\QMETA-INF/services/org.apache.shardingsphere.mode.spi.rule.RuleItemConfigurationChangedProcessor\\E" }, { "condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.postgresql.command.query.extended.Portal"}, "pattern":"\\QMETA-INF/services/org.apache.shardingsphere.proxy.backend.connector.AdvancedProxySQLExecutor\\E" @@ -481,910 +481,910 @@ "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.schema.manager.SystemSchemaManager"}, "pattern":"\\Qschema/common/shardingsphere/sharding_table_statistics.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/administrable_role_authorizations.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/applicable_roles.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/character_sets.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/check_constraints.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/collation_character_set_applicability.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/collations.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/column_privileges.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/column_statistics.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/columns.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/columns_extensions.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/enabled_roles.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/engines.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/events.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/files.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/global_status.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/global_variables.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_buffer_page.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_buffer_page_lru.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_buffer_pool_stats.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_cached_indexes.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_cmp.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_cmp_per_index.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_cmp_per_index_reset.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_cmp_reset.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_cmpmem.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_cmpmem_reset.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_columns.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_datafiles.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_fields.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_foreign.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_foreign_cols.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_ft_being_deleted.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_ft_config.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_ft_default_stopword.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_ft_deleted.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_ft_index_cache.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_ft_index_table.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_indexes.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_lock_waits.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_locks.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_metrics.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_session_temp_tablespaces.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_sys_columns.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_sys_datafiles.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_sys_fields.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_sys_foreign.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_sys_foreign_cols.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_sys_indexes.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_sys_tables.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_sys_tablespaces.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_sys_tablestats.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_sys_virtual.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_tables.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_tablespaces.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_tablespaces_brief.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_tablestats.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_temp_table_info.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_trx.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/innodb_virtual.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/key_column_usage.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/keywords.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/optimizer_trace.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/parameters.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/partitions.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/plugins.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/processlist.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/profiling.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/referential_constraints.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/resource_groups.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/role_column_grants.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/role_routine_grants.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/role_table_grants.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/routines.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/schema_privileges.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/schemata.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/schemata_extensions.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/session_status.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/session_variables.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/st_geometry_columns.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/st_spatial_reference_systems.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/st_units_of_measure.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/statistics.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/table_constraints.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/table_constraints_extensions.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/table_privileges.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/tables.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/tables_extensions.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/tablespaces.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/tablespaces_extensions.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/triggers.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/user_attributes.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/user_privileges.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/view_routine_usage.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/view_table_usage.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/information_schema/views.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/columns_priv.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/component.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/db.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/default_roles.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/engine_cost.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/event.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/func.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/general_log.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/global_grants.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/gtid_executed.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/help_category.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/help_keyword.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/help_relation.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/help_topic.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/innodb_index_stats.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/innodb_table_stats.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/ndb_binlog_index.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/password_history.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/plugin.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/proc.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/procs_priv.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/proxies_priv.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/replication_asynchronous_connection_failover.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/replication_asynchronous_connection_failover_managed.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/replication_group_configuration_version.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/replication_group_member_actions.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/role_edges.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/server_cost.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/servers.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/slave_master_info.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/slave_relay_log_info.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/slave_worker_info.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/slow_log.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/tables_priv.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/time_zone.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/time_zone_leap_second.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/time_zone_name.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/time_zone_transition.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/time_zone_transition_type.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/mysql/user.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/accounts.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/binary_log_transaction_compression_stats.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/cond_instances.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/data_lock_waits.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/data_locks.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/error_log.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_errors_summary_by_account_by_error.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_errors_summary_by_host_by_error.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_errors_summary_by_thread_by_error.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_errors_summary_by_user_by_error.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_errors_summary_global_by_error.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_stages_current.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_stages_history.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_stages_history_long.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_stages_summary_by_account_by_event_name.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_stages_summary_by_host_by_event_name.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_stages_summary_by_thread_by_event_name.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_stages_summary_by_user_by_event_name.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_stages_summary_global_by_event_name.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_statements_current.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_statements_histogram_by_digest.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_statements_histogram_global.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_statements_history.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_statements_history_long.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_statements_summary_by_account_by_event_name.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_statements_summary_by_digest.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_statements_summary_by_host_by_event_name.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_statements_summary_by_program.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_statements_summary_by_thread_by_event_name.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_statements_summary_by_user_by_event_name.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_statements_summary_global_by_event_name.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_transactions_current.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_transactions_history.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_transactions_history_long.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_transactions_summary_by_account_by_event_name.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_transactions_summary_by_host_by_event_name.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_transactions_summary_by_thread_by_event_name.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_transactions_summary_by_user_by_event_name.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_transactions_summary_global_by_event_name.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_waits_current.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_waits_history.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_waits_history_long.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_waits_summary_by_account_by_event_name.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_waits_summary_by_host_by_event_name.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_waits_summary_by_instance.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_waits_summary_by_thread_by_event_name.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_waits_summary_by_user_by_event_name.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/events_waits_summary_global_by_event_name.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/file_instances.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/file_summary_by_event_name.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/file_summary_by_instance.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/global_status.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/global_variables.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/host_cache.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/hosts.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/innodb_redo_log_files.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/keyring_component_status.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/keyring_keys.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/log_status.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/memory_summary_by_account_by_event_name.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/memory_summary_by_host_by_event_name.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/memory_summary_by_thread_by_event_name.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/memory_summary_by_user_by_event_name.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/memory_summary_global_by_event_name.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/metadata_locks.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/mutex_instances.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/objects_summary_global_by_type.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/performance_timers.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/persisted_variables.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/prepared_statements_instances.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/processlist.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/replication_applier_configuration.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/replication_applier_filters.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/replication_applier_global_filters.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/replication_applier_status.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/replication_applier_status_by_coordinator.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/replication_applier_status_by_worker.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/replication_asynchronous_connection_failover.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/replication_asynchronous_connection_failover_managed.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/replication_connection_configuration.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/replication_connection_status.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/replication_group_member_stats.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/replication_group_members.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/rwlock_instances.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/session_account_connect_attrs.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/session_connect_attrs.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/session_status.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/session_variables.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/setup_actors.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/setup_consumers.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/setup_instruments.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/setup_meters.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/setup_metrics.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/setup_objects.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/setup_threads.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/setup_timers.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/socket_instances.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/socket_summary_by_event_name.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/socket_summary_by_instance.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/status_by_account.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/status_by_host.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/status_by_thread.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/status_by_user.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/table_handles.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/table_io_waits_summary_by_index_usage.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/table_io_waits_summary_by_table.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/table_lock_waits_summary_by_table.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/threads.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/tls_channel_status.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/user_defined_functions.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/user_variables_by_thread.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/users.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/variables_by_thread.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/performance_schema/variables_info.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/host_summary.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/host_summary_by_file_io.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/host_summary_by_file_io_type.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/host_summary_by_stages.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/host_summary_by_statement_latency.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/host_summary_by_statement_type.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/innodb_buffer_stats_by_schema.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/innodb_buffer_stats_by_table.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/innodb_lock_waits.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/io_by_thread_by_latency.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/io_global_by_file_by_bytes.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/io_global_by_file_by_latency.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/io_global_by_wait_by_bytes.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/io_global_by_wait_by_latency.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/latest_file_io.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/memory_by_host_by_current_bytes.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/memory_by_thread_by_current_bytes.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/memory_by_user_by_current_bytes.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/memory_global_by_current_bytes.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/memory_global_total.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/metrics.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/processlist.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/ps_check_lost_instrumentation.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/schema_auto_increment_columns.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/schema_index_statistics.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/schema_object_overview.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/schema_redundant_indexes.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/schema_table_lock_waits.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/schema_table_statistics.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/schema_table_statistics_with_buffer.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/schema_tables_with_full_table_scans.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/schema_unused_indexes.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/session.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/session_ssl_status.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/statement_analysis.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/statements_with_errors_or_warnings.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/statements_with_full_table_scans.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/statements_with_runtimes_in_95th_percentile.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/statements_with_sorting.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/statements_with_temp_tables.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/sys_config.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/user_summary.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/user_summary_by_file_io.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/user_summary_by_file_io_type.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/user_summary_by_stages.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/user_summary_by_statement_latency.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/user_summary_by_statement_type.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/version.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/wait_classes_global_by_avg_latency.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/wait_classes_global_by_latency.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/waits_by_host_by_latency.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/waits_by_user_by_latency.yaml\\E" }, { - "condition":{"typeReachable":"org.apache.shardingsphere.mode.metadata.factory.ExternalMetaDataFactory"}, + "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory"}, "pattern":"\\Qschema/mysql/sys/waits_global_by_latency.yaml\\E" }, { "condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.schema.manager.SystemSchemaManager"}, @@ -2031,6 +2031,9 @@ }, { "condition":{"typeReachable":"org.apache.shardingsphere.infra.url.classpath.ClassPathURLLoader"}, "pattern":"\\Qtest-native/yaml/jdbc/databases/clickhouse.yaml\\E" + }, { + "condition":{"typeReachable":"org.apache.shardingsphere.infra.url.classpath.ClassPathURLLoader"}, + "pattern":"\\Qtest-native/yaml/jdbc/databases/firebird.yaml\\E" }, { "condition":{"typeReachable":"org.apache.shardingsphere.infra.url.classpath.ClassPathURLLoader"}, "pattern":"\\Qtest-native/yaml/jdbc/databases/hive/acid.yaml\\E" diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/shardingsphere-infra-reachability-metadata/reflect-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/shardingsphere-infra-reachability-metadata/reflect-config.json index 615143caf0d07..7cdc40c4f3c6f 100644 --- a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/shardingsphere-infra-reachability-metadata/reflect-config.json +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/shardingsphere-infra-reachability-metadata/reflect-config.json @@ -357,6 +357,16 @@ "name":"org.apache.shardingsphere.sql.parser.statement.sqlserver.ddl.SQLServerDropTableStatement", "methods":[{"name":"","parameterTypes":[] }] }, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.sql.parser.statement.firebird.dml.FirebirdDeleteStatement"}, + "name":"org.apache.shardingsphere.sql.parser.statement.firebird.dml.FirebirdDeleteStatement", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.sql.parser.statement.firebird.ddl.FirebirdDropTableStatement"}, + "name":"org.apache.shardingsphere.sql.parser.statement.firebird.ddl.FirebirdDropTableStatement", + "methods":[{"name":"","parameterTypes":[] }] +}, { "condition":{"typeReachable":"javax.security.auth.login.Configuration"}, "name":"sun.security.provider.ConfigFile", diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/shardingsphere-infra-reachability-metadata/resource-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/shardingsphere-infra-reachability-metadata/resource-config.json index 4b68f0d1a8746..936c53b8f1ab3 100644 --- a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/shardingsphere-infra-reachability-metadata/resource-config.json +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/shardingsphere-infra-reachability-metadata/resource-config.json @@ -14,6 +14,9 @@ "pattern":"\\QMETA-INF/services/javax.xml.parsers.SAXParserFactory\\E" }]}, "bundles":[{ + "name":"com.sun.org.apache.xml.internal.serializer.XMLEntities", + "locales":["en"] + }, { "name":"com.microsoft.sqlserver.jdbc.SQLServerResource", "locales":["en"] }, { diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.firebirdsql.jdbc/jaybird/5.0.6.java8/reflect-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.firebirdsql.jdbc/jaybird/5.0.6.java8/reflect-config.json new file mode 100644 index 0000000000000..b5aa76a4056f9 --- /dev/null +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.firebirdsql.jdbc/jaybird/5.0.6.java8/reflect-config.json @@ -0,0 +1,108 @@ +[ +{ + "condition":{"typeReachable":"org.firebirdsql.encodings.EncodingFactory"}, + "name":"org.firebirdsql.encodings.DefaultEncodingSet" +}, +{ + "condition":{"typeReachable":"org.firebirdsql.gds.impl.GDSFactory"}, + "name":"org.firebirdsql.gds.impl.jni.EmbeddedGDSFactoryPlugin" +}, +{ + "condition":{"typeReachable":"org.firebirdsql.gds.impl.GDSFactory"}, + "name":"org.firebirdsql.gds.impl.jni.NativeGDSFactoryPlugin" +}, +{ + "condition":{"typeReachable":"org.firebirdsql.gds.impl.GDSFactory"}, + "name":"org.firebirdsql.gds.impl.oo.OOGDSFactoryPlugin" +}, +{ + "condition":{"typeReachable":"org.firebirdsql.gds.impl.GDSFactory"}, + "name":"org.firebirdsql.gds.impl.wire.WireGDSFactoryPlugin" +}, +{ + "condition":{"typeReachable":"org.firebirdsql.gds.ng.wire.auth.ClientAuthBlock"}, + "name":"org.firebirdsql.gds.ng.wire.auth.legacy.LegacyAuthenticationPluginSpi" +}, +{ + "condition":{"typeReachable":"org.firebirdsql.gds.ng.wire.auth.ClientAuthBlock"}, + "name":"org.firebirdsql.gds.ng.wire.auth.srp.Srp224AuthenticationPluginSpi" +}, +{ + "condition":{"typeReachable":"org.firebirdsql.gds.ng.wire.auth.ClientAuthBlock"}, + "name":"org.firebirdsql.gds.ng.wire.auth.srp.Srp256AuthenticationPluginSpi" +}, +{ + "condition":{"typeReachable":"org.firebirdsql.gds.ng.wire.auth.ClientAuthBlock"}, + "name":"org.firebirdsql.gds.ng.wire.auth.srp.Srp384AuthenticationPluginSpi" +}, +{ + "condition":{"typeReachable":"org.firebirdsql.gds.ng.wire.auth.ClientAuthBlock"}, + "name":"org.firebirdsql.gds.ng.wire.auth.srp.Srp512AuthenticationPluginSpi" +}, +{ + "condition":{"typeReachable":"org.firebirdsql.gds.ng.wire.auth.ClientAuthBlock"}, + "name":"org.firebirdsql.gds.ng.wire.auth.srp.SrpAuthenticationPluginSpi" +}, +{ + "condition":{"typeReachable":"org.firebirdsql.gds.ng.wire.version13.V13WireOperations"}, + "name":"org.firebirdsql.gds.ng.wire.crypt.arc4.Arc4EncryptionPluginSpi", + "methods":[{"name":"","parameterTypes":[] }] +}, +{ + "condition":{"typeReachable":"org.firebirdsql.gds.ng.wire.version13.V13WireOperations"}, + "name":"org.firebirdsql.gds.ng.wire.crypt.chacha.ChaChaEncryptionPluginSpi" +}, +{ + "condition":{"typeReachable":"org.firebirdsql.gds.ng.wire.ProtocolCollection"}, + "name":"org.firebirdsql.gds.ng.wire.version10.Version10Descriptor" +}, +{ + "condition":{"typeReachable":"org.firebirdsql.gds.ng.wire.ProtocolCollection"}, + "name":"org.firebirdsql.gds.ng.wire.version11.Version11Descriptor" +}, +{ + "condition":{"typeReachable":"org.firebirdsql.gds.ng.wire.ProtocolCollection"}, + "name":"org.firebirdsql.gds.ng.wire.version12.Version12Descriptor" +}, +{ + "condition":{"typeReachable":"org.firebirdsql.gds.ng.wire.ProtocolCollection"}, + "name":"org.firebirdsql.gds.ng.wire.version13.Version13Descriptor" +}, +{ + "condition":{"typeReachable":"org.firebirdsql.gds.ng.wire.ProtocolCollection"}, + "name":"org.firebirdsql.gds.ng.wire.version15.Version15Descriptor" +}, +{ + "condition":{"typeReachable":"org.firebirdsql.gds.ng.wire.ProtocolCollection"}, + "name":"org.firebirdsql.gds.ng.wire.version16.Version16Descriptor" +}, +{ + "condition":{"typeReachable":"org.firebirdsql.gds.ng.wire.ProtocolCollection"}, + "name":"org.firebirdsql.gds.ng.wire.version18.Version18Descriptor" +}, +{ + "condition":{"typeReachable":"org.firebirdsql.jaybird.props.internal.UnregisteredDpbDefiner"}, + "name":"org.firebirdsql.jaybird.fb.constants.DpbItems", + "allPublicFields":true +}, +{ + "condition":{"typeReachable":"org.firebirdsql.jaybird.props.internal.UnregisteredDpbDefiner"}, + "name":"org.firebirdsql.jaybird.fb.constants.SpbItems", + "allPublicFields":true +}, +{ + "condition":{"typeReachable":"org.firebirdsql.jaybird.xca.FBManagedConnection"}, + "name":"org.firebirdsql.jaybird.xca.FBManagedConnection", + "fields":[{"name":"connectionHandle"}, {"name":"unnotifiedWarnings"}] +}, +{ + "condition":{"typeReachable":"org.firebirdsql.jaybird.xca.FBManagedConnectionFactory"}, + "name":"org.firebirdsql.jdbc.FBConnection", + "methods":[{"name":"","parameterTypes":["org.firebirdsql.jaybird.xca.FBManagedConnection"] }] +}, +{ + "condition":{"typeReachable":"org.firebirdsql.jdbc.FBConnection"}, + "name":"org.firebirdsql.jdbc.FBConnection", + "fields":[{"name":"savepointCounter"}] +} +] diff --git a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.firebirdsql.jdbc/jaybird/5.0.6.java8/resource-config.json b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.firebirdsql.jdbc/jaybird/5.0.6.java8/resource-config.json new file mode 100644 index 0000000000000..3ab2a84b73ee6 --- /dev/null +++ b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.firebirdsql.jdbc/jaybird/5.0.6.java8/resource-config.json @@ -0,0 +1,50 @@ +{ + "resources":{ + "includes":[{ + "condition":{"typeReachable":"org.firebirdsql.encodings.EncodingFactory"}, + "pattern":"\\QMETA-INF/services/org.firebirdsql.encodings.EncodingSet\\E" + }, { + "condition":{"typeReachable":"org.firebirdsql.gds.impl.GDSFactory"}, + "pattern":"\\QMETA-INF/services/org.firebirdsql.gds.impl.GDSFactoryPlugin\\E" + }, { + "condition":{"typeReachable":"org.firebirdsql.gds.ng.wire.ProtocolCollection"}, + "pattern":"\\QMETA-INF/services/org.firebirdsql.gds.ng.wire.ProtocolDescriptor\\E" + }, { + "condition":{"typeReachable":"org.firebirdsql.gds.ng.wire.auth.ClientAuthBlock"}, + "pattern":"\\QMETA-INF/services/org.firebirdsql.gds.ng.wire.auth.AuthenticationPluginSpi\\E" + }, { + "condition":{"typeReachable":"org.firebirdsql.jaybird.props.internal.ConnectionPropertyRegistry"}, + "pattern":"\\QMETA-INF/services/org.firebirdsql.jaybird.props.spi.ConnectionPropertyDefinerSpi\\E" + }, { + "condition":{"typeReachable":"org.firebirdsql.gds.MessageLoader"}, + "pattern":"\\Qisc_error_msg.properties\\E" + }, { + "condition":{"typeReachable":"org.firebirdsql.gds.MessageLoader"}, + "pattern":"\\Qisc_error_sqlstates.properties\\E" + }, { + "condition":{"typeReachable":"org.firebirdsql.jaybird.Version"}, + "pattern":"\\Qorg/firebirdsql/jaybird/version.properties\\E" + }, { + "condition":{"typeReachable":"org.firebirdsql.jaybird.Version"}, + "pattern":"\\Qorg/firebirdsql/jaybird/version_zh.properties\\E" + }, { + "condition":{"typeReachable":"org.firebirdsql.jaybird.Version"}, + "pattern":"\\Qorg/firebirdsql/jaybird/version_zh_CN.properties\\E" + }, { + "condition":{"typeReachable":"org.firebirdsql.jaybird.Version"}, + "pattern":"\\Qorg/firebirdsql/jaybird/version_zh_Hans.properties\\E" + }, { + "condition":{"typeReachable":"org.firebirdsql.jaybird.Version"}, + "pattern":"\\Qorg/firebirdsql/jaybird/version_zh_Hans_CN.properties\\E" + }, { + "condition":{"typeReachable":"org.firebirdsql.gds.MessageLoader"}, + "pattern":"\\Qorg/firebirdsql/jaybird_error_msg.properties\\E" + }, { + "condition":{"typeReachable":"org.firebirdsql.gds.MessageLoader"}, + "pattern":"\\Qorg/firebirdsql/jaybird_error_sqlstates.properties\\E" + }]}, + "bundles":[{ + "name":"org.firebirdsql.jaybird.version", + "locales":["zh-CN", "en"] + }] +} diff --git a/kernel/transaction/type/base/seata-at/src/main/java/org/apache/shardingsphere/transaction/base/seata/at/SeataATShardingSphereTransactionManager.java b/kernel/transaction/type/base/seata-at/src/main/java/org/apache/shardingsphere/transaction/base/seata/at/SeataATShardingSphereTransactionManager.java index e2ef597aa6bc3..40b367f8d1a1b 100644 --- a/kernel/transaction/type/base/seata-at/src/main/java/org/apache/shardingsphere/transaction/base/seata/at/SeataATShardingSphereTransactionManager.java +++ b/kernel/transaction/type/base/seata-at/src/main/java/org/apache/shardingsphere/transaction/base/seata/at/SeataATShardingSphereTransactionManager.java @@ -155,8 +155,8 @@ public boolean containsProviderType(final String providerType) { public void close() { dataSourceMap.clear(); SeataTransactionHolder.clear(); - RmNettyRemotingClient.getInstance().destroy(); TmNettyRemotingClient.getInstance().destroy(); + RmNettyRemotingClient.getInstance().destroy(); ConfigurationFactory.reload(); } diff --git a/test/native/pom.xml b/test/native/pom.xml index d8f443aebd7b5..ce0f8c2566bc4 100644 --- a/test/native/pom.xml +++ b/test/native/pom.xml @@ -123,6 +123,11 @@ org.apache.commons commons-pool2 + + + org.springframework + spring-webmvc + @@ -202,6 +207,11 @@ + + org.firebirdsql.jdbc + jaybird + test + org.testcontainers junit-jupiter @@ -227,6 +237,13 @@ jetcd-test ${jetcd.version} test + + + + org.apache.commons + commons-compress + + diff --git a/test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/TestShardingService.java b/test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/TestShardingService.java index eeee3198e829c..552484ede967d 100644 --- a/test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/TestShardingService.java +++ b/test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/TestShardingService.java @@ -200,4 +200,15 @@ public void cleanEnvironment() throws SQLException { orderItemRepository.dropTableInMySQL(); addressRepository.dropTableInMySQL(); } + + /** + * Clean environment in Firebird. + * + * @throws SQLException An exception that provides information on a database access error or other errors. + */ + public void cleanEnvironmentInFirebird() throws SQLException { + orderRepository.dropTableInFirebird(); + orderItemRepository.dropTableInFirebird(); + addressRepository.dropTableInFirebird(); + } } diff --git a/test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/proxy/ProxyTestingServer.java b/test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/proxy/ProxyTestingServer.java index 00e2ea233ca0a..bda3b2e45193d 100644 --- a/test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/proxy/ProxyTestingServer.java +++ b/test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/proxy/ProxyTestingServer.java @@ -20,11 +20,12 @@ import lombok.Getter; import org.apache.curator.test.InstanceSpec; import org.apache.shardingsphere.proxy.Bootstrap; -import org.apache.shardingsphere.proxy.backend.context.ProxyContext; +import org.awaitility.Awaitility; import java.io.IOException; import java.sql.SQLException; import java.util.concurrent.CompletableFuture; +import java.util.concurrent.TimeUnit; /** * This class is designed to start ShardingSphere Proxy directly in the current process, @@ -36,7 +37,7 @@ @Getter public final class ProxyTestingServer { - private final int proxyPort = InstanceSpec.getRandomPort(); + private final int proxyPort; private final CompletableFuture completableFuture; @@ -46,6 +47,7 @@ public final class ProxyTestingServer { * @param configAbsolutePath The absolute path to the directory where {@code global.yaml} is located. */ public ProxyTestingServer(final String configAbsolutePath) { + proxyPort = InstanceSpec.getRandomPort(); completableFuture = CompletableFuture.runAsync(() -> { try { Bootstrap.main(new String[]{String.valueOf(proxyPort), configAbsolutePath, "0.0.0.0", "false"}); @@ -56,10 +58,10 @@ public ProxyTestingServer(final String configAbsolutePath) { } /** - * Force close ShardingSphere Proxy. See {@link org.apache.shardingsphere.proxy.frontend.ShardingSphereProxy#close}. + * Force close ShardingSphere Proxy. */ public void close() { - ProxyContext.getInstance().getContextManager().close(); completableFuture.cancel(false); + Awaitility.await().atMost(1L, TimeUnit.MINUTES).until(completableFuture::isDone); } } diff --git a/test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/repository/AddressRepository.java b/test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/repository/AddressRepository.java index 5833c26fee9f9..3535ee7f65083 100644 --- a/test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/repository/AddressRepository.java +++ b/test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/repository/AddressRepository.java @@ -70,6 +70,22 @@ public void createTableInSQLServer() throws SQLException { } } + /** + * create table t_address in Firebird. + * Cannot use `create table if not exists` for Docker Image `ghcr.io/fdcastel/firebird:5.0.1`, + * see FirebirdSQL/firebird#8062. + * + * @throws SQLException SQL exception + */ + public void createTableInFirebird() throws SQLException { + String sql = "CREATE TABLE t_address (address_id BIGINT NOT NULL PRIMARY KEY, address_name VARCHAR(100) NOT NULL)"; + try ( + Connection connection = dataSource.getConnection(); + Statement statement = connection.createStatement()) { + statement.executeUpdate(sql); + } + } + /** * drop table t_address in MySQL. * @@ -84,6 +100,22 @@ public void dropTableInMySQL() throws SQLException { } } + /** + * drop table in Firebird. + * Docker Image `ghcr.io/fdcastel/firebird:5.0.1` does not work with `DROP TABLE IF EXISTS`. + * See FirebirdSQL/firebird#4203 . + * + * @throws SQLException SQL exception + */ + public void dropTableInFirebird() throws SQLException { + String sql = "DROP TABLE t_address"; + try ( + Connection connection = dataSource.getConnection(); + Statement statement = connection.createStatement()) { + statement.executeUpdate(sql); + } + } + /** * truncate table t_address. * diff --git a/test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/repository/OrderItemRepository.java b/test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/repository/OrderItemRepository.java index cba1d4a25b230..038f283250fb8 100644 --- a/test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/repository/OrderItemRepository.java +++ b/test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/repository/OrderItemRepository.java @@ -102,6 +102,28 @@ public void createTableInSQLServer() throws SQLException { } } + /** + * create table in Firebird. + * Cannot use `create table if not exists` for Docker Image `ghcr.io/fdcastel/firebird:5.0.1`, + * see FirebirdSQL/firebird#8062. + * + * @throws SQLException SQL exception + */ + public void createTableInFirebird() throws SQLException { + String sql = "CREATE TABLE t_order_item \n" + + "(order_item_id BIGINT generated by default as identity PRIMARY KEY,\n" + + "order_id BIGINT NOT NULL,\n" + + "user_id INT NOT NULL,\n" + + "phone VARCHAR(50),\n" + + "status VARCHAR(50)\n" + + ")"; + try ( + Connection connection = dataSource.getConnection(); + Statement statement = connection.createStatement()) { + statement.executeUpdate(sql); + } + } + /** * drop table in MySQL. * @@ -116,6 +138,22 @@ public void dropTableInMySQL() throws SQLException { } } + /** + * drop table in Firebird. + * Docker Image `ghcr.io/fdcastel/firebird:5.0.1` does not work with `DROP TABLE IF EXISTS`. + * See FirebirdSQL/firebird#4203 . + * + * @throws SQLException SQL exception + */ + public void dropTableInFirebird() throws SQLException { + String sql = "DROP TABLE t_order_item"; + try ( + Connection connection = dataSource.getConnection(); + Statement statement = connection.createStatement()) { + statement.executeUpdate(sql); + } + } + /** * truncate table. * diff --git a/test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/repository/OrderRepository.java b/test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/repository/OrderRepository.java index 44e0f377a48ca..8472f5673a32b 100644 --- a/test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/repository/OrderRepository.java +++ b/test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/repository/OrderRepository.java @@ -99,6 +99,28 @@ public void createTableInSQLServer() throws SQLException { } } + /** + * create table in Firebird. + * Cannot use `create table if not exists` for Docker Image `ghcr.io/fdcastel/firebird:5.0.1`, + * see FirebirdSQL/firebird#8062. + * + * @throws SQLException SQL exception + */ + public void createTableInFirebird() throws SQLException { + String sql = "CREATE TABLE t_order\n" + + "(order_id BIGINT generated by default as identity PRIMARY KEY,\n" + + "order_type INT,\n" + + "user_id INT NOT NULL,\n" + + "address_id BIGINT NOT NULL,\n" + + "status VARCHAR(50)\n" + + ")"; + try ( + Connection connection = dataSource.getConnection(); + Statement statement = connection.createStatement()) { + statement.executeUpdate(sql); + } + } + /** * drop table in MySQL. * TODO There is a bug in this function in shadow's unit test and requires additional fixes. @@ -114,6 +136,22 @@ public void dropTableInMySQL() throws SQLException { } } + /** + * drop table in Firebird. + * Docker Image `ghcr.io/fdcastel/firebird:5.0.1` does not work with `DROP TABLE IF EXISTS`. + * See FirebirdSQL/firebird#4203 . + * + * @throws SQLException SQL exception + */ + public void dropTableInFirebird() throws SQLException { + String sql = "DROP TABLE t_order"; + try ( + Connection connection = dataSource.getConnection(); + Statement statement = connection.createStatement()) { + statement.executeUpdate(sql); + } + } + /** * truncate table. * diff --git a/test/native/src/test/java/org/apache/shardingsphere/test/natived/jdbc/databases/FirebirdTest.java b/test/native/src/test/java/org/apache/shardingsphere/test/natived/jdbc/databases/FirebirdTest.java new file mode 100644 index 0000000000000..a11af06729590 --- /dev/null +++ b/test/native/src/test/java/org/apache/shardingsphere/test/natived/jdbc/databases/FirebirdTest.java @@ -0,0 +1,152 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.shardingsphere.test.natived.jdbc.databases; + +import com.zaxxer.hikari.HikariConfig; +import com.zaxxer.hikari.HikariDataSource; +import org.apache.shardingsphere.driver.jdbc.core.connection.ShardingSphereConnection; +import org.apache.shardingsphere.test.natived.commons.TestShardingService; +import org.awaitility.Awaitility; +import org.firebirdsql.management.FBManager; +import org.firebirdsql.management.PageSizeConstants; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.condition.EnabledInNativeImage; +import org.testcontainers.containers.GenericContainer; +import org.testcontainers.junit.jupiter.Container; +import org.testcontainers.junit.jupiter.Testcontainers; + +import javax.sql.DataSource; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; +import java.time.Duration; +import java.util.Properties; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.nullValue; + +@EnabledInNativeImage +@Testcontainers +class FirebirdTest { + + private static final String SYSTEM_PROP_KEY_PREFIX = "fixture.test-native.yaml.database.firebird."; + + private static final String PASSWORD = "masterkey"; + + @SuppressWarnings("resource") + @Container + private static final GenericContainer CONTAINER = new GenericContainer<>("ghcr.io/fdcastel/firebird:5.0.1") + .withEnv("FIREBIRD_ROOT_PASSWORD", PASSWORD) + .withEnv("FIREBIRD_USER", "alice") + .withEnv("FIREBIRD_PASSWORD", PASSWORD) + .withEnv("FIREBIRD_DATABASE", "mirror.fdb") + .withEnv("FIREBIRD_DATABASE_DEFAULT_CHARSET", "UTF8") + .withExposedPorts(3050); + + private static DataSource logicDataSource; + + private String jdbcUrlPrefix; + + private TestShardingService testShardingService; + + @BeforeAll + static void beforeAll() { + assertThat(System.getProperty(SYSTEM_PROP_KEY_PREFIX + "ds0.jdbc-url"), is(nullValue())); + assertThat(System.getProperty(SYSTEM_PROP_KEY_PREFIX + "ds1.jdbc-url"), is(nullValue())); + assertThat(System.getProperty(SYSTEM_PROP_KEY_PREFIX + "ds2.jdbc-url"), is(nullValue())); + } + + @AfterAll + static void afterAll() throws SQLException { + try (Connection connection = logicDataSource.getConnection()) { + connection.unwrap(ShardingSphereConnection.class).getContextManager().close(); + } + System.clearProperty(SYSTEM_PROP_KEY_PREFIX + "ds0.jdbc-url"); + System.clearProperty(SYSTEM_PROP_KEY_PREFIX + "ds1.jdbc-url"); + System.clearProperty(SYSTEM_PROP_KEY_PREFIX + "ds2.jdbc-url"); + } + + @Test + void assertShardingInLocalTransactions() throws Exception { + jdbcUrlPrefix = "jdbc:firebird://localhost:" + CONTAINER.getMappedPort(3050) + "//var/lib/firebird/data/"; + logicDataSource = createDataSource(); + testShardingService = new TestShardingService(logicDataSource); + initEnvironment(); + testShardingService.processSuccess(); + testShardingService.cleanEnvironmentInFirebird(); + } + + /** + * Docker Image `ghcr.io/fdcastel/firebird:5.0.1` cannot use `TRUNCATE TABLE`. + * See FirebirdSQL/firebird#2892. + * + * @throws SQLException SQL Exception + */ + private void initEnvironment() throws SQLException { + testShardingService.getOrderRepository().createTableInFirebird(); + testShardingService.getOrderItemRepository().createTableInFirebird(); + testShardingService.getAddressRepository().createTableInFirebird(); + } + + private Connection openConnection() throws SQLException { + Properties props = new Properties(); + props.setProperty("user", "alice"); + props.setProperty("password", PASSWORD); + return DriverManager.getConnection(jdbcUrlPrefix + "mirror.fdb", props); + } + + /** + * Due to FirebirdSQL/jaybird#629, + * the SQL statement `Create Database` cannot be executed on the Firebird JDBC driver. + * Unit testing requires the use of {@link org.firebirdsql.management.FBManager}. + * + * @return Data Source + * @throws Exception Exception + * @see org.firebirdsql.management.FBManager + */ + @SuppressWarnings({"SqlDialectInspection", "SqlNoDataSourceInspection"}) + private DataSource createDataSource() throws Exception { + Awaitility.await().atMost(Duration.ofMinutes(1L)).ignoreExceptions().until(() -> { + openConnection().close(); + return true; + }); + try (FBManager fbManager = new FBManager()) { + fbManager.setServer("localhost"); + fbManager.setUserName("alice"); + fbManager.setPassword(PASSWORD); + fbManager.setFileName("/var/lib/firebird/data/mirror.fdb"); + fbManager.setPageSize(PageSizeConstants.SIZE_16K); + fbManager.setDefaultCharacterSet("UTF8"); + fbManager.setPort(CONTAINER.getMappedPort(3050)); + fbManager.start(); + fbManager.createDatabase("/var/lib/firebird/data/demo_ds_0.fdb", "alice", PASSWORD); + fbManager.createDatabase("/var/lib/firebird/data/demo_ds_1.fdb", "alice", PASSWORD); + fbManager.createDatabase("/var/lib/firebird/data/demo_ds_2.fdb", "alice", PASSWORD); + } + HikariConfig config = new HikariConfig(); + config.setDriverClassName("org.apache.shardingsphere.driver.ShardingSphereDriver"); + config.setJdbcUrl("jdbc:shardingsphere:classpath:test-native/yaml/jdbc/databases/firebird.yaml?placeholder-type=system_props"); + System.setProperty(SYSTEM_PROP_KEY_PREFIX + "ds0.jdbc-url", jdbcUrlPrefix + "demo_ds_0.fdb"); + System.setProperty(SYSTEM_PROP_KEY_PREFIX + "ds1.jdbc-url", jdbcUrlPrefix + "demo_ds_1.fdb"); + System.setProperty(SYSTEM_PROP_KEY_PREFIX + "ds2.jdbc-url", jdbcUrlPrefix + "demo_ds_2.fdb"); + return new HikariDataSource(config); + } +} diff --git a/test/native/src/test/java/org/apache/shardingsphere/test/natived/proxy/transactions/base/SeataTest.java b/test/native/src/test/java/org/apache/shardingsphere/test/natived/proxy/transactions/base/SeataTest.java index a768dd457ba40..e8175d09a4987 100644 --- a/test/native/src/test/java/org/apache/shardingsphere/test/natived/proxy/transactions/base/SeataTest.java +++ b/test/native/src/test/java/org/apache/shardingsphere/test/natived/proxy/transactions/base/SeataTest.java @@ -20,6 +20,9 @@ import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariDataSource; import org.apache.http.HttpStatus; +import org.apache.seata.config.ConfigurationFactory; +import org.apache.seata.core.rpc.netty.RmNettyRemotingClient; +import org.apache.seata.core.rpc.netty.TmNettyRemotingClient; import org.apache.shardingsphere.test.natived.commons.TestShardingService; import org.apache.shardingsphere.test.natived.commons.proxy.ProxyTestingServer; import org.awaitility.Awaitility; @@ -86,9 +89,22 @@ static void beforeAll() { }); } + /** + * TODO Executing this unit test in the GraalVM Native Image of the Github Actions device results in a connection leak + * in {@code org.apache.shardingsphere.test.natived.jdbc.databases.FirebirdTest}. + * This requires further investigation. + *
+     *  TmNettyRemotingClient.getInstance().destroy();
+     *  RmNettyRemotingClient.getInstance().destroy();
+     *  ConfigurationFactory.reload();
+     *  
+ */ @AfterAll static void afterAll() { proxyTestingServer.close(); + TmNettyRemotingClient.getInstance().destroy(); + RmNettyRemotingClient.getInstance().destroy(); + ConfigurationFactory.reload(); System.clearProperty(SERVICE_DEFAULT_GROUP_LIST_KEY); } diff --git a/test/native/src/test/resources/META-INF/native-image/shardingsphere-test-native-test-metadata/reflect-config.json b/test/native/src/test/resources/META-INF/native-image/shardingsphere-test-native-test-metadata/reflect-config.json index 01332da0b9ac9..996859280ee63 100644 --- a/test/native/src/test/resources/META-INF/native-image/shardingsphere-test-native-test-metadata/reflect-config.json +++ b/test/native/src/test/resources/META-INF/native-image/shardingsphere-test-native-test-metadata/reflect-config.json @@ -184,5 +184,13 @@ "allDeclaredConstructors": true, "allDeclaredMethods": true, "allPublicMethods": true +}, +{ + "condition":{"typeReachable":"org.apache.shardingsphere.test.natived.jdbc.databases.FirebirdTest"}, + "name":"org.apache.shardingsphere.test.natived.jdbc.databases.FirebirdTest", + "allDeclaredFields": true, + "allDeclaredConstructors": true, + "allDeclaredMethods": true, + "allPublicMethods": true } ] diff --git a/test/native/src/test/resources/test-native/yaml/jdbc/databases/firebird.yaml b/test/native/src/test/resources/test-native/yaml/jdbc/databases/firebird.yaml new file mode 100644 index 0000000000000..9b4a9b636cd30 --- /dev/null +++ b/test/native/src/test/resources/test-native/yaml/jdbc/databases/firebird.yaml @@ -0,0 +1,69 @@ +# +# 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. +# + +dataSources: + ds_0: + dataSourceClassName: com.zaxxer.hikari.HikariDataSource + driverClassName: org.firebirdsql.jdbc.FBDriver + jdbcUrl: $${fixture.test-native.yaml.database.firebird.ds0.jdbc-url::} + username: alice + password: masterkey + ds_1: + dataSourceClassName: com.zaxxer.hikari.HikariDataSource + driverClassName: org.firebirdsql.jdbc.FBDriver + jdbcUrl: $${fixture.test-native.yaml.database.firebird.ds1.jdbc-url::} + username: alice + password: masterkey + ds_2: + dataSourceClassName: com.zaxxer.hikari.HikariDataSource + driverClassName: org.firebirdsql.jdbc.FBDriver + jdbcUrl: $${fixture.test-native.yaml.database.firebird.ds2.jdbc-url::} + username: alice + password: masterkey + +rules: +- !SHARDING + tables: + t_order: + actualDataNodes: ds_0.t_order, ds_1.t_order, ds_2.t_order + keyGenerateStrategy: + column: order_id + keyGeneratorName: snowflake + t_order_item: + actualDataNodes: ds_0.t_order_item, ds_1.t_order_item, ds_2.t_order_item + keyGenerateStrategy: + column: order_item_id + keyGeneratorName: snowflake + defaultDatabaseStrategy: + standard: + shardingColumn: user_id + shardingAlgorithmName: inline + shardingAlgorithms: + inline: + type: CLASS_BASED + props: + strategy: STANDARD + algorithmClassName: org.apache.shardingsphere.test.natived.commons.algorithm.ClassBasedInlineShardingAlgorithmFixture + keyGenerators: + snowflake: + type: SNOWFLAKE + auditors: + sharding_key_required_auditor: + type: DML_SHARDING_CONDITIONS +- !BROADCAST + tables: + - t_address