amorynan commented on code in PR #53083:
URL: https://github.com/apache/doris/pull/53083#discussion_r2204096118


##########
regression-test/data/variant_p0/nested/load.out:
##########
@@ -0,0 +1,448 @@
+-- This file is automatically generated. You should know what you did if you 
want to edit this
+-- !sql_desc --
+k      bigint  Yes     true    \N      
+v      variant Yes     false   \N      NONE
+v.nested.a     array<tinyint>  Yes     false   \N      NONE
+v.nested.b     array<text>     Yes     false   \N      NONE
+v.nested.c     array<double>   Yes     false   \N      NONE
+
+-- !sql_0 --
+1      {"nested":[{"a":1,"c":1.1},{"b":"1"}]}
+
+-- !sql_1 --
+[1, null]
+
+-- !sql_2 --
+[null, "1"]
+
+-- !sql_3 --
+[1.1, null]
+
+-- !sql_4 --
+[{"a":1,"c":1.1}, {"b":"1"}]
+
+-- !sql_8 --
+[1, null]      2
+
+-- !sql_9 --
+[null, 1]      2
+
+-- !sql_10 --
+[1, null]      2
+
+-- !sql_11 --
+["1", null]    2
+
+-- !sql_12 --
+[null, "1"]    2
+
+-- !sql_13 --
+["1.1", null]  2
+
+-- !sql_14 --
+[1, null]      2
+
+-- !sql_15 --
+[null, 1]      2
+
+-- !sql_16 --
+[1.1, null]    2
+
+-- !sql_desc --
+k      bigint  Yes     true    \N      
+v      variant Yes     false   \N      NONE
+v.nested.a     array<double>   Yes     false   \N      NONE
+v.nested.b     array<json>     Yes     false   \N      NONE
+v.nested.c     array<json>     Yes     false   \N      NONE
+
+-- !sql_0 --
+1      {"nested":[{"a":1.0,"c":1.1},{"b":"1"}]}
+3      {"nested":[{"a":2.5,"b":"123.1"}]}
+4      {"nested":[{"a":2.5,"b":123.1}]}
+5      {"nested":[{"a":2.5,"c":"123.1"},{"b":"123.1"}]}
+6      {"nested":[{"a":2.5},{"b":123.1}]}
+7      {"nested":[{"a":2.5},{"c":123.1},{"b":"123.1"}]}
+
+-- !sql_1 --
+[1, null]
+[2.5]
+[2.5]
+[2.5, null]
+[2.5, null]
+[2.5, null, null]
+
+-- !sql_2 --
+[null, ""1""]
+[""123.1""]
+["123.1"]
+[null, ""123.1""]
+[null, "123.1"]
+[null, null, ""123.1""]
+
+-- !sql_3 --
+["1.1", null]
+\N
+\N
+[""123.1"", null]
+\N
+[null, "123.1", null]
+
+-- !sql_4 --
+[{"a":1.0,"c":1.1}, {"b":"1"}]
+[{"a":2.5,"b":"123.1"}]
+[{"a":2.5,"b":123.1}]
+[{"a":2.5,"c":"123.1"}, {"b":"123.1"}]
+[{"a":2.5}, {"b":123.1}]
+[{"a":2.5}, {"c":123.1}, {"b":"123.1"}]
+
+-- !sql_8 --
+[1, null]      2
+[2]    1
+[2]    1
+[2, null]      2
+[2, null]      2
+[2, null, null]        3
+
+-- !sql_9 --
+[null, 1]      2
+[123]  1
+[123]  1
+[null, 123]    2
+[null, 123]    2
+[null, null, 123]      3
+
+-- !sql_10 --
+[1, null]      2
+\N     \N
+\N     \N
+[123, null]    2
+\N     \N
+[null, 123, null]      3
+
+-- !sql_11 --
+["1", null]    2
+["2.5"]        1
+["2.5"]        1
+["2.5", null]  2
+["2.5", null]  2
+["2.5", null, null]    3
+
+-- !sql_12 --
+[null, "1"]    2
+["123.1"]      1
+["123.1"]      1
+[null, "123.1"]        2
+[null, "123.1"]        2
+[null, null, "123.1"]  3
+
+-- !sql_13 --
+["1.1", null]  2
+\N     \N
+\N     \N
+["123.1", null]        2
+\N     \N
+[null, "123.1", null]  3
+
+-- !sql_14 --
+[1, null]      2
+[2.5]  1
+[2.5]  1
+[2.5, null]    2
+[2.5, null]    2
+[2.5, null, null]      3
+
+-- !sql_15 --
+[null, 1]      2
+[123.1]        1
+[123.1]        1
+[null, 123.1]  2
+[null, 123.1]  2
+[null, null, 123.1]    3
+
+-- !sql_16 --
+[1.1, null]    2
+\N     \N
+\N     \N
+[123.1, null]  2
+\N     \N
+[null, 123.1, null]    3
+
+-- !sql_desc --
+k      bigint  Yes     true    \N      
+v      variant Yes     false   \N      NONE
+v.nested.a     double  Yes     false   \N      NONE
+v.nested.b     text    Yes     false   \N      NONE
+
+-- !sql_0 --
+1      {"nested":{"a":2.5,"b":"123.1"}}
+
+-- !sql_1 --
+2.5
+
+-- !sql_2 --
+123.1
+
+-- !sql_3 --
+\N
+
+-- !sql_4 --
+{"a":2.5,"b":"123.1"}
+
+-- !sql_8 --
+\N     \N
+
+-- !sql_9 --
+\N     \N
+
+-- !sql_10 --
+\N     \N
+
+-- !sql_11 --
+\N     \N
+
+-- !sql_12 --
+\N     \N
+
+-- !sql_13 --
+\N     \N
+
+-- !sql_14 --
+\N     \N
+
+-- !sql_15 --
+\N     \N
+
+-- !sql_16 --
+\N     \N
+
+-- !sql_desc --
+k      bigint  Yes     true    \N      
+v      variant Yes     false   \N      NONE
+v.nested.a     double  Yes     false   \N      NONE
+v.nested.b     json    Yes     false   \N      NONE
+v.nested.c     json    Yes     false   \N      NONE
+
+-- !sql_0 --
+1      {"nested":{"a":2.5,"b":"123.1"}}
+3      {"nested":{"a":2.5,"b":123.1}}
+4      {"nested":{"a":2.5,"c":"123.1"}}
+5      {"nested":{"a":2.5,"c":123.1}}
+6      {"nested":{"a":2.5,"c":"123.1"}}
+7      {"nested":{"a":2.5,"b":"123.1","c":123.1}}
+
+-- !sql_1 --
+2.5
+2.5
+2.5
+2.5
+2.5
+2.5
+
+-- !sql_2 --
+"123.1"
+123.1
+\N
+\N
+\N
+"123.1"
+
+-- !sql_3 --
+\N
+\N
+"123.1"
+123.1
+"123.1"
+123.1
+
+-- !sql_4 --
+{"a":2.5,"b":"123.1"}
+{"a":2.5,"b":123.1}
+{"a":2.5,"c":"123.1"}
+{"a":2.5,"c":123.1}
+{"a":2.5,"c":"123.1"}
+{"a":2.5,"b":"123.1","c":123.1}
+
+-- !sql_8 --
+\N     \N
+\N     \N
+\N     \N
+\N     \N
+\N     \N
+\N     \N
+
+-- !sql_9 --
+\N     \N
+\N     \N
+\N     \N
+\N     \N
+\N     \N
+\N     \N
+
+-- !sql_10 --
+\N     \N
+\N     \N
+\N     \N
+\N     \N
+\N     \N
+\N     \N
+
+-- !sql_11 --
+\N     \N
+\N     \N
+\N     \N
+\N     \N
+\N     \N
+\N     \N
+
+-- !sql_12 --
+\N     \N
+\N     \N
+\N     \N
+\N     \N
+\N     \N
+\N     \N
+
+-- !sql_13 --
+\N     \N
+\N     \N
+\N     \N
+\N     \N
+\N     \N
+\N     \N
+
+-- !sql_14 --
+\N     \N
+\N     \N
+\N     \N
+\N     \N
+\N     \N
+\N     \N
+
+-- !sql_15 --
+\N     \N
+\N     \N
+\N     \N
+\N     \N
+\N     \N
+\N     \N
+
+-- !sql_16 --
+\N     \N
+\N     \N
+\N     \N
+\N     \N
+\N     \N
+\N     \N
+
+-- !sql_0 --
+1      {"nested":{"a":2.5,"b":"123.1"}}
+3      {"nested":{"a":2.5,"b":123.1}}
+4      {"nested":{"a":2.5,"c":"123.1"}}
+5      {"nested":{"a":2.5,"c":123.1}}
+6      {"nested":{"a":2.5,"c":"123.1"}}
+7      {"nested":{"a":2.5,"b":"123.1","c":123.1}}
+
+-- !sql_1 --
+2.5
+2.5
+2.5
+2.5
+2.5
+2.5
+
+-- !sql_2 --
+"123.1"
+123.1
+\N
+\N
+\N
+"123.1"
+
+-- !sql_3 --
+\N
+\N
+"123.1"
+123.1
+"123.1"
+123.1
+
+-- !sql_4 --
+{"a":2.5,"b":"123.1"}
+{"a":2.5,"b":123.1}
+{"a":2.5,"c":"123.1"}
+{"a":2.5,"c":123.1}
+{"a":2.5,"c":"123.1"}
+{"a":2.5,"b":"123.1","c":123.1}
+
+-- !sql_8 --

Review Comment:
   是的 case 中我写了两个函数组 sql_test_cast_to_array 和 sql_test_cast_to_scalar ,在表中插入了 
array 的数据 后者 scalar 数据之后都会调用这两个函数组,所以array 的数据 执行 sql_test_cast_to_scalar 函数组就是 
NULL,反过来也是



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to