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 fde6edca51c Rename range related variable names to follow Range naming
conventions (#37566)
fde6edca51c is described below
commit fde6edca51cf1e054c3acd4cc8954901c2c9ab02
Author: Hongsheng Zhong <[email protected]>
AuthorDate: Mon Dec 29 10:19:45 2025 +0800
Rename range related variable names to follow Range naming conventions
(#37566)
* Rename range related variable names to follow Range naming conventions
* Add Nullable annotation for Range fields
---
.../data/pipeline/core/ingest/dumper/inventory/query/Range.java | 3 +++
.../inventory/calculator/InventoryDataSparsenessCalculator.java | 8 ++++----
.../calculator/position/exact/DataTypePositionHandler.java | 6 +++---
.../calculator/position/exact/IntegerPositionHandler.java | 4 ++--
.../position/exact/InventoryPositionExactCalculator.java | 8 ++++----
.../core/sqlbuilder/dialect/DialectPipelineSQLBuilder.java | 4 ++--
.../pipeline/core/sqlbuilder/sql/PipelinePrepareSQLBuilder.java | 6 +++---
.../core/sqlbuilder/fixture/FixturePipelineSQLBuilder.java | 2 +-
.../data/pipeline/mysql/sqlbuilder/MySQLPipelineSQLBuilder.java | 4 ++--
.../opengauss/sqlbuilder/OpenGaussPipelineSQLBuilder.java | 4 ++--
.../postgresql/sqlbuilder/PostgreSQLPipelineSQLBuilder.java | 4 ++--
.../pipeline/core/fixture/h2/sqlbuilder/H2PipelineSQLBuilder.java | 4 ++--
12 files changed, 30 insertions(+), 27 deletions(-)
diff --git
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/ingest/dumper/inventory/query/Range.java
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/ingest/dumper/inventory/query/Range.java
index 031582935b1..7ab3d99a0fe 100644
---
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/ingest/dumper/inventory/query/Range.java
+++
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/ingest/dumper/inventory/query/Range.java
@@ -20,6 +20,7 @@ package
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.inventory.que
import lombok.AccessLevel;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
+import org.jspecify.annotations.Nullable;
/**
* Range.
@@ -30,10 +31,12 @@ import lombok.RequiredArgsConstructor;
@Getter
public final class Range<T> {
+ @Nullable
private final T lowerBound;
private final boolean lowerInclusive;
+ @Nullable
private final T upperBound;
/**
diff --git
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/inventory/calculator/InventoryDataSparsenessCalculator.java
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/inventory/calculator/InventoryDataSparsenessCalculator.java
index 60d9c65a23c..0026122f621 100644
---
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/inventory/calculator/InventoryDataSparsenessCalculator.java
+++
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/inventory/calculator/InventoryDataSparsenessCalculator.java
@@ -45,10 +45,10 @@ public final class InventoryDataSparsenessCalculator {
*/
public static boolean isIntegerUniqueKeyDataSparse(final long
tableRecordsCount, final Range<Long> uniqueKeyValuesRange) {
boolean result = false;
- Long lowerValue = uniqueKeyValuesRange.getLowerBound();
- Long upperValue = uniqueKeyValuesRange.getUpperBound();
- if (tableRecordsCount >= EXACT_SPLITTING_RECORDS_COUNT_THRESHOLD &&
null != lowerValue && null != upperValue) {
- BigDecimal multiple =
BigDecimal.valueOf(upperValue).subtract(BigDecimal.valueOf(lowerValue)).add(BigDecimal.ONE)
+ Long lowerBound = uniqueKeyValuesRange.getLowerBound();
+ Long upperBound = uniqueKeyValuesRange.getUpperBound();
+ if (tableRecordsCount >= EXACT_SPLITTING_RECORDS_COUNT_THRESHOLD &&
null != lowerBound && null != upperBound) {
+ BigDecimal multiple =
BigDecimal.valueOf(upperBound).subtract(BigDecimal.valueOf(lowerBound)).add(BigDecimal.ONE)
.divide(BigDecimal.valueOf(tableRecordsCount), 2,
RoundingMode.HALF_UP);
if (multiple.compareTo(MULTIPLE_THRESHOLD) >= 0) {
log.info("Table is sparse for integer unique key, table
records count: {}, unique key values range: {}, multiple: {}",
tableRecordsCount, uniqueKeyValuesRange, multiple);
diff --git
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/inventory/calculator/position/exact/DataTypePositionHandler.java
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/inventory/calculator/position/exact/DataTypePositionHandler.java
index 3cabd8ac15c..591c201e64b 100644
---
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/inventory/calculator/position/exact/DataTypePositionHandler.java
+++
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/inventory/calculator/position/exact/DataTypePositionHandler.java
@@ -53,9 +53,9 @@ public interface DataTypePositionHandler<T> {
/**
* Create ingest position.
*
- * @param lowerValue lower value
- * @param upperValue upper value
+ * @param lowerBound lower bound
+ * @param upperBound upper bound
* @return ingest position
*/
- PrimaryKeyIngestPosition<T> createIngestPosition(T lowerValue, T
upperValue);
+ PrimaryKeyIngestPosition<T> createIngestPosition(T lowerBound, T
upperBound);
}
diff --git
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/inventory/calculator/position/exact/IntegerPositionHandler.java
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/inventory/calculator/position/exact/IntegerPositionHandler.java
index 787d2cf6bd8..f2126d99725 100644
---
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/inventory/calculator/position/exact/IntegerPositionHandler.java
+++
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/inventory/calculator/position/exact/IntegerPositionHandler.java
@@ -39,7 +39,7 @@ public final class IntegerPositionHandler implements
DataTypePositionHandler<Lon
}
@Override
- public IntegerPrimaryKeyIngestPosition createIngestPosition(final Long
lowerValue, final Long upperValue) {
- return new IntegerPrimaryKeyIngestPosition(lowerValue, upperValue);
+ public IntegerPrimaryKeyIngestPosition createIngestPosition(final Long
lowerBound, final Long upperBound) {
+ return new IntegerPrimaryKeyIngestPosition(lowerBound, upperBound);
}
}
diff --git
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/inventory/calculator/position/exact/InventoryPositionExactCalculator.java
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/inventory/calculator/position/exact/InventoryPositionExactCalculator.java
index dd8d3f2a40b..6d4440e677b 100644
---
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/inventory/calculator/position/exact/InventoryPositionExactCalculator.java
+++
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/inventory/calculator/position/exact/InventoryPositionExactCalculator.java
@@ -93,7 +93,7 @@ public final class InventoryPositionExactCalculator {
final int
shardingSize, final PrimaryKeyIngestPosition<T> firstPosition,
final
PipelineDataSource dataSource, final DataTypePositionHandler<T>
positionHandler) {
List<IngestPosition> result = new LinkedList<>();
- T lowerValue = firstPosition.getEndValue();
+ T lowerBound = firstPosition.getEndValue();
long recordsCount = 0;
String laterQuerySQL = new
PipelinePrepareSQLBuilder(dataSource.getDatabaseType())
.buildSplitByUniqueKeyRangedSQL(qualifiedTable.getSchemaName(),
qualifiedTable.getTableName(), uniqueKey, true);
@@ -101,7 +101,7 @@ public final class InventoryPositionExactCalculator {
Connection connection = dataSource.getConnection();
PreparedStatement preparedStatement =
connection.prepareStatement(laterQuerySQL)) {
for (int i = 0; i < Integer.MAX_VALUE; i++) {
- positionHandler.setPreparedStatementValue(preparedStatement,
1, lowerValue);
+ positionHandler.setPreparedStatementValue(preparedStatement,
1, lowerBound);
preparedStatement.setLong(2, shardingSize);
try (ResultSet resultSet = preparedStatement.executeQuery()) {
if (!resultSet.next()) {
@@ -109,14 +109,14 @@ public final class InventoryPositionExactCalculator {
}
int count = resultSet.getInt(2);
if (0 == count) {
- log.info("Done. Later records count: {}, last lower
value: {}, sharding size: {}, later query SQL: {}", recordsCount, lowerValue,
shardingSize, laterQuerySQL);
+ log.info("Done. Later records count: {}, last lower
bound: {}, sharding size: {}, later query SQL: {}", recordsCount, lowerBound,
shardingSize, laterQuerySQL);
break;
}
recordsCount += count;
T minValue = positionHandler.readColumnValue(resultSet, 3);
T maxValue = positionHandler.readColumnValue(resultSet, 1);
result.add(positionHandler.createIngestPosition(minValue,
maxValue));
- lowerValue = maxValue;
+ lowerBound = maxValue;
}
}
} catch (final SQLException ex) {
diff --git
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/dialect/DialectPipelineSQLBuilder.java
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/dialect/DialectPipelineSQLBuilder.java
index d1f843cba5d..6c37474ed05 100644
---
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/dialect/DialectPipelineSQLBuilder.java
+++
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/dialect/DialectPipelineSQLBuilder.java
@@ -87,10 +87,10 @@ public interface DialectPipelineSQLBuilder extends
DatabaseTypedSPI {
*
* @param qualifiedTableName qualified table name
* @param uniqueKey unique key
- * @param hasLowerValue has lower value
+ * @param hasLowerBound has lower bound
* @return built SQL
*/
- String buildSplitByUniqueKeyRangedSubqueryClause(String
qualifiedTableName, String uniqueKey, boolean hasLowerValue);
+ String buildSplitByUniqueKeyRangedSubqueryClause(String
qualifiedTableName, String uniqueKey, boolean hasLowerBound);
/**
* Build create table SQLs.
diff --git
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/sql/PipelinePrepareSQLBuilder.java
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/sql/PipelinePrepareSQLBuilder.java
index cdf64123999..5c2889395dc 100644
---
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/sql/PipelinePrepareSQLBuilder.java
+++
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/sql/PipelinePrepareSQLBuilder.java
@@ -112,12 +112,12 @@ public final class PipelinePrepareSQLBuilder {
* @param schemaName schema name
* @param tableName table name
* @param uniqueKey unique key
- * @param hasLowerValue has lower value
+ * @param hasLowerBound has lower bound
* @return split SQL
*/
- public String buildSplitByUniqueKeyRangedSQL(final String schemaName,
final String tableName, final String uniqueKey, final boolean hasLowerValue) {
+ public String buildSplitByUniqueKeyRangedSQL(final String schemaName,
final String tableName, final String uniqueKey, final boolean hasLowerBound) {
String escapedUniqueKey =
sqlSegmentBuilder.getEscapedIdentifier(uniqueKey);
- String subQueryClause =
dialectSQLBuilder.buildSplitByUniqueKeyRangedSubqueryClause(sqlSegmentBuilder.getQualifiedTableName(schemaName,
tableName), escapedUniqueKey, hasLowerValue);
+ String subQueryClause =
dialectSQLBuilder.buildSplitByUniqueKeyRangedSubqueryClause(sqlSegmentBuilder.getQualifiedTableName(schemaName,
tableName), escapedUniqueKey, hasLowerBound);
return String.format("SELECT MAX(%s), COUNT(1), MIN(%s) FROM (%s) t",
escapedUniqueKey, escapedUniqueKey, subQueryClause);
}
}
diff --git
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/fixture/FixturePipelineSQLBuilder.java
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/fixture/FixturePipelineSQLBuilder.java
index 3f7304d1a5f..0f289cef6d2 100644
---
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/fixture/FixturePipelineSQLBuilder.java
+++
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/fixture/FixturePipelineSQLBuilder.java
@@ -37,7 +37,7 @@ public final class FixturePipelineSQLBuilder implements
DialectPipelineSQLBuilde
}
@Override
- public String buildSplitByUniqueKeyRangedSubqueryClause(final String
qualifiedTableName, final String uniqueKey, final boolean hasLowerValue) {
+ public String buildSplitByUniqueKeyRangedSubqueryClause(final String
qualifiedTableName, final String uniqueKey, final boolean hasLowerBound) {
return "";
}
diff --git
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/sqlbuilder/MySQLPipelineSQLBuilder.java
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/sqlbuilder/MySQLPipelineSQLBuilder.java
index c2d59d3cf30..fda479c15fe 100644
---
a/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/sqlbuilder/MySQLPipelineSQLBuilder.java
+++
b/kernel/data-pipeline/dialect/mysql/src/main/java/org/apache/shardingsphere/data/pipeline/mysql/sqlbuilder/MySQLPipelineSQLBuilder.java
@@ -65,8 +65,8 @@ public final class MySQLPipelineSQLBuilder implements
DialectPipelineSQLBuilder
}
@Override
- public String buildSplitByUniqueKeyRangedSubqueryClause(final String
qualifiedTableName, final String uniqueKey, final boolean hasLowerValue) {
- return hasLowerValue
+ public String buildSplitByUniqueKeyRangedSubqueryClause(final String
qualifiedTableName, final String uniqueKey, final boolean hasLowerBound) {
+ return hasLowerBound
? String.format("SELECT %s FROM %s WHERE %s>? ORDER BY %s
LIMIT ?", uniqueKey, qualifiedTableName, uniqueKey, uniqueKey)
: String.format("SELECT %s FROM %s ORDER BY %s LIMIT ?",
uniqueKey, qualifiedTableName, uniqueKey);
}
diff --git
a/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/sqlbuilder/OpenGaussPipelineSQLBuilder.java
b/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/sqlbuilder/OpenGaussPipelineSQLBuilder.java
index ddbec207cc8..7bc4e68337a 100644
---
a/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/sqlbuilder/OpenGaussPipelineSQLBuilder.java
+++
b/kernel/data-pipeline/dialect/opengauss/src/main/java/org/apache/shardingsphere/data/pipeline/opengauss/sqlbuilder/OpenGaussPipelineSQLBuilder.java
@@ -63,8 +63,8 @@ public final class OpenGaussPipelineSQLBuilder implements
DialectPipelineSQLBuil
}
@Override
- public String buildSplitByUniqueKeyRangedSubqueryClause(final String
qualifiedTableName, final String uniqueKey, final boolean hasLowerValue) {
- return hasLowerValue
+ public String buildSplitByUniqueKeyRangedSubqueryClause(final String
qualifiedTableName, final String uniqueKey, final boolean hasLowerBound) {
+ return hasLowerBound
? String.format("SELECT %s FROM %s WHERE %s>? ORDER BY %s
LIMIT ?", uniqueKey, qualifiedTableName, uniqueKey, uniqueKey)
: String.format("SELECT %s FROM %s ORDER BY %s LIMIT ?",
uniqueKey, qualifiedTableName, uniqueKey);
}
diff --git
a/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/PostgreSQLPipelineSQLBuilder.java
b/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/PostgreSQLPipelineSQLBuilder.java
index f666842eb89..9d4b27c6b5d 100644
---
a/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/PostgreSQLPipelineSQLBuilder.java
+++
b/kernel/data-pipeline/dialect/postgresql/src/main/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/PostgreSQLPipelineSQLBuilder.java
@@ -79,8 +79,8 @@ public final class PostgreSQLPipelineSQLBuilder implements
DialectPipelineSQLBui
}
@Override
- public String buildSplitByUniqueKeyRangedSubqueryClause(final String
qualifiedTableName, final String uniqueKey, final boolean hasLowerValue) {
- return hasLowerValue
+ public String buildSplitByUniqueKeyRangedSubqueryClause(final String
qualifiedTableName, final String uniqueKey, final boolean hasLowerBound) {
+ return hasLowerBound
? String.format("SELECT %s FROM %s WHERE %s>? ORDER BY %s
LIMIT ?", uniqueKey, qualifiedTableName, uniqueKey, uniqueKey)
: String.format("SELECT %s FROM %s ORDER BY %s LIMIT ?",
uniqueKey, qualifiedTableName, uniqueKey);
}
diff --git
a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/h2/sqlbuilder/H2PipelineSQLBuilder.java
b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/h2/sqlbuilder/H2PipelineSQLBuilder.java
index 31cd5f1fb39..ee04062628d 100644
---
a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/h2/sqlbuilder/H2PipelineSQLBuilder.java
+++
b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/fixture/h2/sqlbuilder/H2PipelineSQLBuilder.java
@@ -37,8 +37,8 @@ public final class H2PipelineSQLBuilder implements
DialectPipelineSQLBuilder {
}
@Override
- public String buildSplitByUniqueKeyRangedSubqueryClause(final String
qualifiedTableName, final String uniqueKey, final boolean hasLowerValue) {
- return hasLowerValue
+ public String buildSplitByUniqueKeyRangedSubqueryClause(final String
qualifiedTableName, final String uniqueKey, final boolean hasLowerBound) {
+ return hasLowerBound
? String.format("SELECT %s FROM %s WHERE %s>? ORDER BY %s
LIMIT ?", uniqueKey, qualifiedTableName, uniqueKey, uniqueKey)
: String.format("SELECT %s FROM %s ORDER BY %s LIMIT ?",
uniqueKey, qualifiedTableName, uniqueKey);
}