You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by kx...@apache.org on 2023/07/25 14:40:48 UTC
[doris] 12/31: [opt](Nereids) add check msg for creating decimal type (#22172)
This is an automated email from the ASF dual-hosted git repository.
kxiao pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git
commit 69f693625bbee7795d4e4355ab1c58adb90645f5
Author: morrySnow <10...@users.noreply.github.com>
AuthorDate: Tue Jul 25 11:19:41 2023 +0800
[opt](Nereids) add check msg for creating decimal type (#22172)
---
.../java/org/apache/doris/nereids/types/DecimalV2Type.java | 12 +++++++++---
.../java/org/apache/doris/nereids/types/DecimalV3Type.java | 8 +++++---
2 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/types/DecimalV2Type.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/types/DecimalV2Type.java
index d599fbe0c3..a48ea084c1 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/types/DecimalV2Type.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/types/DecimalV2Type.java
@@ -68,10 +68,16 @@ public class DecimalV2Type extends FractionalType {
private final int precision;
private final int scale;
+ /**
+ * constructors.
+ */
public DecimalV2Type(int precision, int scale) {
- Preconditions.checkArgument(precision >= scale);
- Preconditions.checkArgument(precision > 0 && precision <= MAX_PRECISION);
- Preconditions.checkArgument(scale >= 0 && scale <= MAX_SCALE);
+ Preconditions.checkArgument(precision > 0 && precision <= MAX_PRECISION,
+ "precision should in (0, " + MAX_PRECISION + "], but real precision is " + precision);
+ Preconditions.checkArgument(scale >= 0 && scale <= MAX_SCALE,
+ "scale should in [0, " + MAX_SCALE + "], but real scale is " + scale);
+ Preconditions.checkArgument(precision >= scale, "precision should not smaller than scale,"
+ + " but precision is " + precision, ", scale is " + scale);
this.precision = precision;
this.scale = scale;
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/types/DecimalV3Type.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/types/DecimalV3Type.java
index 4c78513b50..b0fdd20580 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/types/DecimalV3Type.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/types/DecimalV3Type.java
@@ -99,9 +99,11 @@ public class DecimalV3Type extends FractionalType {
/** createDecimalV3Type. */
public static DecimalV3Type createDecimalV3Type(int precision, int scale) {
- Preconditions.checkArgument(precision > 0 && precision <= MAX_DECIMAL128_PRECISION);
- Preconditions.checkArgument(scale >= 0);
- Preconditions.checkArgument(precision >= scale);
+ Preconditions.checkArgument(precision > 0 && precision <= MAX_DECIMAL128_PRECISION,
+ "precision should in (0, " + MAX_DECIMAL128_PRECISION + "], but real precision is " + precision);
+ Preconditions.checkArgument(scale >= 0, "scale should not smaller than 0, but real scale is " + scale);
+ Preconditions.checkArgument(precision >= scale, "precision should not smaller than scale,"
+ + " but precision is " + precision, ", scale is " + scale);
return new DecimalV3Type(precision, scale);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org