You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by ji...@apache.org on 2022/11/20 15:09:49 UTC
[shardingsphere] branch master updated: Use LinkedList instead of ArrayList (#22299)
This is an automated email from the ASF dual-hosted git repository.
jianglongtao 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 3d7050fa36d Use LinkedList instead of ArrayList (#22299)
3d7050fa36d is described below
commit 3d7050fa36d0641d6c86ac1dbc22046ca71f9ec0
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Sun Nov 20 23:09:41 2022 +0800
Use LinkedList instead of ArrayList (#22299)
---
.../generator/EncryptAlterTableTokenGenerator.java | 3 +--
.../route/engine/condition/ShardingConditions.java | 5 ++---
.../query/ShardingTableRuleQueryResultSet.java | 3 +--
...hardingTableRulesUsedAuditorQueryResultSet.java | 11 ++++------
...ngTableRulesUsedKeyGeneratorQueryResultSet.java | 7 +++---
.../core/ShardingDistSQLStatementVisitor.java | 16 +++++++-------
.../infra/instance/ComputeNodeInstance.java | 4 ++--
.../ShardingSphereSchemaDataAlteredEvent.java | 4 ++--
.../database/schema/event/SchemaAlteredEvent.java | 10 ++++-----
.../token/generator/SQLTokenGeneratorsTest.java | 4 ++--
.../StandardPipelineTableMetaDataLoader.java | 7 ++----
.../core/MigrationDistSQLStatementVisitor.java | 4 ++--
.../sql/common/extractor/TableExtractorTest.java | 25 +++++++++++-----------
.../data/pipeline/cases/base/BaseITCase.java | 7 +++---
14 files changed, 51 insertions(+), 59 deletions(-)
diff --git a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAlterTableTokenGenerator.java b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAlterTableTokenGenerator.java
index 97c66a66282..08a9c830217 100644
--- a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAlterTableTokenGenerator.java
+++ b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptAlterTableTokenGenerator.java
@@ -39,7 +39,6 @@ import org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.column.alter.
import org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.column.position.ColumnPositionSegment;
import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.column.ColumnSegment;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.LinkedList;
@@ -79,7 +78,7 @@ public final class EncryptAlterTableTokenGenerator implements CollectionSQLToken
private Collection<SQLToken> mergeDropColumnStatement(final Collection<SQLToken> dropSQLTokens, final String leftJoiner, final String rightJoiner) {
Collection<SQLToken> result = new LinkedList<>();
- List<String> dropColumns = new ArrayList<>();
+ Collection<String> dropColumns = new LinkedList<>();
int lastStartIndex = -1;
for (int i = 0; i < dropSQLTokens.size(); i++) {
SQLToken token = ((List<SQLToken>) dropSQLTokens).get(i);
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/ShardingConditions.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/ShardingConditions.java
index 464a70ab883..9160ddb2a39 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/ShardingConditions.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/route/engine/condition/ShardingConditions.java
@@ -35,7 +35,6 @@ import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.Sub
import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.SelectStatement;
import org.apache.shardingsphere.sql.parser.sql.common.util.SafeNumberOperationUtil;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
@@ -88,7 +87,7 @@ public final class ShardingConditions {
*/
public void merge() {
if (conditions.size() > 1) {
- List<ShardingCondition> result = new ArrayList<>();
+ Collection<ShardingCondition> result = new LinkedList<>();
result.add(conditions.remove(conditions.size() - 1));
while (!conditions.isEmpty()) {
findUniqueShardingCondition(result, conditions.remove(conditions.size() - 1)).ifPresent(result::add);
@@ -97,7 +96,7 @@ public final class ShardingConditions {
}
}
- private Optional<ShardingCondition> findUniqueShardingCondition(final List<ShardingCondition> conditions, final ShardingCondition condition) {
+ private Optional<ShardingCondition> findUniqueShardingCondition(final Collection<ShardingCondition> conditions, final ShardingCondition condition) {
for (ShardingCondition each : conditions) {
if (isSameShardingCondition(rule, condition, each)) {
return Optional.empty();
diff --git a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingTableRuleQueryResultSet.java b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingTableRuleQueryResultSet.java
index afe10594324..1812e43aa8f 100644
--- a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingTableRuleQueryResultSet.java
+++ b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingTableRuleQueryResultSet.java
@@ -34,7 +34,6 @@ import org.apache.shardingsphere.sharding.distsql.parser.statement.ShowShardingT
import org.apache.shardingsphere.sharding.rule.ShardingRule;
import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
@@ -193,7 +192,7 @@ public final class ShardingTableRuleQueryResultSet implements DatabaseDistSQLRes
private String getAuditorTypes(final ShardingAuditStrategyConfiguration shardingAuditStrategyConfig) {
Optional<ShardingAuditStrategyConfiguration> auditStrategyConfig = getShardingAuditStrategyConfiguration(shardingAuditStrategyConfig);
- Collection<String> auditorTypes = new ArrayList<>();
+ Collection<String> auditorTypes = new LinkedList<>();
if (auditStrategyConfig.isPresent()) {
for (String each : auditStrategyConfig.get().getAuditorNames()) {
auditorTypes.add(shardingRuleConfig.getAuditors().get(each).getType());
diff --git a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingTableRulesUsedAuditorQueryResultSet.java b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingTableRulesUsedAuditorQueryResultSet.java
index 01c7210b491..0c08c9a3622 100644
--- a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingTableRulesUsedAuditorQueryResultSet.java
+++ b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingTableRulesUsedAuditorQueryResultSet.java
@@ -24,13 +24,11 @@ import org.apache.shardingsphere.sharding.distsql.parser.statement.ShowShardingT
import org.apache.shardingsphere.sharding.rule.ShardingRule;
import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
-import java.util.List;
-import java.util.Optional;
+import java.util.LinkedList;
/**
* Query result set for show sharding table rules used auditor.
@@ -42,13 +40,12 @@ public final class ShardingTableRulesUsedAuditorQueryResultSet implements Databa
@Override
public void init(final ShardingSphereDatabase database, final SQLStatement sqlStatement) {
ShowShardingTableRulesUsedAuditorStatement statement = (ShowShardingTableRulesUsedAuditorStatement) sqlStatement;
- List<Collection<Object>> result = new ArrayList<>();
- Optional<ShardingRule> rule = database.getRuleMetaData().findSingleRule(ShardingRule.class);
- rule.ifPresent(optional -> requireResult(statement, result, optional));
+ Collection<Collection<Object>> result = new LinkedList<>();
+ database.getRuleMetaData().findSingleRule(ShardingRule.class).ifPresent(optional -> requireResult(statement, result, optional));
data = result.iterator();
}
- private void requireResult(final ShowShardingTableRulesUsedAuditorStatement statement, final List<Collection<Object>> result, final ShardingRule rule) {
+ private void requireResult(final ShowShardingTableRulesUsedAuditorStatement statement, final Collection<Collection<Object>> result, final ShardingRule rule) {
if (!statement.getAuditorName().isPresent()) {
return;
}
diff --git a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingTableRulesUsedKeyGeneratorQueryResultSet.java b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingTableRulesUsedKeyGeneratorQueryResultSet.java
index 030e372fc58..335f487e90c 100644
--- a/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingTableRulesUsedKeyGeneratorQueryResultSet.java
+++ b/features/sharding/distsql/handler/src/main/java/org/apache/shardingsphere/sharding/distsql/handler/query/ShardingTableRulesUsedKeyGeneratorQueryResultSet.java
@@ -24,12 +24,11 @@ import org.apache.shardingsphere.sharding.distsql.parser.statement.ShowShardingT
import org.apache.shardingsphere.sharding.rule.ShardingRule;
import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
-import java.util.List;
+import java.util.LinkedList;
import java.util.Optional;
/**
@@ -42,13 +41,13 @@ public final class ShardingTableRulesUsedKeyGeneratorQueryResultSet implements D
@Override
public void init(final ShardingSphereDatabase database, final SQLStatement sqlStatement) {
ShowShardingTableRulesUsedKeyGeneratorStatement statement = (ShowShardingTableRulesUsedKeyGeneratorStatement) sqlStatement;
- List<Collection<Object>> result = new ArrayList<>();
+ Collection<Collection<Object>> result = new LinkedList<>();
Optional<ShardingRule> rule = database.getRuleMetaData().findSingleRule(ShardingRule.class);
rule.ifPresent(optional -> requireResult(statement, result, optional));
data = result.iterator();
}
- private void requireResult(final ShowShardingTableRulesUsedKeyGeneratorStatement statement, final List<Collection<Object>> result, final ShardingRule rule) {
+ private void requireResult(final ShowShardingTableRulesUsedKeyGeneratorStatement statement, final Collection<Collection<Object>> result, final ShardingRule rule) {
if (!statement.getKeyGeneratorName().isPresent()) {
return;
}
diff --git a/features/sharding/distsql/parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLStatementVisitor.java b/features/sharding/distsql/parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLStatementVisitor.java
index 482c1aef022..4de01cfe5db 100644
--- a/features/sharding/distsql/parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLStatementVisitor.java
+++ b/features/sharding/distsql/parser/src/main/java/org/apache/shardingsphere/sharding/distsql/parser/core/ShardingDistSQLStatementVisitor.java
@@ -76,13 +76,13 @@ import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatement
import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.TableNameContext;
import org.apache.shardingsphere.distsql.parser.autogen.ShardingDistSQLStatementParser.TableReferenceRuleDefinitionContext;
import org.apache.shardingsphere.distsql.parser.segment.AlgorithmSegment;
-import org.apache.shardingsphere.sharding.distsql.parser.segment.table.AbstractTableRuleSegment;
-import org.apache.shardingsphere.sharding.distsql.parser.segment.table.AbstractTableRuleSegment.EmptyTableRuleSegment;
import org.apache.shardingsphere.sharding.distsql.parser.segment.strategy.AuditStrategySegment;
-import org.apache.shardingsphere.sharding.distsql.parser.segment.table.AutoTableRuleSegment;
import org.apache.shardingsphere.sharding.distsql.parser.segment.strategy.KeyGenerateStrategySegment;
import org.apache.shardingsphere.sharding.distsql.parser.segment.strategy.ShardingAuditorSegment;
import org.apache.shardingsphere.sharding.distsql.parser.segment.strategy.ShardingStrategySegment;
+import org.apache.shardingsphere.sharding.distsql.parser.segment.table.AbstractTableRuleSegment;
+import org.apache.shardingsphere.sharding.distsql.parser.segment.table.AbstractTableRuleSegment.EmptyTableRuleSegment;
+import org.apache.shardingsphere.sharding.distsql.parser.segment.table.AutoTableRuleSegment;
import org.apache.shardingsphere.sharding.distsql.parser.segment.table.TableReferenceRuleSegment;
import org.apache.shardingsphere.sharding.distsql.parser.segment.table.TableRuleSegment;
import org.apache.shardingsphere.sharding.distsql.parser.statement.AlterDefaultShardingStrategyStatement;
@@ -127,7 +127,6 @@ import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.DatabaseS
import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.table.TableNameSegment;
import org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.LinkedList;
@@ -332,11 +331,12 @@ public final class ShardingDistSQLStatementVisitor extends ShardingDistSQLStatem
if (null == ctx) {
return null;
}
- Collection<ShardingAuditorSegment> shardingAuditorSegments = new ArrayList<>();
- Collection<String> auditorNames = new ArrayList<>();
+ Collection<String> auditorNames = new LinkedList<>();
+ Collection<ShardingAuditorSegment> shardingAuditorSegments = new LinkedList<>();
for (SingleAuditDefinitionContext each : ctx.multiAuditDefinition().singleAuditDefinition()) {
- shardingAuditorSegments.add(new ShardingAuditorSegment(getIdentifierValue(each.auditorName()), (AlgorithmSegment) visit(each.algorithmDefinition())));
- auditorNames.add(getIdentifierValue(each.auditorName()));
+ String auditorName = getIdentifierValue(each.auditorName());
+ auditorNames.add(auditorName);
+ shardingAuditorSegments.add(new ShardingAuditorSegment(auditorName, (AlgorithmSegment) visit(each.algorithmDefinition())));
}
return new AuditStrategySegment(auditorNames, shardingAuditorSegments, Boolean.parseBoolean(getIdentifierValue(ctx.auditAllowHintDisable())));
}
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/ComputeNodeInstance.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/ComputeNodeInstance.java
index 206ffed2ad8..54d594d7fe5 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/ComputeNodeInstance.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/instance/ComputeNodeInstance.java
@@ -23,8 +23,8 @@ import org.apache.shardingsphere.infra.instance.metadata.InstanceMetaData;
import org.apache.shardingsphere.infra.state.StateContext;
import org.apache.shardingsphere.infra.state.StateType;
-import java.util.ArrayList;
import java.util.Collection;
+import java.util.LinkedList;
/**
* Instance of compute node.
@@ -36,7 +36,7 @@ public final class ComputeNodeInstance {
private final StateContext state = new StateContext();
- private Collection<String> labels = new ArrayList<>();
+ private Collection<String> labels = new LinkedList<>();
@Setter
private volatile int workerId;
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/data/event/ShardingSphereSchemaDataAlteredEvent.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/data/event/ShardingSphereSchemaDataAlteredEvent.java
index a4d567815fc..97d84aaebdb 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/data/event/ShardingSphereSchemaDataAlteredEvent.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/data/event/ShardingSphereSchemaDataAlteredEvent.java
@@ -21,8 +21,8 @@ import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.infra.metadata.data.ShardingSphereTableData;
-import java.util.ArrayList;
import java.util.Collection;
+import java.util.LinkedList;
/**
* Schema altered event.
@@ -35,5 +35,5 @@ public final class ShardingSphereSchemaDataAlteredEvent {
private final String schemaName;
- private final Collection<ShardingSphereTableData> alteredTables = new ArrayList<>();
+ private final Collection<ShardingSphereTableData> alteredTables = new LinkedList<>();
}
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/event/SchemaAlteredEvent.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/event/SchemaAlteredEvent.java
index 4957395d697..d6338be49fd 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/event/SchemaAlteredEvent.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/event/SchemaAlteredEvent.java
@@ -22,8 +22,8 @@ import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.infra.metadata.database.schema.decorator.model.ShardingSphereTable;
import org.apache.shardingsphere.infra.metadata.database.schema.decorator.model.ShardingSphereView;
-import java.util.ArrayList;
import java.util.Collection;
+import java.util.LinkedList;
/**
* Schema altered event.
@@ -36,11 +36,11 @@ public final class SchemaAlteredEvent implements MetaDataRefreshedEvent {
private final String schemaName;
- private final Collection<ShardingSphereTable> alteredTables = new ArrayList<>();
+ private final Collection<ShardingSphereTable> alteredTables = new LinkedList<>();
- private final Collection<ShardingSphereView> alteredViews = new ArrayList<>();
+ private final Collection<ShardingSphereView> alteredViews = new LinkedList<>();
- private final Collection<String> droppedTables = new ArrayList<>();
+ private final Collection<String> droppedTables = new LinkedList<>();
- private final Collection<String> droppedViews = new ArrayList<>();
+ private final Collection<String> droppedViews = new LinkedList<>();
}
diff --git a/infra/rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/SQLTokenGeneratorsTest.java b/infra/rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/SQLTokenGeneratorsTest.java
index 45fc77fef74..f45680d5f33 100644
--- a/infra/rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/SQLTokenGeneratorsTest.java
+++ b/infra/rewrite/src/test/java/org/apache/shardingsphere/infra/rewrite/sql/token/generator/SQLTokenGeneratorsTest.java
@@ -24,10 +24,10 @@ import org.apache.shardingsphere.infra.rewrite.sql.token.pojo.SQLToken;
import org.junit.Test;
import java.lang.reflect.Field;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
+import java.util.LinkedList;
import java.util.Map;
import static org.hamcrest.CoreMatchers.is;
@@ -56,7 +56,7 @@ public final class SQLTokenGeneratorsTest {
SQLTokenGenerators sqlTokenGenerators = new SQLTokenGenerators();
SQLTokenGenerator expectedSqlTokenGenerator = mock(SQLTokenGenerator.class);
SQLTokenGenerator unexpectedSqlTokenGenerator = mock(SQLTokenGenerator.class);
- Collection<SQLTokenGenerator> collection = new ArrayList<>();
+ Collection<SQLTokenGenerator> collection = new LinkedList<>();
collection.add(expectedSqlTokenGenerator);
collection.add(unexpectedSqlTokenGenerator);
sqlTokenGenerators.addAll(collection);
diff --git a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/loader/StandardPipelineTableMetaDataLoader.java b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/loader/StandardPipelineTableMetaDataLoader.java
index 4c0b9c12555..659159ce6b3 100644
--- a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/loader/StandardPipelineTableMetaDataLoader.java
+++ b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/loader/StandardPipelineTableMetaDataLoader.java
@@ -30,12 +30,10 @@ import org.apache.shardingsphere.infra.database.type.DatabaseTypeFactory;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.LinkedList;
-import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
@@ -76,7 +74,6 @@ public final class StandardPipelineTableMetaDataLoader implements PipelineTableM
private void loadTableMetaData(final String schemaName, final String tableNamePattern) throws SQLException {
try (Connection connection = dataSource.getConnection()) {
- long startMillis = System.currentTimeMillis();
String schemaNameFinal = isSchemaAvailable() ? schemaName : null;
Map<TableName, PipelineTableMetaData> tableMetaDataMap = loadTableMetaData0(connection, schemaNameFinal, tableNamePattern);
this.tableMetaDataMap.putAll(tableMetaDataMap);
@@ -88,7 +85,7 @@ public final class StandardPipelineTableMetaDataLoader implements PipelineTableM
}
private Map<TableName, PipelineTableMetaData> loadTableMetaData0(final Connection connection, final String schemaName, final String tableNamePattern) throws SQLException {
- List<String> tableNames = new ArrayList<>();
+ Collection<String> tableNames = new LinkedList<>();
try (ResultSet resultSet = connection.getMetaData().getTables(connection.getCatalog(), schemaName, tableNamePattern, null)) {
while (resultSet.next()) {
String tableName = resultSet.getString("TABLE_NAME");
@@ -117,7 +114,7 @@ public final class StandardPipelineTableMetaDataLoader implements PipelineTableM
}
}
Collection<PipelineIndexMetaData> uniqueIndexMetaData = uniqueKeys.entrySet().stream()
- .map(e -> new PipelineIndexMetaData(e.getKey(), e.getValue().stream().map(columnMetaDataMap::get).collect(Collectors.toList()))).collect(Collectors.toList());
+ .map(entry -> new PipelineIndexMetaData(entry.getKey(), entry.getValue().stream().map(columnMetaDataMap::get).collect(Collectors.toList()))).collect(Collectors.toList());
result.put(new TableName(each), new PipelineTableMetaData(each, columnMetaDataMap, uniqueIndexMetaData));
}
return result;
diff --git a/kernel/data-pipeline/distsql/parser/src/main/java/org/apache/shardingsphere/migration/distsql/parser/core/MigrationDistSQLStatementVisitor.java b/kernel/data-pipeline/distsql/parser/src/main/java/org/apache/shardingsphere/migration/distsql/parser/core/MigrationDistSQLStatementVisitor.java
index 0f41e7f5a86..40c00b666a6 100644
--- a/kernel/data-pipeline/distsql/parser/src/main/java/org/apache/shardingsphere/migration/distsql/parser/core/MigrationDistSQLStatementVisitor.java
+++ b/kernel/data-pipeline/distsql/parser/src/main/java/org/apache/shardingsphere/migration/distsql/parser/core/MigrationDistSQLStatementVisitor.java
@@ -64,8 +64,8 @@ import org.apache.shardingsphere.sql.parser.api.visitor.ASTNode;
import org.apache.shardingsphere.sql.parser.api.visitor.SQLVisitor;
import org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
-import java.util.ArrayList;
import java.util.Collection;
+import java.util.LinkedList;
import java.util.List;
import java.util.Properties;
import java.util.stream.Collectors;
@@ -169,7 +169,7 @@ public final class MigrationDistSQLStatementVisitor extends MigrationDistSQLStat
@Override
public ASTNode visitRegisterMigrationSourceStorageUnit(final RegisterMigrationSourceStorageUnitContext ctx) {
- Collection<DataSourceSegment> dataSources = new ArrayList<>();
+ Collection<DataSourceSegment> dataSources = new LinkedList<>();
for (StorageUnitDefinitionContext each : ctx.storageUnitDefinition()) {
dataSources.add((DataSourceSegment) visit(each));
}
diff --git a/sql-parser/statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/common/extractor/TableExtractorTest.java b/sql-parser/statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/common/extractor/TableExtractorTest.java
index ccf693d4e69..febb3d8764f 100644
--- a/sql-parser/statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/common/extractor/TableExtractorTest.java
+++ b/sql-parser/statement/src/test/java/org/apache/shardingsphere/sql/parser/sql/common/extractor/TableExtractorTest.java
@@ -17,17 +17,6 @@
package org.apache.shardingsphere.sql.parser.sql.common.extractor;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.hasSize;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.mock;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.Optional;
import org.apache.shardingsphere.sql.parser.sql.common.enums.AggregationType;
import org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.routine.RoutineBodySegment;
import org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.routine.ValidStatementSegment;
@@ -48,6 +37,18 @@ import org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dml.MySQ
import org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dml.MySQLSelectStatement;
import org.junit.Test;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.Optional;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.hasSize;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+
public final class TableExtractorTest {
private final TableExtractor tableExtractor = new TableExtractor();
@@ -86,7 +87,7 @@ public final class TableExtractorTest {
public void assertExtractTablesFromInsert() {
MySQLInsertStatement mySQLInsertStatement = new MySQLInsertStatement();
mySQLInsertStatement.setTable(new SimpleTableSegment(new TableNameSegment(122, 128, new IdentifierValue("t_order"))));
- Collection<AssignmentSegment> assignmentSegments = new ArrayList<>();
+ Collection<AssignmentSegment> assignmentSegments = new LinkedList<>();
ColumnSegment columnSegment = new ColumnSegment(133, 136, new IdentifierValue("id"));
columnSegment.setOwner(new OwnerSegment(130, 132, new IdentifierValue("t_order")));
assignmentSegments.add(new ColumnAssignmentSegment(130, 140, Collections.singletonList(columnSegment), new LiteralExpressionSegment(141, 142, 1)));
diff --git a/test/integration-test/scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/base/BaseITCase.java b/test/integration-test/scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/base/BaseITCase.java
index 7c520438a27..88e4e2aa8ff 100644
--- a/test/integration-test/scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/base/BaseITCase.java
+++ b/test/integration-test/scaling/src/test/java/org/apache/shardingsphere/integration/data/pipeline/cases/base/BaseITCase.java
@@ -50,9 +50,11 @@ import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -282,12 +284,11 @@ public abstract class BaseITCase {
List<Map<String, Object>> listJobStatus = queryForListWithLog(distSQL);
log.info("show status result: {}", listJobStatus);
Set<String> actualStatus = new HashSet<>();
- List<Integer> incrementalIdleSecondsList = new ArrayList<>();
+ Collection<Integer> incrementalIdleSecondsList = new LinkedList<>();
for (Map<String, Object> each : listJobStatus) {
assertTrue("error_message is not null", Strings.isNullOrEmpty(each.get("error_message").toString()));
actualStatus.add(each.get("status").toString());
- String incrementalIdleSeconds = each.get("incremental_idle_seconds").toString();
- incrementalIdleSecondsList.add(Strings.isNullOrEmpty(incrementalIdleSeconds) ? 0 : Integer.parseInt(incrementalIdleSeconds));
+ incrementalIdleSecondsList.add(Integer.parseInt(each.getOrDefault("incremental_idle_seconds", "0").toString()));
}
assertFalse("status is JobStatus.PREPARING_FAILURE", actualStatus.contains(JobStatus.PREPARING_FAILURE.name()));
assertFalse("status is JobStatus.EXECUTE_INVENTORY_TASK_FAILURE", actualStatus.contains(JobStatus.EXECUTE_INVENTORY_TASK_FAILURE.name()));