This is an automated email from the ASF dual-hosted git repository.
morningman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 22b31e516c [Bug](decimalv3) select view of decimalv3 error (#15404)
22b31e516c is described below
commit 22b31e516c1cfef9d608e55d1b42d9dddb85b1e2
Author: HappenLee <[email protected]>
AuthorDate: Wed Dec 28 08:38:33 2022 +0800
[Bug](decimalv3) select view of decimalv3 error (#15404)
---
.../java/org/apache/doris/catalog/ScalarType.java | 17 ++++++++++---
regression-test/data/decimalv3/test_decimalv3.out | 4 +++
.../suites/decimalv3/test_decimalv3.groovy | 29 ++++++++++++++++++++++
3 files changed, 47 insertions(+), 3 deletions(-)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/ScalarType.java
b/fe/fe-core/src/main/java/org/apache/doris/catalog/ScalarType.java
index 3cd713b507..4564af5094 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/ScalarType.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/ScalarType.java
@@ -557,9 +557,6 @@ public class ScalarType extends Type {
}
break;
case DECIMALV2:
- case DECIMAL32:
- case DECIMAL64:
- case DECIMAL128:
if (Strings.isNullOrEmpty(precisionStr)) {
stringBuilder.append("decimal").append("(").append(precision)
.append(", ").append(scale).append(")");
@@ -570,6 +567,20 @@ public class ScalarType extends Type {
stringBuilder.append("decimal").append("(`").append(precisionStr).append("`)");
}
break;
+ case DECIMAL32:
+ case DECIMAL64:
+ case DECIMAL128:
+ String typeName = Config.enable_decimal_conversion ? "decimal"
: "decimalv3";
+ if (Strings.isNullOrEmpty(precisionStr)) {
+
stringBuilder.append(typeName).append("(").append(precision)
+ .append(", ").append(scale).append(")");
+ } else if (!Strings.isNullOrEmpty(precisionStr) &&
!Strings.isNullOrEmpty(scaleStr)) {
+
stringBuilder.append(typeName).append("(`").append(precisionStr)
+ .append("`, `").append(scaleStr).append("`)");
+ } else {
+
stringBuilder.append(typeName).append("(`").append(precisionStr).append("`)");
+ }
+ break;
case DATETIMEV2:
stringBuilder.append("datetime").append("(").append(scale).append(")");
break;
diff --git a/regression-test/data/decimalv3/test_decimalv3.out
b/regression-test/data/decimalv3/test_decimalv3.out
new file mode 100644
index 0000000000..1bb8b045c0
--- /dev/null
+++ b/regression-test/data/decimalv3/test_decimalv3.out
@@ -0,0 +1,4 @@
+-- This file is automatically generated. You should know what you did if you
want to edit this
+-- !decimalv3 --
+100.000000000000000000
+
diff --git a/regression-test/suites/decimalv3/test_decimalv3.groovy
b/regression-test/suites/decimalv3/test_decimalv3.groovy
new file mode 100644
index 0000000000..374e554b93
--- /dev/null
+++ b/regression-test/suites/decimalv3/test_decimalv3.groovy
@@ -0,0 +1,29 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+suite("test_decimalv3") {
+ def db = "test_decimalv3_db"
+ sql "CREATE DATABASE IF NOT EXISTS ${db}"
+ sql "use ${db}"
+ sql "drop table if exists test5"
+ sql '''CREATE TABLE test5 ( `a` decimalv3(38,18), `b`
decimalv3(38,18) ) ENGINE=OLAP DUPLICATE KEY(`a`) COMMENT 'OLAP' DISTRIBUTED BY
HASH(`a`) BUCKETS 1 PROPERTIES ( "replication_allocation" =
"tag.location.default: 1" ) '''
+ sql "insert into test5 values(50,2)"
+ sql "drop view if exists test5_v"
+ sql "create view test5_v (amout) as select cast(a*b as
decimalv3(38,18)) from test5"
+
+ qt_decimalv3 "select * from test5_v"
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]