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]