This is an automated email from the ASF dual-hosted git repository.
panjuan 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 c907f444aae Use structure function to replace pass in a null value
(#23277)
c907f444aae is described below
commit c907f444aaeb9a0f741899452d4c001334d06e9a
Author: zhaojinchao <[email protected]>
AuthorDate: Tue Jan 3 12:37:34 2023 +0800
Use structure function to replace pass in a null value (#23277)
* Use structure function to replace pass in a null value
* Adjustment some style
* Add RequiredArgsConstructor anno
---
.../database/schema/pojo/AlterSchemaMetaDataPOJO.java | 8 +++++++-
.../metadata/database/schema/pojo/AlterSchemaPOJO.java | 16 ++++++++++++----
.../type/index/AlterIndexStatementSchemaRefresher.java | 2 +-
.../type/index/CreateIndexStatementSchemaRefresher.java | 2 +-
.../type/index/DropIndexStatementSchemaRefresher.java | 2 +-
.../type/schema/AlterSchemaStatementSchemaRefresher.java | 4 ++--
.../type/table/AlterTableStatementSchemaRefresher.java | 3 +--
.../type/table/CreateTableStatementSchemaRefresher.java | 3 +--
.../type/table/DropTableStatementSchemaRefresher.java | 2 +-
.../type/table/RenameTableStatementSchemaRefresher.java | 3 +--
.../type/view/AlterViewStatementSchemaRefresher.java | 3 +--
.../type/view/CreateViewStatementSchemaRefresher.java | 3 +--
.../type/view/DropViewStatementSchemaRefresher.java | 2 +-
13 files changed, 31 insertions(+), 22 deletions(-)
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/pojo/AlterSchemaMetaDataPOJO.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/pojo/AlterSchemaMetaDataPOJO.java
index 63337c62d3a..97d3e2849aa 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/pojo/AlterSchemaMetaDataPOJO.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/pojo/AlterSchemaMetaDataPOJO.java
@@ -36,7 +36,7 @@ public final class AlterSchemaMetaDataPOJO {
private final String schemaName;
- private final String logicDataSourceName;
+ private String logicDataSourceName;
private final Collection<ShardingSphereTable> alteredTables = new
LinkedList<>();
@@ -45,4 +45,10 @@ public final class AlterSchemaMetaDataPOJO {
private final Collection<String> droppedTables = new LinkedList<>();
private final Collection<String> droppedViews = new LinkedList<>();
+
+ public AlterSchemaMetaDataPOJO(final String databaseName, final String
schemaName, final Collection<String> logicDataSourceNames) {
+ this.databaseName = databaseName;
+ this.schemaName = schemaName;
+ this.logicDataSourceName = logicDataSourceNames.isEmpty() ? null :
logicDataSourceNames.iterator().next();
+ }
}
diff --git
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/pojo/AlterSchemaPOJO.java
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/pojo/AlterSchemaPOJO.java
index 4f1a7b5c2b1..23054735a7d 100644
---
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/pojo/AlterSchemaPOJO.java
+++
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/pojo/AlterSchemaPOJO.java
@@ -18,20 +18,28 @@
package org.apache.shardingsphere.infra.metadata.database.schema.pojo;
import lombok.Getter;
-import lombok.RequiredArgsConstructor;
+
+import java.util.Collection;
/**
* Alter schema pojo.
*/
-@RequiredArgsConstructor
@Getter
public final class AlterSchemaPOJO {
private final String databaseName;
- private final String logicDataSourceName;
-
private final String schemaName;
private final String renameSchemaName;
+
+ private final String logicDataSourceName;
+
+ public AlterSchemaPOJO(final String databaseName, final String schemaName,
+ final String renameSchemaName, final
Collection<String> logicDataSourceNames) {
+ this.databaseName = databaseName;
+ this.schemaName = schemaName;
+ this.renameSchemaName = renameSchemaName;
+ this.logicDataSourceName = logicDataSourceNames.isEmpty() ? null :
logicDataSourceNames.iterator().next();
+ }
}
diff --git
a/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/index/AlterIndexStatementSchemaRefresher.java
b/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/index/AlterIndexStatementSchemaRefresher.java
index 6bd26206365..165890c7a65 100644
---
a/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/index/AlterIndexStatementSchemaRefresher.java
+++
b/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/index/AlterIndexStatementSchemaRefresher.java
@@ -56,7 +56,7 @@ public final class AlterIndexStatementSchemaRefresher
implements MetaDataRefresh
newTable.getIndexes().remove(indexName);
String renameIndexName =
renameIndex.get().getIndexName().getIdentifier().getValue();
newTable.getIndexes().put(renameIndexName, new
ShardingSphereIndex(renameIndexName));
- AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new
AlterSchemaMetaDataPOJO(database.getName(), actualSchemaName, null);
+ AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new
AlterSchemaMetaDataPOJO(database.getName(), actualSchemaName);
alterSchemaMetaDataPOJO.getAlteredTables().add(newTable);
modeContextManager.alterSchemaMetaData(alterSchemaMetaDataPOJO);
}
diff --git
a/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/index/CreateIndexStatementSchemaRefresher.java
b/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/index/CreateIndexStatementSchemaRefresher.java
index d0baba1fbcb..05c5cda55f5 100644
---
a/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/index/CreateIndexStatementSchemaRefresher.java
+++
b/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/index/CreateIndexStatementSchemaRefresher.java
@@ -47,7 +47,7 @@ public final class CreateIndexStatementSchemaRefresher
implements MetaDataRefres
String tableName =
sqlStatement.getTable().getTableName().getIdentifier().getValue();
ShardingSphereTable table =
newShardingSphereTable(database.getSchema(schemaName).getTable(tableName));
table.getIndexes().put(indexName, new ShardingSphereIndex(indexName));
- AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new
AlterSchemaMetaDataPOJO(database.getName(), schemaName, null);
+ AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new
AlterSchemaMetaDataPOJO(database.getName(), schemaName);
alterSchemaMetaDataPOJO.getAlteredTables().add(table);
modeContextManager.alterSchemaMetaData(alterSchemaMetaDataPOJO);
}
diff --git
a/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/index/DropIndexStatementSchemaRefresher.java
b/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/index/DropIndexStatementSchemaRefresher.java
index 0bf63f4b7cc..fe2e1f83483 100644
---
a/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/index/DropIndexStatementSchemaRefresher.java
+++
b/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/index/DropIndexStatementSchemaRefresher.java
@@ -49,7 +49,7 @@ public final class DropIndexStatementSchemaRefresher
implements MetaDataRefreshe
if (!logicTableName.isPresent()) {
continue;
}
- AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new
AlterSchemaMetaDataPOJO(database.getName(), actualSchemaName, null);
+ AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new
AlterSchemaMetaDataPOJO(database.getName(), actualSchemaName);
ShardingSphereTable table =
newShardingSphereTable(database.getSchema(actualSchemaName).getTable(logicTableName.get()));
table.getIndexes().remove(each.getIndexName().getIdentifier().getValue());
alterSchemaMetaDataPOJO.getAlteredTables().add(table);
diff --git
a/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/schema/AlterSchemaStatementSchemaRefresher.java
b/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/schema/AlterSchemaStatementSchemaRefresher.java
index b95e5f75284..8c183779573 100644
---
a/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/schema/AlterSchemaStatementSchemaRefresher.java
+++
b/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/schema/AlterSchemaStatementSchemaRefresher.java
@@ -40,8 +40,8 @@ public final class AlterSchemaStatementSchemaRefresher
implements MetaDataRefres
if (!renameSchemaName.isPresent()) {
return;
}
- modeContextManager.alterSchema(new AlterSchemaPOJO(database.getName(),
logicDataSourceNames.isEmpty() ? null : logicDataSourceNames.iterator().next(),
- sqlStatement.getSchemaName().getValue().toLowerCase(),
renameSchemaName.get()));
+ modeContextManager.alterSchema(new AlterSchemaPOJO(database.getName(),
sqlStatement.getSchemaName().getValue().toLowerCase(),
+ renameSchemaName.get(), logicDataSourceNames));
}
@Override
diff --git
a/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/table/AlterTableStatementSchemaRefresher.java
b/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/table/AlterTableStatementSchemaRefresher.java
index f4d65e5f708..a163b11bf67 100644
---
a/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/table/AlterTableStatementSchemaRefresher.java
+++
b/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/table/AlterTableStatementSchemaRefresher.java
@@ -47,8 +47,7 @@ public final class AlterTableStatementSchemaRefresher
implements MetaDataRefresh
public void refresh(final ModeContextManager modeContextManager, final
ShardingSphereDatabase database, final Collection<String> logicDataSourceNames,
final String schemaName, final AlterTableStatement
sqlStatement, final ConfigurationProperties props) throws SQLException {
String tableName =
sqlStatement.getTable().getTableName().getIdentifier().getValue();
- AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new
AlterSchemaMetaDataPOJO(database.getName(), schemaName,
- logicDataSourceNames.isEmpty() ? null :
logicDataSourceNames.iterator().next());
+ AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new
AlterSchemaMetaDataPOJO(database.getName(), schemaName, logicDataSourceNames);
if (sqlStatement.getRenameTable().isPresent()) {
String renameTable =
sqlStatement.getRenameTable().get().getTableName().getIdentifier().getValue();
alterSchemaMetaDataPOJO.getAlteredTables().add(getTable(database,
logicDataSourceNames, schemaName, renameTable, props));
diff --git
a/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/table/CreateTableStatementSchemaRefresher.java
b/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/table/CreateTableStatementSchemaRefresher.java
index 79342986771..23daa391293 100644
---
a/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/table/CreateTableStatementSchemaRefresher.java
+++
b/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/table/CreateTableStatementSchemaRefresher.java
@@ -56,8 +56,7 @@ public final class CreateTableStatementSchemaRefresher
implements MetaDataRefres
Map<String, ShardingSphereSchema> schemaMap =
GenericSchemaBuilder.build(Collections.singletonList(tableName), material);
Optional<ShardingSphereTable> actualTableMetaData =
Optional.ofNullable(schemaMap.get(schemaName)).map(optional ->
optional.getTable(tableName));
if (actualTableMetaData.isPresent()) {
- AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new
AlterSchemaMetaDataPOJO(database.getName(), schemaName,
- logicDataSourceNames.isEmpty() ? null :
logicDataSourceNames.iterator().next());
+ AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new
AlterSchemaMetaDataPOJO(database.getName(), schemaName, logicDataSourceNames);
alterSchemaMetaDataPOJO.getAlteredTables().add(actualTableMetaData.get());
modeContextManager.alterSchemaMetaData(alterSchemaMetaDataPOJO);
}
diff --git
a/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/table/DropTableStatementSchemaRefresher.java
b/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/table/DropTableStatementSchemaRefresher.java
index a18dcba2254..f1d986f6a00 100644
---
a/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/table/DropTableStatementSchemaRefresher.java
+++
b/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/table/DropTableStatementSchemaRefresher.java
@@ -34,7 +34,7 @@ public final class DropTableStatementSchemaRefresher
implements MetaDataRefreshe
@Override
public void refresh(final ModeContextManager modeContextManager, final
ShardingSphereDatabase database, final Collection<String> logicDataSourceNames,
final String schemaName, final DropTableStatement
sqlStatement, final ConfigurationProperties props) {
- AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new
AlterSchemaMetaDataPOJO(database.getName(), schemaName, null);
+ AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new
AlterSchemaMetaDataPOJO(database.getName(), schemaName);
sqlStatement.getTables().forEach(each ->
alterSchemaMetaDataPOJO.getDroppedTables().add(each.getTableName().getIdentifier().getValue()));
modeContextManager.alterSchemaMetaData(alterSchemaMetaDataPOJO);
}
diff --git
a/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/table/RenameTableStatementSchemaRefresher.java
b/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/table/RenameTableStatementSchemaRefresher.java
index 676d27ed105..959fa365305 100644
---
a/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/table/RenameTableStatementSchemaRefresher.java
+++
b/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/table/RenameTableStatementSchemaRefresher.java
@@ -48,8 +48,7 @@ public final class RenameTableStatementSchemaRefresher
implements MetaDataRefres
public void refresh(final ModeContextManager modeContextManager, final
ShardingSphereDatabase database, final Collection<String> logicDataSourceNames,
final String schemaName, final RenameTableStatement
sqlStatement, final ConfigurationProperties props) throws SQLException {
for (RenameTableDefinitionSegment each :
sqlStatement.getRenameTables()) {
- AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new
AlterSchemaMetaDataPOJO(database.getName(), schemaName,
- logicDataSourceNames.isEmpty() ? null :
logicDataSourceNames.iterator().next());
+ AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new
AlterSchemaMetaDataPOJO(database.getName(), schemaName, logicDataSourceNames);
alterSchemaMetaDataPOJO.getAlteredTables().add(getTable(database,
logicDataSourceNames, schemaName,
each.getRenameTable().getTableName().getIdentifier().getValue(), props));
alterSchemaMetaDataPOJO.getDroppedTables().add(each.getTable().getTableName().getIdentifier().getValue());
modeContextManager.alterSchemaMetaData(alterSchemaMetaDataPOJO);
diff --git
a/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/view/AlterViewStatementSchemaRefresher.java
b/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/view/AlterViewStatementSchemaRefresher.java
index 738f5975f57..29f6ff77cb8 100644
---
a/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/view/AlterViewStatementSchemaRefresher.java
+++
b/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/view/AlterViewStatementSchemaRefresher.java
@@ -50,8 +50,7 @@ public final class AlterViewStatementSchemaRefresher
implements MetaDataRefreshe
public void refresh(final ModeContextManager modeContextManager, final
ShardingSphereDatabase database, final Collection<String> logicDataSourceNames,
final String schemaName, final AlterViewStatement
sqlStatement, final ConfigurationProperties props) throws SQLException {
String viewName =
sqlStatement.getView().getTableName().getIdentifier().getValue();
- AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new
AlterSchemaMetaDataPOJO(database.getName(), schemaName,
- logicDataSourceNames.isEmpty() ? null :
logicDataSourceNames.iterator().next());
+ AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new
AlterSchemaMetaDataPOJO(database.getName(), schemaName, logicDataSourceNames);
Optional<SimpleTableSegment> renameView =
AlterViewStatementHandler.getRenameView(sqlStatement);
if (renameView.isPresent()) {
String renameViewName =
renameView.get().getTableName().getIdentifier().getValue();
diff --git
a/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/view/CreateViewStatementSchemaRefresher.java
b/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/view/CreateViewStatementSchemaRefresher.java
index 1284a751038..96c5cea078f 100644
---
a/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/view/CreateViewStatementSchemaRefresher.java
+++
b/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/view/CreateViewStatementSchemaRefresher.java
@@ -57,8 +57,7 @@ public final class CreateViewStatementSchemaRefresher
implements MetaDataRefresh
Map<String, ShardingSphereSchema> schemaMap =
GenericSchemaBuilder.build(Collections.singletonList(viewName), material);
Optional<ShardingSphereTable> actualTableMetaData =
Optional.ofNullable(schemaMap.get(schemaName)).map(optional ->
optional.getTable(viewName));
if (actualTableMetaData.isPresent()) {
- AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new
AlterSchemaMetaDataPOJO(database.getName(), schemaName,
- logicDataSourceNames.isEmpty() ? null :
logicDataSourceNames.iterator().next());
+ AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new
AlterSchemaMetaDataPOJO(database.getName(), schemaName, logicDataSourceNames);
alterSchemaMetaDataPOJO.getAlteredTables().add(actualTableMetaData.get());
alterSchemaMetaDataPOJO.getAlteredViews().add(new
ShardingSphereView(viewName, sqlStatement.getViewDefinition()));
modeContextManager.alterSchemaMetaData(alterSchemaMetaDataPOJO);
diff --git
a/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/view/DropViewStatementSchemaRefresher.java
b/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/view/DropViewStatementSchemaRefresher.java
index c6d1b988b8c..1fd733c1bb2 100644
---
a/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/view/DropViewStatementSchemaRefresher.java
+++
b/infra/context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/view/DropViewStatementSchemaRefresher.java
@@ -34,7 +34,7 @@ public final class DropViewStatementSchemaRefresher
implements MetaDataRefresher
@Override
public void refresh(final ModeContextManager modeContextManager, final
ShardingSphereDatabase database, final Collection<String> logicDataSourceNames,
final String schemaName, final DropViewStatement
sqlStatement, final ConfigurationProperties props) {
- AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new
AlterSchemaMetaDataPOJO(database.getName(), schemaName, null);
+ AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new
AlterSchemaMetaDataPOJO(database.getName(), schemaName);
sqlStatement.getViews().forEach(each -> {
String viewName = each.getTableName().getIdentifier().getValue();
alterSchemaMetaDataPOJO.getDroppedTables().add(viewName);