Github user wangyum commented on a diff in the pull request: https://github.com/apache/spark/pull/20008#discussion_r157651436 --- Diff: sql/core/src/test/resources/sql-tests/inputs/typeCoercion/native/decimalPrecision.sql --- @@ -0,0 +1,6883 @@ +-- +-- 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. +-- + +CREATE TEMPORARY VIEW t AS SELECT 1; + +SELECT cast(1 as tinyint) + cast(1 as decimal(1, 0)) FROM t; +SELECT cast(1 as tinyint) + cast(1 as decimal(3, 0)) FROM t; +SELECT cast(1 as tinyint) + cast(1 as decimal(4, 0)) FROM t; +SELECT cast(1 as tinyint) + cast(1 as decimal(5, 0)) FROM t; +SELECT cast(1 as tinyint) + cast(1 as decimal(6, 0)) FROM t; +SELECT cast(1 as tinyint) + cast(1 as decimal(10, 0)) FROM t; +SELECT cast(1 as tinyint) + cast(1 as decimal(11, 0)) FROM t; +SELECT cast(1 as tinyint) + cast(1 as decimal(20, 0)) FROM t; +SELECT cast(1 as tinyint) + cast(1 as decimal(21, 0)) FROM t; +SELECT cast(1 as tinyint) + cast(1 as decimal(38, 0)) FROM t; +SELECT cast(1 as tinyint) + cast(1 as decimal(39, 0)) FROM t; +SELECT cast(1 as tinyint) + cast(1 as decimal(1, 1)) FROM t; +SELECT cast(1 as tinyint) + cast(1 as decimal(2, 1)) FROM t; +SELECT cast(1 as tinyint) + cast(1 as decimal(3, 1)) FROM t; +SELECT cast(1 as tinyint) + cast(1 as decimal(4, 1)) FROM t; +SELECT cast(1 as tinyint) + cast(1 as decimal(5, 1)) FROM t; +SELECT cast(1 as tinyint) + cast(1 as decimal(6, 1)) FROM t; +SELECT cast(1 as tinyint) + cast(1 as decimal(10, 1)) FROM t; +SELECT cast(1 as tinyint) + cast(1 as decimal(11, 1)) FROM t; +SELECT cast(1 as tinyint) + cast(1 as decimal(20, 1)) FROM t; +SELECT cast(1 as tinyint) + cast(1 as decimal(21, 1)) FROM t; +SELECT cast(1 as tinyint) + cast(1 as decimal(38, 1)) FROM t; +SELECT cast(1 as tinyint) + cast(1 as decimal(39, 1)) FROM t; --- End diff -- How about only these 4 decimals: `DECIMAL(3, 0)`, `DECIMAL(5, 0)`, `DECIMAL(10, 0)` and `DECIMAL(20, 0)`. https://github.com/apache/spark/blob/00d176d2fe7bbdf55cb3146a9cb04ca99b1858b7/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/DecimalPrecision.scala#L54-L57
--- --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org