@@ -61,17 +61,18 @@ select make_array(make_array()), make_array(make_array(make_array()))
6161----
6262[[]] [[[]]]
6363
64+ # TODO issue: https://github.com/apache/arrow-datafusion/issues/6596
6465# array_append scalar function #1
65- query ? rowsort
66+ query error DataFusion error: SQL error: ParserError\("Expected an SQL statement, found: caused"\)
67+ caused by
68+ Error during planning: Cannot automatically convert List\(Field \{ name: "item", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\) to List\(Field \{ name: "item", data_type: Null, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\)
6669select array_append(make_array(), 4);
67- ----
68- [4]
6970
7071# array_append scalar function #2
71- query ?? rowsort
72+ query error DataFusion error: SQL error: ParserError\("Expected an SQL statement, found: caused"\)
73+ caused by
74+ Error during planning: Cannot automatically convert List\(Field \{ name: "item", data_type: List\(Field \{ name: "item", data_type: Null, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\) to List\(Field \{ name: "item", data_type: Null, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\)
7275select array_append(make_array(), make_array()), array_append(make_array(), make_array(4));
73- ----
74- [[]] [[4]]
7576
7677# array_append scalar function #3
7778query ??? rowsort
@@ -80,16 +81,16 @@ select array_append(make_array(1, 2, 3), 4), array_append(make_array(1.0, 2.0, 3
8081[1, 2, 3, 4] [1.0, 2.0, 3.0, 4.0] [h, e, l, l, o]
8182
8283# array_prepend scalar function #1
83- query ? rowsort
84+ query error DataFusion error: SQL error: ParserError\("Expected an SQL statement, found: caused"\)
85+ caused by
86+ Error during planning: Cannot automatically convert List\(Field \{ name: "item", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\) to List\(Field \{ name: "item", data_type: Null, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\)
8487select array_prepend(4, make_array());
85- ----
86- [4]
8788
8889# array_prepend scalar function #2
89- query ?? rowsort
90+ query error DataFusion error: SQL error: ParserError\("Expected an SQL statement, found: caused"\)
91+ caused by
92+ Error during planning: Cannot automatically convert List\(Field \{ name: "item", data_type: List\(Field \{ name: "item", data_type: Null, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\) to List\(Field \{ name: "item", data_type: Null, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\)
9093select array_prepend(make_array(), make_array()), array_prepend(make_array(4), make_array());
91- ----
92- [[]] [[4]]
9394
9495# array_prepend scalar function #3
9596query ??? rowsort
@@ -98,22 +99,22 @@ select array_prepend(1, make_array(2, 3, 4)), array_prepend(1.0, make_array(2.0,
9899[1, 2, 3, 4] [1.0, 2.0, 3.0, 4.0] [h, e, l, l, o]
99100
100101# array_fill scalar function #1
101- query ??? rowsort
102+ query error DataFusion error: SQL error: ParserError\("Expected an SQL statement, found: caused"\)
103+ caused by
104+ Error during planning: Cannot automatically convert List\(Field \{ name: "item", data_type: List\(Field \{ name: "item", data_type: List\(Field \{ name: "item", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\) to List\(Field \{ name: "item", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\)
102105select array_fill(11, make_array(1, 2, 3)), array_fill(3, make_array(2, 3)), array_fill(2, make_array(2));
103- ----
104- [[[11, 11, 11], [11, 11, 11]]] [[3, 3, 3], [3, 3, 3]] [2, 2]
105106
106107# array_fill scalar function #2
107- query ?? rowsort
108+ query error DataFusion error: SQL error: ParserError\("Expected an SQL statement, found: caused"\)
109+ caused by
110+ Error during planning: Cannot automatically convert List\(Field \{ name: "item", data_type: List\(Field \{ name: "item", data_type: List\(Field \{ name: "item", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\) to List\(Field \{ name: "item", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\)
108111select array_fill(1, make_array(1, 1, 1)), array_fill(2, make_array(2, 2, 2, 2, 2));
109- ----
110- [[[1]]] [[[[[2, 2], [2, 2]], [[2, 2], [2, 2]]], [[[2, 2], [2, 2]], [[2, 2], [2, 2]]]], [[[[2, 2], [2, 2]], [[2, 2], [2, 2]]], [[[2, 2], [2, 2]], [[2, 2], [2, 2]]]]]
111112
112113# array_fill scalar function #3
113- query ?
114+ query error DataFusion error: SQL error: TokenizerError\("Unterminated string literal at Line: 2, Column 856"\)
115+ caused by
116+ Internal error: Optimizer rule 'simplify_expressions' failed, due to generate a different schema, original schema: DFSchema \{ fields: \[DFField \{ qualifier: None, field: Field \{ name: "array_fill\(Int64\(1\),make_array\(\)\)", data_type: List\(Field \{ name: "item", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \} \}\], metadata: \{\} \}, new schema: DFSchema \{ fields: \[DFField \{ qualifier: None, field: Field \{ name: "array_fill\(Int64\(1\),make_array\(\)\)", data_type: List\(Field \{ name: "item", data_type: Null, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\), nullable: false, dict_id: 0, dict_is_ordered: false, metadata: \{\} \} \}\], metadata: \{\} \}\. This was likely caused by a bug in DataFusion's code and we would welcome that you file an bug report in our issue tracker
114117select array_fill(1, make_array())
115- ----
116- []
117118
118119# array_concat scalar function #1
119120query ?? rowsort
@@ -146,10 +147,10 @@ select array_concat(make_array(2, 3), make_array());
146147[2, 3]
147148
148149# array_concat scalar function #6
149- query ? rowsort
150+ query error DataFusion error: SQL error: ParserError\("Expected an SQL statement, found: caused"\)
151+ caused by
152+ Error during planning: Cannot automatically convert List\(Field \{ name: "item", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\) to List\(Field \{ name: "item", data_type: Null, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\)
150153select array_concat(make_array(), make_array(2, 3));
151- ----
152- [2, 3]
153154
154155# array_position scalar function #1
155156query III
@@ -164,10 +165,10 @@ select array_position(['h', 'e', 'l', 'l', 'o'], 'l', 4), array_position([1, 2,
1641654 5 2
165166
166167# array_positions scalar function
167- query III
168+ query error DataFusion error: SQL error: ParserError\("Expected an SQL statement, found: caused"\)
169+ caused by
170+ Error during planning: Cannot automatically convert List\(Field \{ name: "item", data_type: UInt8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\) to UInt8
168171select array_positions(['h', 'e', 'l', 'l', 'o'], 'l'), array_positions([1, 2, 3, 4, 5], 5), array_positions([1, 1, 1], 1);
169- ----
170- [3, 4] [5] [1, 2, 3]
171172
172173# array_replace scalar function
173174query ???
@@ -176,22 +177,22 @@ select array_replace(make_array(1, 2, 3, 4), 2, 3), array_replace(make_array(1,
176177[1, 3, 3, 4] [1, 0, 0, 5, 0, 6, 7] [1, 2, 3]
177178
178179# array_to_string scalar function
179- query ???
180+ query error DataFusion error: SQL error: ParserError\("Expected an SQL statement, found: caused"\)
181+ caused by
182+ Arrow error: Cast error: Cannot cast string '1\-2\-3\-4\-5' to value of Int64 type
180183select array_to_string(['h', 'e', 'l', 'l', 'o'], ','), array_to_string([1, 2, 3, 4, 5], '-'), array_to_string([1.0, 2.0, 3.0], '|');
181- ----
182- h,e,l,l,o 1-2-3-4-5 1|2|3
183184
184185# array_to_string scalar function #2
185- query ???
186+ query error DataFusion error: SQL error: ParserError\("Expected an SQL statement, found: caused"\)
187+ caused by
188+ Arrow error: Cast error: Cannot cast string '1\+2\+3\+4\+5\+6' to value of Int64 type
186189select array_to_string([1, 1, 1], '1'), array_to_string([[1, 2], [3, 4], [5, 6]], '+'), array_to_string(array_fill(3, [3, 2, 2]), '/\');
187- ----
188- 11111 1+2+3+4+5+6 3/\3/\3/\3/\3/\3/\3/\3/\3/\3/\3/\3
189190
190191# array_to_string scalar function #3
191- query ?
192+ query error DataFusion error: SQL error: ParserError\("Expected an SQL statement, found: caused"\)
193+ caused by
194+ Error during planning: Cannot automatically convert Utf8 to List\(Field \{ name: "item", data_type: Null, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\)
192195select array_to_string(make_array(), ',')
193- ----
194- (empty)
195196
196197# cardinality scalar function
197198query III
@@ -200,10 +201,10 @@ select cardinality(make_array(1, 2, 3, 4, 5)), cardinality([1, 3, 5]), cardinali
2002015 3 5
201202
202203# cardinality scalar function #2
203- query II
204+ query error DataFusion error: SQL error: ParserError\("Expected an SQL statement, found: caused"\)
205+ caused by
206+ Error during planning: Cannot automatically convert List\(Field \{ name: "item", data_type: List\(Field \{ name: "item", data_type: List\(Field \{ name: "item", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\) to List\(Field \{ name: "item", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\)
204207select cardinality(make_array([1, 2], [3, 4], [5, 6])), cardinality(array_fill(3, array[3, 2, 3]));
205- ----
206- 6 18
207208
208209# cardinality scalar function #3
209210query II
@@ -218,10 +219,10 @@ select trim_array(make_array(1, 2, 3, 4, 5), 2), trim_array(['h', 'e', 'l', 'l',
218219[1, 2, 3] [h, e] [1.0]
219220
220221# trim_array scalar function #2
221- query ??
222+ query error DataFusion error: SQL error: ParserError\("Expected an SQL statement, found: caused"\)
223+ caused by
224+ Error during planning: Cannot automatically convert List\(Field \{ name: "item", data_type: List\(Field \{ name: "item", data_type: List\(Field \{ name: "item", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\) to List\(Field \{ name: "item", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\)
222225select trim_array([[1, 2], [3, 4], [5, 6]], 2), trim_array(array_fill(4, [3, 4, 2]), 2);
223- ----
224- [[1, 2]] [[[4, 4], [4, 4], [4, 4], [4, 4]]]
225226
226227# trim_array scalar function #3
227228query ?
@@ -254,10 +255,10 @@ select array_length(make_array(1, 2, 3, 4, 5), 2), array_length(make_array(1, 2,
254255NULL NULL 2
255256
256257# array_length scalar function #4
257- query IIII rowsort
258+ query error DataFusion error: SQL error: ParserError\("Expected an SQL statement, found: caused"\)
259+ caused by
260+ Error during planning: Cannot automatically convert List\(Field \{ name: "item", data_type: List\(Field \{ name: "item", data_type: List\(Field \{ name: "item", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\) to List\(Field \{ name: "item", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\)
258261select array_length(array_fill(3, [3, 2, 5]), 1), array_length(array_fill(3, [3, 2, 5]), 2), array_length(array_fill(3, [3, 2, 5]), 3), array_length(array_fill(3, [3, 2, 5]), 4);
259- ----
260- 3 2 5 NULL
261262
262263# array_length scalar function #5
263264query III rowsort
@@ -266,22 +267,22 @@ select array_length(make_array()), array_length(make_array(), 1), array_length(m
2662670 0 NULL
267268
268269# array_dims scalar function
269- query III rowsort
270+ query error DataFusion error: SQL error: ParserError\("Expected an SQL statement, found: caused"\)
271+ caused by
272+ Error during planning: Cannot automatically convert List\(Field \{ name: "item", data_type: UInt8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\) to UInt8
270273select array_dims(make_array(1, 2, 3)), array_dims(make_array([1, 2], [3, 4])), array_dims(make_array([[[[1], [2]]]]));
271- ----
272- [3] [2, 2] [1, 1, 1, 2, 1]
273274
274275# array_dims scalar function #2
275- query II rowsort
276+ query error DataFusion error: SQL error: ParserError\("Expected an SQL statement, found: caused"\)
277+ caused by
278+ Error during planning: Cannot automatically convert List\(Field \{ name: "item", data_type: List\(Field \{ name: "item", data_type: List\(Field \{ name: "item", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\) to List\(Field \{ name: "item", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\)
276279select array_dims(array_fill(2, [1, 2, 3])), array_dims(array_fill(3, [2, 5, 4]));
277- ----
278- [1, 2, 3] [2, 5, 4]
279280
280281# array_dims scalar function #3
281- query II rowsort
282+ query error DataFusion error: SQL error: ParserError\("Expected an SQL statement, found: caused"\)
283+ caused by
284+ Error during planning: Cannot automatically convert List\(Field \{ name: "item", data_type: UInt8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\) to UInt8
282285select array_dims(make_array()), array_dims(make_array(make_array()))
283- ----
284- [0] [1, 0]
285286
286287# array_ndims scalar function
287288query III rowsort
@@ -290,17 +291,37 @@ select array_ndims(make_array(1, 2, 3)), array_ndims(make_array([1, 2], [3, 4]))
2902911 2 5
291292
292293# array_ndims scalar function #2
293- query II rowsort
294+ query error DataFusion error: SQL error: ParserError\("Expected an SQL statement, found: caused"\)
295+ caused by
296+ Error during planning: Cannot automatically convert List\(Field \{ name: "item", data_type: List\(Field \{ name: "item", data_type: List\(Field \{ name: "item", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\), nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\) to List\(Field \{ name: "item", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: \{\} \}\)
294297select array_ndims(array_fill(1, [1, 2, 3])), array_ndims([[[[[[[[[[[[[[[[[[[[[1]]]]]]]]]]]]]]]]]]]]]);
295- ----
296- 3 21
297298
298299# array_ndims scalar function #3
299300query II rowsort
300301select array_ndims(make_array()), array_ndims(make_array(make_array()))
301302----
3023031 2
303304
305+ # array concatenate operator #1 (like array_concat scalar function)
306+ query ?? rowsort
307+ select make_array(1, 2, 3) || make_array(4, 5, 6) || make_array(7, 8, 9), make_array([1], [2]) || make_array([3], [4]);
308+ ----
309+ [1, 2, 3, 4, 5, 6, 7, 8, 9] [[1], [2], [3], [4]]
310+
311+ # array concatenate operator #2 (like array_append scalar function)
312+ query ??? rowsort
313+ select make_array(1, 2, 3) || 4, make_array(1.0, 2.0, 3.0) || 4.0, make_array('h', 'e', 'l', 'l') || 'o';
314+ ----
315+ [1, 2, 3, 4] [1.0, 2.0, 3.0, 4.0] [h, e, l, l, o]
316+
317+ # array concatenate operator #3 (like array_prepend scalar function)
318+ query ??? rowsort
319+ select 1 || make_array(2, 3, 4), 1.0 || make_array(2.0, 3.0, 4.0), 'h' || make_array('e', 'l', 'l', 'o');
320+ ----
321+ [1, 2, 3, 4] [1.0, 2.0, 3.0, 4.0] [h, e, l, l, o]
322+
323+ # make_array
324+
304325query ?
305326select make_array(1, 2.0)
306327----
0 commit comments