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

duanzhengqiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new f984531229f Fix revise engine data source NPE. (#24581)
f984531229f is described below

commit f984531229f238ae4bb85d7d784c5b83e5e6c806
Author: Chuxin Chen <[email protected]>
AuthorDate: Mon Mar 13 18:43:23 2023 +0800

    Fix revise engine data source NPE. (#24581)
---
 .../metadata/database/schema/reviser/MetaDataReviseEngine.java     | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/reviser/MetaDataReviseEngine.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/reviser/MetaDataReviseEngine.java
index 91b3a048fcd..2ac54d9778c 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/reviser/MetaDataReviseEngine.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/reviser/MetaDataReviseEngine.java
@@ -20,8 +20,8 @@ package 
org.apache.shardingsphere.infra.metadata.database.schema.reviser;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericSchemaBuilderMaterial;
-import 
org.apache.shardingsphere.infra.metadata.database.schema.reviser.schema.SchemaMetaDataReviseEngine;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.loader.model.SchemaMetaData;
+import 
org.apache.shardingsphere.infra.metadata.database.schema.reviser.schema.SchemaMetaDataReviseEngine;
 import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
 
 import javax.sql.DataSource;
@@ -48,8 +48,9 @@ public final class MetaDataReviseEngine {
     public Map<String, SchemaMetaData> revise(final Map<String, 
SchemaMetaData> schemaMetaDataMap, final GenericSchemaBuilderMaterial material) 
{
         Map<String, SchemaMetaData> result = new 
LinkedHashMap<>(schemaMetaDataMap.size(), 1);
         for (Entry<String, SchemaMetaData> entry : 
schemaMetaDataMap.entrySet()) {
-            DatabaseType databaseType = 
material.getStorageTypes().get(entry.getKey());
-            DataSource dataSource = 
material.getDataSourceMap().get(entry.getKey());
+            // TODO establish a corresponding relationship between tables and 
data sources
+            DatabaseType databaseType = 
material.getStorageTypes().values().stream().findFirst().orElse(null);
+            DataSource dataSource = 
material.getDataSourceMap().values().stream().findFirst().orElse(null);
             result.put(entry.getKey(), new SchemaMetaDataReviseEngine(rules, 
material.getProps(), databaseType, dataSource).revise(entry.getValue()));
         }
         return result;

Reply via email to