Files
doris/regression-test/data/variant_p0/compaction/test_compaction.out
Mryange 6dddd4c499 [function](cast)Make string casting to integers more like MySQL's beh… (#41541)
…avior (#38847)
https://github.com/apache/doris/pull/38847
## Proposed changes

There are two issues here. First, the results of casting are
inconsistent between FE and BE .
```
FE
mysql [(none)]>select cast('3.000' as int); 
+----------------------+
| cast('3.000' as INT) |
+----------------------+
|                    3 |
+----------------------+

mysql [(none)]>set debug_skip_fold_constant = true;

BE
mysql [(none)]>select cast('3.000' as int);
+----------------------+
| cast('3.000' as INT) |
+----------------------+
|                 NULL |
+----------------------+
```
The second issue is that casting on BE converts '3.0' to null. Here, the
casting logic for FE and BE has been unified

<!--Describe your changes.-->

## Proposed changes

Issue Number: close #xxx

<!--Describe your changes.-->

---------

Co-authored-by: Xinyi Zou <zouxinyi02@gmail.com>
2024-10-11 09:32:00 +08:00

386 lines
5.7 KiB
Plaintext

-- This file is automatically generated. You should know what you did if you want to edit this
-- !sql_1 --
1 {"x":[1]}
1 {"x":[1]}
2 {"a":"1"}
2 {"a":"1"}
3 {"x":[3]}
3 {"x":[3]}
4 {"y":1}
4 {"y":1}
5 {"z":2.0}
5 {"z":2.0}
6 {"x":111}
6 {"x":111}
7 {"m":1}
7 {"m":1}
8 {"l":2}
8 {"l":2}
9 {"g":1.11}
9 {"g":1.11}
10 {"z":1.1111}
10 {"z":1.1111}
11 {"sala":0}
11 {"sala":0}
12 {"dddd":0.1}
12 {"dddd":0.1}
13 {"a":1}
13 {"a":1}
14 {"a":[[[1]]]}
14 {"a":[[[1]]]}
15 {"a":1}
15 {"a":1}
16 {"a":"1223"}
16 {"a":"1223"}
17 {"a":[1]}
17 {"a":[1]}
18 {"a":["1",2,1.1]}
18 {"a":["1",2,1.1]}
19 {"a":1,"b":{"c":1}}
19 {"a":1,"b":{"c":1}}
20 {"a":1,"b":{"c":[{"a":1}]}}
20 {"a":1,"b":{"c":[{"a":1}]}}
21 {"a":1,"b":{"c":[{"a":1}]}}
21 {"a":1,"b":{"c":[{"a":1}]}}
22 {"a":1,"b":{"c":[{"a":1}]}}
22 {"a":1,"b":{"c":[{"a":1}]}}
1022 {"a":1,"b":10}
1022 {"a":1,"b":10}
1029 {"a":1,"b":{"c":1}}
1029 {"a":1,"b":{"c":1}}
1999 {"a":1,"b":{"c":1}}
1999 {"a":1,"b":{"c":1}}
19921 {"a":1,"b":10}
19921 {"a":1,"b":10}
-- !sql_2 --
14 [null]
14 [null]
17 [1]
17 [1]
18 [1, 2, 1]
18 [1, 2, 1]
-- !sql_3 --
19 1 {"c":1}
19 1 {"c":1}
20 1 {"c":[{"a":1}]}
20 1 {"c":[{"a":1}]}
21 1 {"c":[{"a":1}]}
21 1 {"c":[{"a":1}]}
22 1 {"c":[{"a":1}]}
22 1 {"c":[{"a":1}]}
1029 1 {"c":1}
1029 1 {"c":1}
1999 1 {"c":1}
1999 1 {"c":1}
-- !sql_5 --
10 \N
10 \N
{"c":1} 1
{"c":1} 1
{"c":1} 1
{"c":1} 1
10 \N
10 \N
{"c":[{"a":1}]} [{"a":1}]
{"c":[{"a":1}]} [{"a":1}]
-- !sql_11 --
1 {"x":[1]}
1 {"x":[1]}
2 {"a":"1"}
2 {"a":"1"}
3 {"x":[3]}
3 {"x":[3]}
4 {"y":1}
4 {"y":1}
5 {"z":2.0}
5 {"z":2.0}
6 {"x":111}
6 {"x":111}
7 {"m":1}
7 {"m":1}
8 {"l":2}
8 {"l":2}
9 {"g":1.11}
9 {"g":1.11}
10 {"z":1.1111}
10 {"z":1.1111}
11 {"sala":0}
11 {"sala":0}
12 {"dddd":0.1}
12 {"dddd":0.1}
13 {"a":1}
13 {"a":1}
14 {"a":[[[1]]]}
14 {"a":[[[1]]]}
15 {"a":1}
15 {"a":1}
16 {"a":"1223"}
16 {"a":"1223"}
17 {"a":[1]}
17 {"a":[1]}
18 {"a":["1",2,1.1]}
18 {"a":["1",2,1.1]}
19 {"a":1,"b":{"c":1}}
19 {"a":1,"b":{"c":1}}
20 {"a":1,"b":{"c":[{"a":1}]}}
20 {"a":1,"b":{"c":[{"a":1}]}}
21 {"a":1,"b":{"c":[{"a":1}]}}
21 {"a":1,"b":{"c":[{"a":1}]}}
22 {"a":1,"b":{"c":[{"a":1}]}}
22 {"a":1,"b":{"c":[{"a":1}]}}
1022 {"a":1,"b":10}
1022 {"a":1,"b":10}
1029 {"a":1,"b":{"c":1}}
1029 {"a":1,"b":{"c":1}}
1999 {"a":1,"b":{"c":1}}
1999 {"a":1,"b":{"c":1}}
19921 {"a":1,"b":10}
19921 {"a":1,"b":10}
-- !sql_22 --
14 [null]
14 [null]
17 [1]
17 [1]
18 [1, 2, 1]
18 [1, 2, 1]
-- !sql_33 --
19 1 {"c":1}
19 1 {"c":1}
20 1 {"c":[{"a":1}]}
20 1 {"c":[{"a":1}]}
21 1 {"c":[{"a":1}]}
21 1 {"c":[{"a":1}]}
22 1 {"c":[{"a":1}]}
22 1 {"c":[{"a":1}]}
1029 1 {"c":1}
1029 1 {"c":1}
1999 1 {"c":1}
1999 1 {"c":1}
-- !sql_55 --
10 \N
10 \N
{"c":1} 1
{"c":1} 1
{"c":1} 1
{"c":1} 1
10 \N
10 \N
{"c":[{"a":1}]} [{"a":1}]
{"c":[{"a":1}]} [{"a":1}]
-- !sql_1 --
1 {"x":[1]}
2 {"a":"1"}
3 {"x":[3]}
4 {"y":1}
5 {"z":2.0}
6 {"x":111}
7 {"m":1}
8 {"l":2}
9 {"g":1.11}
10 {"z":1.1111}
11 {"sala":0}
12 {"dddd":0.1}
13 {"a":1}
14 {"a":[[[1]]]}
15 {"a":1}
16 {"a":"1223"}
17 {"a":[1]}
18 {"a":["1",2,1.1]}
19 {"a":1,"b":{"c":1}}
20 {"a":1,"b":{"c":[{"a":1}]}}
21 {"a":1,"b":{"c":[{"a":1}]}}
22 {"a":1,"b":{"c":[{"a":1}]}}
1022 {"a":1,"b":10}
1029 {"a":1,"b":{"c":1}}
1999 {"a":1,"b":{"c":1}}
19921 {"a":1,"b":10}
-- !sql_2 --
14 [null]
17 [1]
18 [1, 2, 1]
-- !sql_3 --
19 1 {"c":1}
20 1 {"c":[{"a":1}]}
21 1 {"c":[{"a":1}]}
22 1 {"c":[{"a":1}]}
1029 1 {"c":1}
1999 1 {"c":1}
-- !sql_5 --
10 \N
{"c":1} 1
{"c":1} 1
10 \N
{"c":[{"a":1}]} [{"a":1}]
{"c":[{"a":1}]} [{"a":1}]
{"c":[{"a":1}]} [{"a":1}]
{"c":1} 1
{} \N
{} \N
-- !sql_11 --
1 {"x":[1]}
2 {"a":"1"}
3 {"x":[3]}
4 {"y":1}
5 {"z":2.0}
6 {"x":111}
7 {"m":1}
8 {"l":2}
9 {"g":1.11}
10 {"z":1.1111}
11 {"sala":0}
12 {"dddd":0.1}
13 {"a":1}
14 {"a":[[[1]]]}
15 {"a":1}
16 {"a":"1223"}
17 {"a":[1]}
18 {"a":["1",2,1.1]}
19 {"a":1,"b":{"c":1}}
20 {"a":1,"b":{"c":[{"a":1}]}}
21 {"a":1,"b":{"c":[{"a":1}]}}
22 {"a":1,"b":{"c":[{"a":1}]}}
1022 {"a":1,"b":10}
1029 {"a":1,"b":{"c":1}}
1999 {"a":1,"b":{"c":1}}
19921 {"a":1,"b":10}
-- !sql_22 --
14 [null]
17 [1]
18 [1, 2, 1]
-- !sql_33 --
19 1 {"c":1}
20 1 {"c":[{"a":1}]}
21 1 {"c":[{"a":1}]}
22 1 {"c":[{"a":1}]}
1029 1 {"c":1}
1999 1 {"c":1}
-- !sql_55 --
10 \N
{"c":1} 1
{"c":1} 1
10 \N
{"c":[{"a":1}]} [{"a":1}]
{"c":[{"a":1}]} [{"a":1}]
{"c":[{"a":1}]} [{"a":1}]
{"c":1} 1
-- !sql_1 --
1 {"x":[1]}
2 {"a":"1"}
3 {"x":[3]}
4 {"y":1}
5 {"z":2.0}
6 {"x":111}
7 {"m":1}
8 {"l":2}
9 {"g":1.11}
10 {"z":1.1111}
11 {"sala":0}
12 {"dddd":0.1}
13 {"a":1}
14 {"a":[[[1]]]}
15 {"a":1}
16 {"a":"1223"}
17 {"a":[1]}
18 {"a":["1",2,1.1]}
19 {"a":1,"b":{"c":1}}
20 {"a":1,"b":{"c":[{"a":1}]}}
21 {"a":1,"b":{"c":[{"a":1}]}}
22 {"a":1,"b":{"c":[{"a":1}]}}
1022 {"a":1,"b":10}
1029 {"a":1,"b":{"c":1}}
1999 {"a":1,"b":{"c":1}}
19921 {"a":1,"b":10}
-- !sql_2 --
14 [null]
17 [1]
18 [1, 2, 1]
-- !sql_3 --
19 1 {"c":1}
20 1 {"c":[{"a":1}]}
21 1 {"c":[{"a":1}]}
22 1 {"c":[{"a":1}]}
1029 1 {"c":1}
1999 1 {"c":1}
-- !sql_5 --
10 \N
{"c":1} 1
{"c":1} 1
10 \N
{"c":[{"a":1}]} [{"a":1}]
{"c":[{"a":1}]} [{"a":1}]
{"c":[{"a":1}]} [{"a":1}]
{"c":1} 1
{} \N
{} \N
-- !sql_11 --
1 {"x":[1]}
2 {"a":"1"}
3 {"x":[3]}
4 {"y":1}
5 {"z":2.0}
6 {"x":111}
7 {"m":1}
8 {"l":2}
9 {"g":1.11}
10 {"z":1.1111}
11 {"sala":0}
12 {"dddd":0.1}
13 {"a":1}
14 {"a":[[[1]]]}
15 {"a":1}
16 {"a":"1223"}
17 {"a":[1]}
18 {"a":["1",2,1.1]}
19 {"a":1,"b":{"c":1}}
20 {"a":1,"b":{"c":[{"a":1}]}}
21 {"a":1,"b":{"c":[{"a":1}]}}
22 {"a":1,"b":{"c":[{"a":1}]}}
1022 {"a":1,"b":10}
1029 {"a":1,"b":{"c":1}}
1999 {"a":1,"b":{"c":1}}
19921 {"a":1,"b":10}
-- !sql_22 --
14 [null]
17 [1]
18 [1, 2, 1]
-- !sql_33 --
19 1 {"c":1}
20 1 {"c":[{"a":1}]}
21 1 {"c":[{"a":1}]}
22 1 {"c":[{"a":1}]}
1029 1 {"c":1}
1999 1 {"c":1}
-- !sql_55 --
10 \N
{"c":1} 1
{"c":1} 1
10 \N
{"c":[{"a":1}]} [{"a":1}]
{"c":[{"a":1}]} [{"a":1}]
{"c":[{"a":1}]} [{"a":1}]
{"c":1} 1