Skip to content

Commit 9a9d241

Browse files
authored
[ErrorProne] Enable BigDecimalEquals check and fix violations (#38193)
* enable BigDecimalEquals * fix violations
1 parent a60a71e commit 9a9d241

4 files changed

Lines changed: 5 additions & 5 deletions

File tree

buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1533,7 +1533,6 @@ class BeamModulePlugin implements Plugin<Project> {
15331533
// TODO(https://github.com/apache/beam/issues/20955): Enable errorprone checks
15341534
"AutoValueImmutableFields",
15351535
"AutoValueSubclassLeaked",
1536-
"BigDecimalEquals",
15371536
"ComparableType",
15381537
"DoNotMockAutoValue",
15391538
"EmptyBlockTag",

sdks/java/core/src/main/java/org/apache/beam/sdk/util/RowJsonValueExtractors.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,8 +140,9 @@ static ValueExtractor<Double> doubleValueExtractor() {
140140
// Or a decimal number which allows lossless conversion to float
141141
|| (jsonNode.isFloatingPointNumber()
142142
&& jsonNode
143-
.decimalValue()
144-
.equals(BigDecimal.valueOf(jsonNode.doubleValue()))))
143+
.decimalValue()
144+
.compareTo(BigDecimal.valueOf(jsonNode.doubleValue()))
145+
== 0))
145146
.build();
146147
}
147148

sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/transform/agg/CovarianceFn.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ private BigDecimal getCovariance(CovarianceAccumulator covariance) {
125125
this.isSample ? covariance.count().subtract(BigDecimal.ONE) : covariance.count();
126126

127127
// Avoid ArithmeticException: Division is undefined when adjustedCount is 0
128-
if (adjustedCount.equals(BigDecimal.ZERO)) {
128+
if (adjustedCount.compareTo(BigDecimal.ZERO) == 0) {
129129
return BigDecimal.ZERO;
130130
}
131131

sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/transform/agg/VarianceFn.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ private BigDecimal getVariance(VarianceAccumulator variance) {
142142
this.isSample ? variance.count().subtract(BigDecimal.ONE) : variance.count();
143143

144144
// Avoid ArithmeticException: Division is undefined when adjustedCount is 0
145-
if (adjustedCount.equals(BigDecimal.ZERO)) {
145+
if (adjustedCount.compareTo(BigDecimal.ZERO) == 0) {
146146
return BigDecimal.ZERO;
147147
}
148148

0 commit comments

Comments
 (0)