zstan commented on code in PR #3335: URL: https://github.com/apache/ignite-3/pull/3335#discussion_r1523010061
########## modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/trait/Partitioned.java: ########## @@ -17,42 +17,40 @@ package org.apache.ignite.internal.sql.engine.trait; -import java.util.Collection; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; +import org.apache.ignite.internal.sql.engine.exec.NodeWithConsistencyToken; import org.apache.ignite.internal.sql.engine.exec.RowPartitionExtractor; -import org.apache.ignite.internal.sql.engine.util.Commons; /** * Partitioned. * TODO Documentation https://issues.apache.org/jira/browse/IGNITE-15859 */ public final class Partitioned<RowT> implements Destination<RowT> { - private final List<List<String>> assignments; + private final Map<Integer, NodeWithConsistencyToken> assignments; private final RowPartitionExtractor<RowT> calc; /** * Constructor. * TODO Documentation https://issues.apache.org/jira/browse/IGNITE-15859 */ - public Partitioned(List<String> assignments, RowPartitionExtractor<RowT> calc) { + public Partitioned(Map<Integer, NodeWithConsistencyToken> assignments, RowPartitionExtractor<RowT> calc) { this.calc = calc; - this.assignments = Commons.transform(assignments, List::of); + this.assignments = assignments; } /** {@inheritDoc} */ @Override public List<String> targets(RowT row) { int part = calc.partition(row); - return assignments.get(part); + return List.of(assignments.get(part).name()); } /** {@inheritDoc} */ @Override public List<String> targets() { - return assignments.stream() - .flatMap(Collection::stream) - .distinct().collect(Collectors.toList()); + return assignments.values().stream().map(NodeWithConsistencyToken::name).collect(Collectors.toUnmodifiableList()); Review Comment: done ########## modules/sql-engine/src/main/java/org/apache/ignite/internal/sql/engine/exec/ExecutionServiceImpl.java: ########## @@ -1044,7 +1044,7 @@ public IgniteRel visit(IgniteTableModify rel) { return super.visit(rel); } - private void enlist(int tableId, List<NodeWithConsistencyToken> assignments) { + private void enlist(int tableId, Map<Integer, NodeWithConsistencyToken> assignments) { Review Comment: done -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
