[Bug](decimalv3) select view of decimalv3 error (#15404)
This commit is contained in:
@ -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;
|
||||
|
||||
4
regression-test/data/decimalv3/test_decimalv3.out
Normal file
4
regression-test/data/decimalv3/test_decimalv3.out
Normal file
@ -0,0 +1,4 @@
|
||||
-- This file is automatically generated. You should know what you did if you want to edit this
|
||||
-- !decimalv3 --
|
||||
100.000000000000000000
|
||||
|
||||
29
regression-test/suites/decimalv3/test_decimalv3.groovy
Normal file
29
regression-test/suites/decimalv3/test_decimalv3.groovy
Normal file
@ -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"
|
||||
}
|
||||
Reference in New Issue
Block a user