This is an automated email from the ASF dual-hosted git repository.
zhonghongsheng 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 3bf11396ac0 Refactor QueryRange (#37531)
3bf11396ac0 is described below
commit 3bf11396ac03529ff42391c307bb939a7d06126e
Author: Hongsheng Zhong <[email protected]>
AuthorDate: Fri Dec 26 16:01:53 2025 +0800
Refactor QueryRange (#37531)
* Rename QueryRange to Range
* Replace QueryRange in method name
* Rename Range fields
---
.../table/MatchingTableInventoryChecker.java | 6 +--
.../ingest/dumper/inventory/InventoryDumper.java | 8 ++--
.../query/{QueryRange.java => Range.java} | 20 +++++-----
.../AbstractRecordTableInventoryCalculator.java | 18 ++++-----
.../TableInventoryCalculateParameter.java | 18 ++++-----
.../position/InventoryPositionCalculator.java | 4 +-
.../InventoryPositionEstimatedCalculator.java | 15 ++++---
.../sql/PipelineInventoryCalculateSQLBuilder.java | 30 +++++++-------
.../InventoryPositionEstimatedCalculatorTest.java | 12 +++---
.../PipelineInventoryCalculateSQLBuilderTest.java | 46 +++++++++++-----------
.../RecordTableInventoryCheckCalculatorTest.java | 34 ++++++++--------
11 files changed, 105 insertions(+), 106 deletions(-)
diff --git
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/consistencycheck/table/MatchingTableInventoryChecker.java
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/consistencycheck/table/MatchingTableInventoryChecker.java
index 368ac96c2ee..cdab31588e8 100644
---
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/consistencycheck/table/MatchingTableInventoryChecker.java
+++
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/consistencycheck/table/MatchingTableInventoryChecker.java
@@ -27,7 +27,7 @@ import
org.apache.shardingsphere.data.pipeline.core.consistencycheck.result.Tabl
import
org.apache.shardingsphere.data.pipeline.core.consistencycheck.result.yaml.YamlTableDataConsistencyCheckResult;
import
org.apache.shardingsphere.data.pipeline.core.consistencycheck.result.yaml.YamlTableDataConsistencyCheckResultSwapper;
import
org.apache.shardingsphere.data.pipeline.core.constant.PipelineSQLOperationType;
-import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.QueryRange;
+import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.Range;
import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.QueryType;
import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.calculator.TableInventoryCalculateParameter;
import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.calculator.TableInventoryCalculator;
@@ -77,7 +77,7 @@ public abstract class MatchingTableInventoryChecker
implements TableInventoryChe
TableInventoryCalculateParameter sourceParam = new
TableInventoryCalculateParameter(param.getSourceDataSource(),
param.getSourceTable(),
param.getColumnNames(), param.getUniqueKeys(),
QueryType.RANGE_QUERY, param.getQueryCondition());
TableCheckRangePosition checkRangePosition =
param.getProgressContext().getTableCheckRangePositions().get(param.getSplittingItem());
- sourceParam.setQueryRange(new QueryRange(null !=
checkRangePosition.getSourcePosition() ? checkRangePosition.getSourcePosition()
: checkRangePosition.getSourceRange().getBeginValue(),
+ sourceParam.setRange(new Range(null !=
checkRangePosition.getSourcePosition() ? checkRangePosition.getSourcePosition()
: checkRangePosition.getSourceRange().getBeginValue(),
true, checkRangePosition.getSourceRange().getEndValue()));
TableInventoryCalculateParameter targetParam =
getTableInventoryCalculateParameter(param, checkRangePosition);
TableInventoryCalculator<TableInventoryCheckCalculatedResult>
sourceCalculator = buildSingleTableInventoryCalculator();
@@ -132,7 +132,7 @@ public abstract class MatchingTableInventoryChecker
implements TableInventoryChe
private TableInventoryCalculateParameter
getTableInventoryCalculateParameter(final TableInventoryCheckParameter param,
final TableCheckRangePosition checkRangePosition) {
TableInventoryCalculateParameter result = new
TableInventoryCalculateParameter(param.getTargetDataSource(),
param.getTargetTable(),
param.getColumnNames(), param.getUniqueKeys(),
QueryType.RANGE_QUERY, param.getQueryCondition());
- result.setQueryRange(new QueryRange(null !=
checkRangePosition.getTargetPosition() ? checkRangePosition.getTargetPosition()
: checkRangePosition.getTargetRange().getBeginValue(),
+ result.setRange(new Range(null !=
checkRangePosition.getTargetPosition() ? checkRangePosition.getTargetPosition()
: checkRangePosition.getTargetRange().getBeginValue(),
true, checkRangePosition.getTargetRange().getEndValue()));
return result;
}
diff --git
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/ingest/dumper/inventory/InventoryDumper.java
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/ingest/dumper/inventory/InventoryDumper.java
index c06585e4ef7..f2118cc1f60 100644
---
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/ingest/dumper/inventory/InventoryDumper.java
+++
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/ingest/dumper/inventory/InventoryDumper.java
@@ -27,7 +27,7 @@ import
org.apache.shardingsphere.data.pipeline.core.execute.AbstractPipelineLife
import org.apache.shardingsphere.data.pipeline.core.ingest.dumper.Dumper;
import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.column.InventoryColumnValueReaderEngine;
import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.position.InventoryDataRecordPositionCreator;
-import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.QueryRange;
+import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.Range;
import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.QueryType;
import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.StreamingRangeType;
import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.calculator.AbstractRecordTableInventoryCalculator;
@@ -124,15 +124,15 @@ public final class InventoryDumper extends
AbstractPipelineLifecycleRunnable imp
List<String> columnNames = dumperContext.getQueryColumnNames();
TableInventoryCalculateParameter calculateParam = new
TableInventoryCalculateParameter(dataSource, table,
columnNames, dumperContext.getUniqueKeyColumns(),
QueryType.RANGE_QUERY, null);
- QueryRange queryRange = new QueryRange(((PrimaryKeyIngestPosition<?>)
initialPosition).getBeginValue(), true, ((PrimaryKeyIngestPosition<?>)
initialPosition).getEndValue());
- calculateParam.setQueryRange(queryRange);
+ Range range = new Range(((PrimaryKeyIngestPosition<?>)
initialPosition).getBeginValue(), true, ((PrimaryKeyIngestPosition<?>)
initialPosition).getEndValue());
+ calculateParam.setRange(range);
RecordTableInventoryDumpCalculator dumpCalculator = new
RecordTableInventoryDumpCalculator(dumperContext.getBatchSize(),
StreamingRangeType.SMALL);
long rowCount = 0L;
try {
String firstUniqueKey =
calculateParam.getFirstUniqueKey().getName();
for (List<DataRecord> each :
dumpCalculator.calculate(calculateParam)) {
channel.push(Collections.unmodifiableList(each));
- IngestPosition position =
PrimaryKeyIngestPositionFactory.newInstance(dumpCalculator.getFirstUniqueKeyValue(each.get(each.size()
- 1), firstUniqueKey), queryRange.getUpper());
+ IngestPosition position =
PrimaryKeyIngestPositionFactory.newInstance(dumpCalculator.getFirstUniqueKeyValue(each.get(each.size()
- 1), firstUniqueKey), range.getUpperBound());
dumperContext.getCommonContext().setPosition(position);
rowCount += each.size();
}
diff --git
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/ingest/dumper/inventory/query/QueryRange.java
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/ingest/dumper/inventory/query/Range.java
similarity index 74%
rename from
kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/ingest/dumper/inventory/query/QueryRange.java
rename to
kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/ingest/dumper/inventory/query/Range.java
index 5f2469fdfa0..158a401176c 100644
---
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/ingest/dumper/inventory/query/QueryRange.java
+++
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/ingest/dumper/inventory/query/Range.java
@@ -21,26 +21,26 @@ import lombok.Getter;
import lombok.RequiredArgsConstructor;
/**
- * Query range.
+ * Range.
*/
@RequiredArgsConstructor
@Getter
-public final class QueryRange {
+public final class Range {
- private final Object lower;
+ private final Object lowerBound;
private final boolean lowerInclusive;
- private final Object upper;
+ private final Object upperBound;
/**
- * Create closed query range.
+ * Create closed range.
*
- * @param lower lower value
- * @param upper upper value
- * @return query range
+ * @param lowerBound lower bound
+ * @param upperBound upper bound
+ * @return closed range
*/
- public static QueryRange closed(final Object lower, final Object upper) {
- return new QueryRange(lower, true, upper);
+ public static Range closed(final Object lowerBound, final Object
upperBound) {
+ return new Range(lowerBound, true, upperBound);
}
}
diff --git
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/ingest/dumper/inventory/query/calculator/AbstractRecordTableInventoryCalculator.java
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/ingest/dumper/inventory/query/calculator/AbstractRecordTableInventoryCalculator.java
index 87147b1c43f..e523fd2b187 100644
---
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/ingest/dumper/inventory/query/calculator/AbstractRecordTableInventoryCalculator.java
+++
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/ingest/dumper/inventory/query/calculator/AbstractRecordTableInventoryCalculator.java
@@ -24,7 +24,7 @@ import
org.apache.shardingsphere.data.pipeline.core.exception.PipelineJobCanceli
import
org.apache.shardingsphere.data.pipeline.core.exception.data.PipelineTableDataConsistencyCheckLoadingFailedException;
import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.column.InventoryColumnValueReaderEngine;
import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.PipelineDatabaseResources;
-import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.QueryRange;
+import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.Range;
import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.QueryType;
import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.StreamingRangeType;
import
org.apache.shardingsphere.data.pipeline.core.query.JDBCStreamQueryBuilder;
@@ -76,7 +76,7 @@ public abstract class
AbstractRecordTableInventoryCalculator<S, C> extends Abstr
}
Object maxUniqueKeyValue =
getFirstUniqueKeyValue(records.get(records.size() - 1),
param.getFirstUniqueKey().getName());
if (QueryType.RANGE_QUERY == param.getQueryType()) {
- param.setQueryRange(new QueryRange(maxUniqueKeyValue, false,
param.getQueryRange().getUpper()));
+ param.setRange(new Range(maxUniqueKeyValue, false,
param.getRange().getUpperBound()));
}
return Optional.of(convertRecordsToResult(records, maxUniqueKeyValue));
}
@@ -266,7 +266,7 @@ public abstract class
AbstractRecordTableInventoryCalculator<S, C> extends Abstr
Collection<String> columnNames = param.getColumnNames().isEmpty() ?
Collections.singleton("*") : param.getColumnNames();
switch (param.getQueryType()) {
case RANGE_QUERY:
- return
pipelineSQLBuilder.buildQueryRangeOrderingSQL(param.getTable(), columnNames,
param.getUniqueKeysNames(), param.getQueryRange(),
+ return
pipelineSQLBuilder.buildRangeQueryOrderingSQL(param.getTable(), columnNames,
param.getUniqueKeysNames(), param.getRange(),
StreamingRangeType.SMALL == streamingRangeType,
param.getShardingColumnsNames());
case POINT_QUERY:
return pipelineSQLBuilder.buildPointQuerySQL(param.getTable(),
columnNames, param.getUniqueKeysNames(), param.getShardingColumnsNames());
@@ -278,15 +278,15 @@ public abstract class
AbstractRecordTableInventoryCalculator<S, C> extends Abstr
private void setParameters(final PreparedStatement preparedStatement,
final TableInventoryCalculateParameter param) throws SQLException {
QueryType queryType = param.getQueryType();
if (queryType == QueryType.RANGE_QUERY) {
- QueryRange queryRange = param.getQueryRange();
- ShardingSpherePreconditions.checkNotNull(queryRange,
+ Range range = param.getRange();
+ ShardingSpherePreconditions.checkNotNull(range,
() -> new
PipelineTableDataConsistencyCheckLoadingFailedException(param.getTable(), new
RuntimeException("Unique keys values range is null.")));
int parameterIndex = 1;
- if (null != queryRange.getLower()) {
- preparedStatement.setObject(parameterIndex++,
queryRange.getLower());
+ if (null != range.getLowerBound()) {
+ preparedStatement.setObject(parameterIndex++,
range.getLowerBound());
}
- if (null != queryRange.getUpper()) {
- preparedStatement.setObject(parameterIndex++,
queryRange.getUpper());
+ if (null != range.getUpperBound()) {
+ preparedStatement.setObject(parameterIndex++,
range.getUpperBound());
}
if (StreamingRangeType.SMALL == streamingRangeType) {
preparedStatement.setObject(parameterIndex, chunkSize *
streamingChunkCount);
diff --git
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/ingest/dumper/inventory/query/calculator/TableInventoryCalculateParameter.java
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/ingest/dumper/inventory/query/calculator/TableInventoryCalculateParameter.java
index 08c1335e922..e6ce91b6171 100644
---
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/ingest/dumper/inventory/query/calculator/TableInventoryCalculateParameter.java
+++
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/ingest/dumper/inventory/query/calculator/TableInventoryCalculateParameter.java
@@ -20,7 +20,7 @@ package
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.que
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.data.pipeline.core.datasource.PipelineDataSource;
-import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.QueryRange;
+import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.Range;
import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.QueryType;
import
org.apache.shardingsphere.data.pipeline.core.metadata.model.PipelineColumnMetaData;
import org.apache.shardingsphere.database.connector.core.type.DatabaseType;
@@ -60,7 +60,7 @@ public final class TableInventoryCalculateParameter {
private final AtomicReference<Collection<Object>> uniqueKeysValues = new
AtomicReference<>();
- private final AtomicReference<QueryRange> uniqueKeysValuesRange = new
AtomicReference<>();
+ private final AtomicReference<Range> uniqueKeysValuesRange = new
AtomicReference<>();
private final AtomicReference<List<String>> shardingColumnsNames = new
AtomicReference<>();
@@ -134,21 +134,21 @@ public final class TableInventoryCalculateParameter {
}
/**
- * Get query range.
+ * Get range.
*
- * @return query range
+ * @return range
*/
- public QueryRange getQueryRange() {
+ public Range getRange() {
return uniqueKeysValuesRange.get();
}
/**
- * Set query range.
+ * Set range.
*
- * @param queryRange query range
+ * @param range range
*/
- public void setQueryRange(final QueryRange queryRange) {
- uniqueKeysValuesRange.set(queryRange);
+ public void setRange(final Range range) {
+ uniqueKeysValuesRange.set(range);
}
/**
diff --git
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/inventory/calculator/position/InventoryPositionCalculator.java
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/inventory/calculator/position/InventoryPositionCalculator.java
index b1bbd93484e..87728d698c4 100644
---
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/inventory/calculator/position/InventoryPositionCalculator.java
+++
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/inventory/calculator/position/InventoryPositionCalculator.java
@@ -19,7 +19,7 @@ package
org.apache.shardingsphere.data.pipeline.core.preparer.inventory.calculat
import lombok.RequiredArgsConstructor;
import
org.apache.shardingsphere.data.pipeline.core.datasource.PipelineDataSource;
-import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.QueryRange;
+import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.Range;
import
org.apache.shardingsphere.data.pipeline.core.ingest.position.IngestPosition;
import
org.apache.shardingsphere.data.pipeline.core.ingest.position.type.pk.type.StringPrimaryKeyIngestPosition;
import
org.apache.shardingsphere.data.pipeline.core.ingest.position.type.pk.type.UnsupportedKeyIngestPosition;
@@ -58,7 +58,7 @@ public final class InventoryPositionCalculator {
int firstColumnDataType = uniqueKeyColumns.get(0).getDataType();
if (dataTypeOption.isIntegerDataType(firstColumnDataType)) {
String uniqueKey = uniqueKeyColumns.get(0).getName();
- QueryRange uniqueKeyValuesRange =
InventoryPositionEstimatedCalculator.getIntegerUniqueKeyValuesRange(qualifiedTable,
uniqueKey, dataSource);
+ Range uniqueKeyValuesRange =
InventoryPositionEstimatedCalculator.getIntegerUniqueKeyValuesRange(qualifiedTable,
uniqueKey, dataSource);
return
InventoryPositionEstimatedCalculator.getIntegerPositions(tableRecordsCount,
uniqueKeyValuesRange, shardingSize);
}
if (1 == uniqueKeyColumns.size() &&
dataTypeOption.isStringDataType(firstColumnDataType)) {
diff --git
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/inventory/calculator/position/estimated/InventoryPositionEstimatedCalculator.java
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/inventory/calculator/position/estimated/InventoryPositionEstimatedCalculator.java
index aec8ef6ad2d..6e6bd1506ce 100644
---
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/inventory/calculator/position/estimated/InventoryPositionEstimatedCalculator.java
+++
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/inventory/calculator/position/estimated/InventoryPositionEstimatedCalculator.java
@@ -19,10 +19,9 @@ package
org.apache.shardingsphere.data.pipeline.core.preparer.inventory.calculat
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
-import org.apache.commons.lang3.Range;
import
org.apache.shardingsphere.data.pipeline.core.datasource.PipelineDataSource;
import
org.apache.shardingsphere.data.pipeline.core.exception.job.SplitPipelineJobByUniqueKeyException;
-import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.QueryRange;
+import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.Range;
import
org.apache.shardingsphere.data.pipeline.core.ingest.position.IngestPosition;
import
org.apache.shardingsphere.data.pipeline.core.ingest.position.type.pk.type.IntegerPrimaryKeyIngestPosition;
import
org.apache.shardingsphere.data.pipeline.core.sqlbuilder.sql.PipelinePrepareSQLBuilder;
@@ -53,7 +52,7 @@ public final class InventoryPositionEstimatedCalculator {
* @return unique key values range
* @throws SplitPipelineJobByUniqueKeyException if an error occurs while
getting unique key values range
*/
- public static QueryRange getIntegerUniqueKeyValuesRange(final
QualifiedTable qualifiedTable, final String uniqueKey, final PipelineDataSource
dataSource) {
+ public static Range getIntegerUniqueKeyValuesRange(final QualifiedTable
qualifiedTable, final String uniqueKey, final PipelineDataSource dataSource) {
PipelinePrepareSQLBuilder pipelineSQLBuilder = new
PipelinePrepareSQLBuilder(dataSource.getDatabaseType());
String sql =
pipelineSQLBuilder.buildUniqueKeyMinMaxValuesSQL(qualifiedTable.getSchemaName(),
qualifiedTable.getTableName(), uniqueKey);
try (
@@ -61,7 +60,7 @@ public final class InventoryPositionEstimatedCalculator {
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(sql)) {
resultSet.next();
- return QueryRange.closed(resultSet.getLong(1),
resultSet.getLong(2));
+ return Range.closed(resultSet.getLong(1), resultSet.getLong(2));
} catch (final SQLException ex) {
throw new
SplitPipelineJobByUniqueKeyException(qualifiedTable.getTableName(), uniqueKey,
ex);
}
@@ -75,9 +74,9 @@ public final class InventoryPositionEstimatedCalculator {
* @param shardingSize sharding size
* @return positions
*/
- public static List<IngestPosition> getIntegerPositions(final long
tableRecordsCount, final QueryRange uniqueKeyValuesRange, final long
shardingSize) {
- Long minimum = (Long) uniqueKeyValuesRange.getLower();
- Long maximum = (Long) uniqueKeyValuesRange.getUpper();
+ public static List<IngestPosition> getIntegerPositions(final long
tableRecordsCount, final Range uniqueKeyValuesRange, final long shardingSize) {
+ Long minimum = (Long) uniqueKeyValuesRange.getLowerBound();
+ Long maximum = (Long) uniqueKeyValuesRange.getUpperBound();
if (0 == tableRecordsCount || null == minimum || null == maximum) {
return Collections.singletonList(new
IntegerPrimaryKeyIngestPosition(null, null));
}
@@ -86,7 +85,7 @@ public final class InventoryPositionEstimatedCalculator {
long interval =
BigInteger.valueOf(maximum).subtract(BigInteger.valueOf(minimum)).divide(BigInteger.valueOf(splitCount)).longValue();
IntervalToRangeIterator rangeIterator = new
IntervalToRangeIterator(minimum, maximum, interval);
while (rangeIterator.hasNext()) {
- Range<Long> range = rangeIterator.next();
+ org.apache.commons.lang3.Range<Long> range = rangeIterator.next();
result.add(new IntegerPrimaryKeyIngestPosition(range.getMinimum(),
range.getMaximum()));
}
return result;
diff --git
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/sql/PipelineInventoryCalculateSQLBuilder.java
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/sql/PipelineInventoryCalculateSQLBuilder.java
index 711647fb5ab..503687d13aa 100644
---
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/sql/PipelineInventoryCalculateSQLBuilder.java
+++
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/sql/PipelineInventoryCalculateSQLBuilder.java
@@ -17,7 +17,7 @@
package org.apache.shardingsphere.data.pipeline.core.sqlbuilder.sql;
-import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.QueryRange;
+import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.Range;
import
org.apache.shardingsphere.data.pipeline.core.sqlbuilder.dialect.DialectPipelineSQLBuilder;
import
org.apache.shardingsphere.data.pipeline.core.sqlbuilder.segment.PipelineSQLSegmentBuilder;
import
org.apache.shardingsphere.database.connector.core.spi.DatabaseTypedSPILoader;
@@ -44,49 +44,49 @@ public final class PipelineInventoryCalculateSQLBuilder {
}
/**
- * Build query range ordering SQL.
+ * Build range query ordering SQL.
*
* @param qualifiedTable qualified table
* @param columnNames column names
* @param uniqueKeys unique keys, it may be primary key, not null
- * @param queryRange query range
+ * @param range range
* @param pageQuery whether it is page query
* @param shardingColumnsNames sharding columns names
* @return built SQL
*/
- public String buildQueryRangeOrderingSQL(final QualifiedTable
qualifiedTable, final Collection<String> columnNames, final List<String>
uniqueKeys, final QueryRange queryRange,
+ public String buildRangeQueryOrderingSQL(final QualifiedTable
qualifiedTable, final Collection<String> columnNames, final List<String>
uniqueKeys, final Range range,
final boolean pageQuery, final
List<String> shardingColumnsNames) {
- String result = buildQueryRangeOrderingSQL0(qualifiedTable,
columnNames, uniqueKeys, queryRange, shardingColumnsNames);
+ String result = buildRangeQueryOrderingSQL0(qualifiedTable,
columnNames, uniqueKeys, range, shardingColumnsNames);
return pageQuery ? dialectSQLBuilder.wrapWithPageQuery(result) :
result;
}
- private String buildQueryRangeOrderingSQL0(final QualifiedTable
qualifiedTable, final Collection<String> columnNames, final List<String>
uniqueKeys, final QueryRange queryRange,
+ private String buildRangeQueryOrderingSQL0(final QualifiedTable
qualifiedTable, final Collection<String> columnNames, final List<String>
uniqueKeys, final Range range,
final List<String>
shardingColumnsNames) {
String qualifiedTableName =
sqlSegmentBuilder.getQualifiedTableName(qualifiedTable);
String queryColumns =
columnNames.stream().map(sqlSegmentBuilder::getEscapedIdentifier).collect(Collectors.joining(","));
String firstUniqueKey = uniqueKeys.get(0);
String orderByColumns = joinColumns(uniqueKeys,
shardingColumnsNames).stream().map(each ->
sqlSegmentBuilder.getEscapedIdentifier(each) + "
ASC").collect(Collectors.joining(", "));
- if (null != queryRange.getLower() && null != queryRange.getUpper()) {
+ if (null != range.getLowerBound() && null != range.getUpperBound()) {
return String.format("SELECT %s FROM %s WHERE %s AND %s ORDER BY
%s", queryColumns, qualifiedTableName,
-
buildLowerQueryRangeCondition(queryRange.isLowerInclusive(), firstUniqueKey),
- buildUpperQueryRangeCondition(firstUniqueKey),
orderByColumns);
- } else if (null != queryRange.getLower()) {
+ buildRangeQueryLowerCondition(range.isLowerInclusive(),
firstUniqueKey),
+ buildRangeQueryUpperCondition(firstUniqueKey),
orderByColumns);
+ } else if (null != range.getLowerBound()) {
return String.format("SELECT %s FROM %s WHERE %s ORDER BY %s",
queryColumns, qualifiedTableName,
-
buildLowerQueryRangeCondition(queryRange.isLowerInclusive(), firstUniqueKey),
orderByColumns);
- } else if (null != queryRange.getUpper()) {
+ buildRangeQueryLowerCondition(range.isLowerInclusive(),
firstUniqueKey), orderByColumns);
+ } else if (null != range.getUpperBound()) {
return String.format("SELECT %s FROM %s WHERE %s ORDER BY %s",
queryColumns, qualifiedTableName,
- buildUpperQueryRangeCondition(firstUniqueKey),
orderByColumns);
+ buildRangeQueryUpperCondition(firstUniqueKey),
orderByColumns);
} else {
return String.format("SELECT %s FROM %s ORDER BY %s",
queryColumns, qualifiedTableName, orderByColumns);
}
}
- private String buildLowerQueryRangeCondition(final boolean inclusive,
final String firstUniqueKey) {
+ private String buildRangeQueryLowerCondition(final boolean inclusive,
final String firstUniqueKey) {
String delimiter = inclusive ? ">=?" : ">?";
return sqlSegmentBuilder.getEscapedIdentifier(firstUniqueKey) +
delimiter;
}
- private String buildUpperQueryRangeCondition(final String firstUniqueKey) {
+ private String buildRangeQueryUpperCondition(final String firstUniqueKey) {
return sqlSegmentBuilder.getEscapedIdentifier(firstUniqueKey) + "<=?";
}
diff --git
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/preparer/inventory/calculator/position/estimated/InventoryPositionEstimatedCalculatorTest.java
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/preparer/inventory/calculator/position/estimated/InventoryPositionEstimatedCalculatorTest.java
index c1c6feed291..7fd1b129f4b 100644
---
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/preparer/inventory/calculator/position/estimated/InventoryPositionEstimatedCalculatorTest.java
+++
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/preparer/inventory/calculator/position/estimated/InventoryPositionEstimatedCalculatorTest.java
@@ -17,7 +17,7 @@
package
org.apache.shardingsphere.data.pipeline.core.preparer.inventory.calculator.position.estimated;
-import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.QueryRange;
+import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.Range;
import
org.apache.shardingsphere.data.pipeline.core.ingest.position.IngestPosition;
import
org.apache.shardingsphere.data.pipeline.core.ingest.position.type.pk.type.IntegerPrimaryKeyIngestPosition;
import org.junit.jupiter.api.Test;
@@ -32,7 +32,7 @@ class InventoryPositionEstimatedCalculatorTest {
@Test
void assertGetIntegerPositions() {
- List<IngestPosition> actualPositions =
InventoryPositionEstimatedCalculator.getIntegerPositions(200L,
QueryRange.closed(1L, 600L), 100L);
+ List<IngestPosition> actualPositions =
InventoryPositionEstimatedCalculator.getIntegerPositions(200L, Range.closed(1L,
600L), 100L);
assertThat(actualPositions.size(), is(2));
assertPosition(actualPositions.get(0), new
IntegerPrimaryKeyIngestPosition(1L, 300L));
assertPosition(actualPositions.get(1), new
IntegerPrimaryKeyIngestPosition(301L, 600L));
@@ -46,21 +46,21 @@ class InventoryPositionEstimatedCalculatorTest {
@Test
void assertGetIntegerPositionsWithZeroTotalRecordsCount() {
- List<IngestPosition> actualPositions =
InventoryPositionEstimatedCalculator.getIntegerPositions(0L,
QueryRange.closed(0L, 1L), 1L);
+ List<IngestPosition> actualPositions =
InventoryPositionEstimatedCalculator.getIntegerPositions(0L, Range.closed(0L,
1L), 1L);
assertThat(actualPositions.size(), is(1));
assertPosition(actualPositions.get(0), new
IntegerPrimaryKeyIngestPosition(null, null));
}
@Test
void assertGetIntegerPositionsWithNullValue() {
- List<IngestPosition> actualPositions =
InventoryPositionEstimatedCalculator.getIntegerPositions(200L,
QueryRange.closed(null, null), 1L);
+ List<IngestPosition> actualPositions =
InventoryPositionEstimatedCalculator.getIntegerPositions(200L,
Range.closed(null, null), 1L);
assertThat(actualPositions.size(), is(1));
assertPosition(actualPositions.get(0), new
IntegerPrimaryKeyIngestPosition(null, null));
}
@Test
void assertGetIntegerPositionsWithTheSameMinMax() {
- List<IngestPosition> actualPositions =
InventoryPositionEstimatedCalculator.getIntegerPositions(200L,
QueryRange.closed(5L, 5L), 100L);
+ List<IngestPosition> actualPositions =
InventoryPositionEstimatedCalculator.getIntegerPositions(200L, Range.closed(5L,
5L), 100L);
assertThat(actualPositions.size(), is(1));
assertPosition(actualPositions.get(0), new
IntegerPrimaryKeyIngestPosition(5L, 5L));
}
@@ -71,7 +71,7 @@ class InventoryPositionEstimatedCalculatorTest {
long shardingSize = tableRecordsCount / 2L;
long minimum = Long.MIN_VALUE + 1L;
long maximum = Long.MAX_VALUE;
- List<IngestPosition> actualPositions =
InventoryPositionEstimatedCalculator.getIntegerPositions(tableRecordsCount,
QueryRange.closed(minimum, maximum), shardingSize);
+ List<IngestPosition> actualPositions =
InventoryPositionEstimatedCalculator.getIntegerPositions(tableRecordsCount,
Range.closed(minimum, maximum), shardingSize);
assertThat(actualPositions.size(), is(2));
assertPosition(actualPositions.get(0), new
IntegerPrimaryKeyIngestPosition(minimum, 0L));
assertPosition(actualPositions.get(1), new
IntegerPrimaryKeyIngestPosition(1L, maximum));
diff --git
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/sql/PipelineInventoryCalculateSQLBuilderTest.java
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/sql/PipelineInventoryCalculateSQLBuilderTest.java
index 026ded60638..92420ff48c2 100644
---
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/sql/PipelineInventoryCalculateSQLBuilderTest.java
+++
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/sql/PipelineInventoryCalculateSQLBuilderTest.java
@@ -17,7 +17,7 @@
package org.apache.shardingsphere.data.pipeline.core.sqlbuilder.sql;
-import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.QueryRange;
+import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.Range;
import org.apache.shardingsphere.database.connector.core.type.DatabaseType;
import org.apache.shardingsphere.infra.metadata.database.schema.QualifiedTable;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
@@ -42,40 +42,40 @@ class PipelineInventoryCalculateSQLBuilderTest {
private final PipelineInventoryCalculateSQLBuilder sqlBuilder = new
PipelineInventoryCalculateSQLBuilder(TypedSPILoader.getService(DatabaseType.class,
"FIXTURE"));
@Test
- void assertBuildQueryRangeOrderingSQLPageQuery() {
- String actual = sqlBuilder.buildQueryRangeOrderingSQL(new
QualifiedTable(null, "t_order"), COLUMN_NAMES, UNIQUE_KEYS,
- new QueryRange(1, true, 5), true, SHARDING_COLUMNS_NAMES);
+ void assertBuildRangeQueryOrderingSQLPageQuery() {
+ String actual = sqlBuilder.buildRangeQueryOrderingSQL(new
QualifiedTable(null, "t_order"), COLUMN_NAMES, UNIQUE_KEYS,
+ new Range(1, true, 5), true, SHARDING_COLUMNS_NAMES);
assertThat(actual, is("SELECT order_id,user_id,status FROM t_order
WHERE order_id>=? AND order_id<=? ORDER BY order_id ASC, status ASC, user_id
ASC LIMIT ?"));
- actual = sqlBuilder.buildQueryRangeOrderingSQL(new
QualifiedTable(null, "t_order"), COLUMN_NAMES, UNIQUE_KEYS,
- new QueryRange(1, false, 5), true, SHARDING_COLUMNS_NAMES);
+ actual = sqlBuilder.buildRangeQueryOrderingSQL(new
QualifiedTable(null, "t_order"), COLUMN_NAMES, UNIQUE_KEYS,
+ new Range(1, false, 5), true, SHARDING_COLUMNS_NAMES);
assertThat(actual, is("SELECT order_id,user_id,status FROM t_order
WHERE order_id>? AND order_id<=? ORDER BY order_id ASC, status ASC, user_id ASC
LIMIT ?"));
- actual = sqlBuilder.buildQueryRangeOrderingSQL(new
QualifiedTable(null, "t_order"), COLUMN_NAMES, UNIQUE_KEYS,
- new QueryRange(1, false, null), true, SHARDING_COLUMNS_NAMES);
+ actual = sqlBuilder.buildRangeQueryOrderingSQL(new
QualifiedTable(null, "t_order"), COLUMN_NAMES, UNIQUE_KEYS,
+ new Range(1, false, null), true, SHARDING_COLUMNS_NAMES);
assertThat(actual, is("SELECT order_id,user_id,status FROM t_order
WHERE order_id>? ORDER BY order_id ASC, status ASC, user_id ASC LIMIT ?"));
- actual = sqlBuilder.buildQueryRangeOrderingSQL(new
QualifiedTable(null, "t_order"), COLUMN_NAMES, UNIQUE_KEYS,
- new QueryRange(null, false, 5), true, SHARDING_COLUMNS_NAMES);
+ actual = sqlBuilder.buildRangeQueryOrderingSQL(new
QualifiedTable(null, "t_order"), COLUMN_NAMES, UNIQUE_KEYS,
+ new Range(null, false, 5), true, SHARDING_COLUMNS_NAMES);
assertThat(actual, is("SELECT order_id,user_id,status FROM t_order
WHERE order_id<=? ORDER BY order_id ASC, status ASC, user_id ASC LIMIT ?"));
- actual = sqlBuilder.buildQueryRangeOrderingSQL(new
QualifiedTable(null, "t_order"), COLUMN_NAMES, UNIQUE_KEYS,
- new QueryRange(null, false, null), true,
SHARDING_COLUMNS_NAMES);
+ actual = sqlBuilder.buildRangeQueryOrderingSQL(new
QualifiedTable(null, "t_order"), COLUMN_NAMES, UNIQUE_KEYS,
+ new Range(null, false, null), true, SHARDING_COLUMNS_NAMES);
assertThat(actual, is("SELECT order_id,user_id,status FROM t_order
ORDER BY order_id ASC, status ASC, user_id ASC LIMIT ?"));
}
@Test
- void assertBuildQueryRangeOrderingSQLNotPageQuery() {
- String actual = sqlBuilder.buildQueryRangeOrderingSQL(new
QualifiedTable(null, "t_order"), COLUMN_NAMES, UNIQUE_KEYS,
- new QueryRange(1, true, 5), false, SHARDING_COLUMNS_NAMES);
+ void assertBuildRangeQueryOrderingSQLNotPageQuery() {
+ String actual = sqlBuilder.buildRangeQueryOrderingSQL(new
QualifiedTable(null, "t_order"), COLUMN_NAMES, UNIQUE_KEYS,
+ new Range(1, true, 5), false, SHARDING_COLUMNS_NAMES);
assertThat(actual, is("SELECT order_id,user_id,status FROM t_order
WHERE order_id>=? AND order_id<=? ORDER BY order_id ASC, status ASC, user_id
ASC"));
- actual = sqlBuilder.buildQueryRangeOrderingSQL(new
QualifiedTable(null, "t_order"), COLUMN_NAMES, UNIQUE_KEYS,
- new QueryRange(1, false, 5), false, SHARDING_COLUMNS_NAMES);
+ actual = sqlBuilder.buildRangeQueryOrderingSQL(new
QualifiedTable(null, "t_order"), COLUMN_NAMES, UNIQUE_KEYS,
+ new Range(1, false, 5), false, SHARDING_COLUMNS_NAMES);
assertThat(actual, is("SELECT order_id,user_id,status FROM t_order
WHERE order_id>? AND order_id<=? ORDER BY order_id ASC, status ASC, user_id
ASC"));
- actual = sqlBuilder.buildQueryRangeOrderingSQL(new
QualifiedTable(null, "t_order"), COLUMN_NAMES, UNIQUE_KEYS,
- new QueryRange(1, false, null), false, SHARDING_COLUMNS_NAMES);
+ actual = sqlBuilder.buildRangeQueryOrderingSQL(new
QualifiedTable(null, "t_order"), COLUMN_NAMES, UNIQUE_KEYS,
+ new Range(1, false, null), false, SHARDING_COLUMNS_NAMES);
assertThat(actual, is("SELECT order_id,user_id,status FROM t_order
WHERE order_id>? ORDER BY order_id ASC, status ASC, user_id ASC"));
- actual = sqlBuilder.buildQueryRangeOrderingSQL(new
QualifiedTable(null, "t_order"), COLUMN_NAMES, UNIQUE_KEYS,
- new QueryRange(null, false, 5), false, SHARDING_COLUMNS_NAMES);
+ actual = sqlBuilder.buildRangeQueryOrderingSQL(new
QualifiedTable(null, "t_order"), COLUMN_NAMES, UNIQUE_KEYS,
+ new Range(null, false, 5), false, SHARDING_COLUMNS_NAMES);
assertThat(actual, is("SELECT order_id,user_id,status FROM t_order
WHERE order_id<=? ORDER BY order_id ASC, status ASC, user_id ASC"));
- actual = sqlBuilder.buildQueryRangeOrderingSQL(new
QualifiedTable(null, "t_order"), COLUMN_NAMES, UNIQUE_KEYS,
- new QueryRange(null, false, null), false,
SHARDING_COLUMNS_NAMES);
+ actual = sqlBuilder.buildRangeQueryOrderingSQL(new
QualifiedTable(null, "t_order"), COLUMN_NAMES, UNIQUE_KEYS,
+ new Range(null, false, null), false, SHARDING_COLUMNS_NAMES);
assertThat(actual, is("SELECT order_id,user_id,status FROM t_order
ORDER BY order_id ASC, status ASC, user_id ASC"));
}
diff --git
a/test/it/pipeline/src/test/java/org/apache/shardingsphere/data/pipeline/core/consistencycheck/table/calculator/RecordTableInventoryCheckCalculatorTest.java
b/test/it/pipeline/src/test/java/org/apache/shardingsphere/data/pipeline/core/consistencycheck/table/calculator/RecordTableInventoryCheckCalculatorTest.java
index 847ac735a95..e9d1016440e 100644
---
a/test/it/pipeline/src/test/java/org/apache/shardingsphere/data/pipeline/core/consistencycheck/table/calculator/RecordTableInventoryCheckCalculatorTest.java
+++
b/test/it/pipeline/src/test/java/org/apache/shardingsphere/data/pipeline/core/consistencycheck/table/calculator/RecordTableInventoryCheckCalculatorTest.java
@@ -21,7 +21,7 @@ import org.apache.commons.text.RandomStringGenerator;
import
org.apache.shardingsphere.data.pipeline.core.consistencycheck.result.RecordTableInventoryCheckCalculatedResult;
import
org.apache.shardingsphere.data.pipeline.core.consistencycheck.result.TableInventoryCheckCalculatedResult;
import
org.apache.shardingsphere.data.pipeline.core.datasource.PipelineDataSource;
-import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.QueryRange;
+import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.Range;
import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.QueryType;
import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.StreamingRangeType;
import
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.query.calculator.TableInventoryCalculateParameter;
@@ -99,7 +99,7 @@ class RecordTableInventoryCheckCalculatorTest {
RecordTableInventoryCheckCalculator calculator = new
RecordTableInventoryCheckCalculator(4,
StreamingRangeType.valueOf(streamingRangeType));
TableInventoryCalculateParameter param = new
TableInventoryCalculateParameter(dataSource, new QualifiedTable(null,
"t_order"),
Collections.emptyList(), buildOrderIdUniqueKey(),
QueryType.RANGE_QUERY, null);
- assertQueryRangeCalculatedResult(calculator, param, new QueryRange(0,
false, null), 4, 4);
+ assertRangeQueryCalculatedResult(calculator, param, new Range(0,
false, null), 4, 4);
}
@ParameterizedTest
@@ -108,7 +108,7 @@ class RecordTableInventoryCheckCalculatorTest {
RecordTableInventoryCheckCalculator calculator = new
RecordTableInventoryCheckCalculator(4,
StreamingRangeType.valueOf(streamingRangeType));
TableInventoryCalculateParameter param = new
TableInventoryCalculateParameter(dataSource, new QualifiedTable(null,
"t_order"),
Collections.emptyList(), buildOrderIdUniqueKey(),
QueryType.RANGE_QUERY, null);
- assertQueryRangeCalculatedResult(calculator, param, new QueryRange(4,
false, null), 4, 8);
+ assertRangeQueryCalculatedResult(calculator, param, new Range(4,
false, null), 4, 8);
}
@ParameterizedTest
@@ -117,13 +117,13 @@ class RecordTableInventoryCheckCalculatorTest {
RecordTableInventoryCheckCalculator calculator = new
RecordTableInventoryCheckCalculator(1000,
StreamingRangeType.valueOf(streamingRangeType));
TableInventoryCalculateParameter param = new
TableInventoryCalculateParameter(dataSource, new QualifiedTable(null,
"t_order"),
Collections.emptyList(), buildMultiColumnUniqueKeys(),
QueryType.RANGE_QUERY, null);
- assertQueryRangeCalculatedResult(calculator, param, new QueryRange(3,
true, 6), 8, 6);
- assertQueryRangeCalculatedResult(calculator, param, new QueryRange(3,
false, 6), 3, 6);
+ assertRangeQueryCalculatedResult(calculator, param, new Range(3, true,
6), 8, 6);
+ assertRangeQueryCalculatedResult(calculator, param, new Range(3,
false, 6), 3, 6);
}
- private void assertQueryRangeCalculatedResult(final
RecordTableInventoryCheckCalculator calculator, final
TableInventoryCalculateParameter param, final QueryRange queryRange,
+ private void assertRangeQueryCalculatedResult(final
RecordTableInventoryCheckCalculator calculator, final
TableInventoryCalculateParameter param, final Range range,
final int
expectedRecordsCount, final int expectedMaxUniqueKeyValue) {
- param.setQueryRange(queryRange);
+ param.setRange(range);
Optional<TableInventoryCheckCalculatedResult> calculatedResult =
calculator.calculateChunk(param);
QuietlyCloser.close(param.getCalculationContext());
assertTrue(calculatedResult.isPresent());
@@ -145,9 +145,9 @@ class RecordTableInventoryCheckCalculatorTest {
RecordTableInventoryCheckCalculator calculator = new
RecordTableInventoryCheckCalculator(1000,
StreamingRangeType.valueOf(streamingRangeType));
TableInventoryCalculateParameter param = new
TableInventoryCalculateParameter(dataSource, new QualifiedTable(null, "test3"),
Collections.emptyList(), buildMultiColumnUniqueKeys(),
QueryType.RANGE_QUERY, null);
- assertQueryRangeCalculatedResult(calculator, param, new QueryRange(3,
true, 4), 4, 4);
- assertQueryRangeCalculatedResult(calculator, param, new QueryRange(5,
true, 6), 4, 6);
- assertQueryRangeCalculatedResult(calculator, param, new QueryRange(5,
true, 7), 5, 7);
+ assertRangeQueryCalculatedResult(calculator, param, new Range(3, true,
4), 4, 4);
+ assertRangeQueryCalculatedResult(calculator, param, new Range(5, true,
6), 4, 6);
+ assertRangeQueryCalculatedResult(calculator, param, new Range(5, true,
7), 5, 7);
}
@ParameterizedTest
@@ -156,7 +156,7 @@ class RecordTableInventoryCheckCalculatorTest {
RecordTableInventoryCheckCalculator calculator = new
RecordTableInventoryCheckCalculator(1000,
StreamingRangeType.valueOf(streamingRangeType));
TableInventoryCalculateParameter param = new
TableInventoryCalculateParameter(dataSource, new QualifiedTable(null,
"t_order"),
Collections.emptyList(), buildMultiColumnUniqueKeys(),
QueryType.RANGE_QUERY, null);
- param.setQueryRange(new QueryRange(3, true, 2));
+ param.setRange(new Range(3, true, 2));
Optional<TableInventoryCheckCalculatedResult> calculatedResult =
calculator.calculateChunk(param);
QuietlyCloser.close(param.getCalculationContext());
assertFalse(calculatedResult.isPresent());
@@ -171,7 +171,7 @@ class RecordTableInventoryCheckCalculatorTest {
}
TableInventoryCalculateParameter param = new
TableInventoryCalculateParameter(dataSource, new QualifiedTable(null, "test1"),
Collections.emptyList(), buildUserIdUniqueKey(),
QueryType.RANGE_QUERY, null);
- param.setQueryRange(new QueryRange(0, false, null));
+ param.setRange(new Range(0, false, null));
RecordTableInventoryCheckCalculator calculator = new
RecordTableInventoryCheckCalculator(5,
StreamingRangeType.valueOf(streamingRangeType));
Optional<TableInventoryCheckCalculatedResult> calculateResult =
calculator.calculateChunk(param);
QuietlyCloser.close(param.getCalculationContext());
@@ -187,7 +187,7 @@ class RecordTableInventoryCheckCalculatorTest {
}
TableInventoryCalculateParameter param = new
TableInventoryCalculateParameter(dataSource, new QualifiedTable(null, "test2"),
Collections.emptyList(), buildMultiColumnUniqueKeys(),
QueryType.RANGE_QUERY, null);
- param.setQueryRange(new QueryRange(null, false, null));
+ param.setRange(new Range(null, false, null));
RecordTableInventoryCheckCalculator calculator = new
RecordTableInventoryCheckCalculator(5,
StreamingRangeType.valueOf(streamingRangeType));
Optional<TableInventoryCheckCalculatedResult> calculateResult =
calculator.calculateChunk(param);
QuietlyCloser.close(param.getCalculationContext());
@@ -200,7 +200,7 @@ class RecordTableInventoryCheckCalculatorTest {
RecordTableInventoryCheckCalculator calculator = new
RecordTableInventoryCheckCalculator(3, streamingChunkCount,
StreamingRangeType.valueOf(streamingRangeType));
TableInventoryCalculateParameter param = new
TableInventoryCalculateParameter(dataSource, new QualifiedTable(null,
"t_order"),
Collections.emptyList(), buildOrderIdUniqueKey(),
QueryType.RANGE_QUERY, null);
- param.setQueryRange(new QueryRange(null, false, null));
+ param.setRange(new Range(null, false, null));
Iterator<TableInventoryCheckCalculatedResult> resultIterator =
calculator.calculate(param).iterator();
RecordTableInventoryCheckCalculatedResult actual =
(RecordTableInventoryCheckCalculatedResult) resultIterator.next();
assertThat(actual.getRecordsCount(), is(3));
@@ -238,7 +238,7 @@ class RecordTableInventoryCheckCalculatorTest {
RecordTableInventoryCheckCalculator calculator = new
RecordTableInventoryCheckCalculator(50, 100,
StreamingRangeType.valueOf(streamingRangeType));
TableInventoryCalculateParameter param = new
TableInventoryCalculateParameter(dataSource, new QualifiedTable(null,
"t_order"),
Collections.emptyList(), buildMultiColumnUniqueKeys(),
QueryType.RANGE_QUERY, null);
- param.setQueryRange(new QueryRange(null, false, null));
+ param.setRange(new Range(null, false, null));
Iterator<TableInventoryCheckCalculatedResult> resultIterator =
calculator.calculate(param).iterator();
RecordTableInventoryCheckCalculatedResult actual =
(RecordTableInventoryCheckCalculatedResult) resultIterator.next();
assertThat(actual.getRecordsCount(), is(10));
@@ -264,7 +264,7 @@ class RecordTableInventoryCheckCalculatorTest {
RecordTableInventoryCheckCalculator calculator = new
RecordTableInventoryCheckCalculator(3, streamingChunkCount,
StreamingRangeType.valueOf(streamingRangeType));
TableInventoryCalculateParameter param = new
TableInventoryCalculateParameter(dataSource, new QualifiedTable(null,
"t_order"),
Collections.emptyList(), buildMultiColumnUniqueKeys(),
QueryType.RANGE_QUERY, null);
- param.setQueryRange(new QueryRange(null, false, null));
+ param.setRange(new Range(null, false, null));
Iterator<TableInventoryCheckCalculatedResult> resultIterator =
calculator.calculate(param).iterator();
RecordTableInventoryCheckCalculatedResult actual =
(RecordTableInventoryCheckCalculatedResult) resultIterator.next();
assertThat(actual.getRecordsCount(), is(3));
@@ -302,7 +302,7 @@ class RecordTableInventoryCheckCalculatorTest {
RecordTableInventoryCheckCalculator calculator = new
RecordTableInventoryCheckCalculator(2, streamingChunkCount,
StreamingRangeType.valueOf(streamingRangeType));
TableInventoryCalculateParameter param = new
TableInventoryCalculateParameter(dataSource, new QualifiedTable(null,
"t_order"),
Collections.emptyList(), buildMultiColumnUniqueKeys(),
QueryType.RANGE_QUERY, null);
- param.setQueryRange(new QueryRange(null, false, null));
+ param.setRange(new Range(null, false, null));
Iterator<TableInventoryCheckCalculatedResult> resultIterator =
calculator.calculate(param).iterator();
RecordTableInventoryCheckCalculatedResult actual =
(RecordTableInventoryCheckCalculatedResult) resultIterator.next();
assertThat(actual.getRecordsCount(), is(2));