Skip to content

Commit 673f0d6

Browse files
committed
Added ARRAY type to exhaustive switch, and disabled integration test
1 parent 6d73137 commit 673f0d6

2 files changed

Lines changed: 12 additions & 5 deletions

File tree

src/op/scan/duckdb_native_metadata.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ bool is_supported_logical_type(const sirius::logical_type& type, std::string& re
104104
return false;
105105
case sirius::type_id::STRUCT:
106106
case sirius::type_id::LIST:
107+
case sirius::type_id::ARRAY:
107108
reason_out =
108109
"type " + type.to_string() + " is a nested type; sirius decode does not support it";
109110
return false;

test/cpp/integration/test_gpu_execution_array.cpp

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -156,9 +156,15 @@ class ArrayFixture {
156156
// Scan + projection passthrough
157157
//===----------------------------------------------------------------------===//
158158

159+
// NOTE: GPU decoding of the ARRAY (nested) type is out of scope for this PR.
160+
// The DuckDB-native scan path rejects nested types (see is_supported_logical_type
161+
// in duckdb_native_metadata.cpp), so these end-to-end ARRAY scan queries cannot
162+
// run on the GPU yet. The tests below are deferred. Re-enable once native-scan
163+
// ARRAY decode lands.
164+
159165
TEST_CASE_METHOD(ArrayFixture,
160166
"gpu_execution array - scan INTEGER[3] passthrough",
161-
"[integration][gpu_execution][array][scan]")
167+
"[.][integration][gpu_execution][array][scan]")
162168
{
163169
run_ok("CREATE TABLE arr_int (id INTEGER, a INTEGER[3]);");
164170
run_ok("INSERT INTO arr_int VALUES (1, [10, 20, 30]), (2, [40, 50, 60]), (3, [70, 80, 90]);");
@@ -171,7 +177,7 @@ TEST_CASE_METHOD(ArrayFixture,
171177

172178
TEST_CASE_METHOD(ArrayFixture,
173179
"gpu_execution array - element types DOUBLE and BIGINT",
174-
"[integration][gpu_execution][array][scan]")
180+
"[.][integration][gpu_execution][array][scan]")
175181
{
176182
run_ok("CREATE TABLE arr_dbl (id INTEGER, a DOUBLE[2]);");
177183
run_ok("INSERT INTO arr_dbl VALUES (1, [1.5, 2.5]), (2, [3.25, 4.75]);");
@@ -188,7 +194,7 @@ TEST_CASE_METHOD(ArrayFixture,
188194

189195
TEST_CASE_METHOD(ArrayFixture,
190196
"gpu_execution array - NULL arrays carry list-level validity",
191-
"[integration][gpu_execution][array][nulls]")
197+
"[.][integration][gpu_execution][array][nulls]")
192198
{
193199
run_ok("CREATE TABLE arr_null (id INTEGER, a INTEGER[3]);");
194200
run_ok("INSERT INTO arr_null VALUES (1, [1, 2, 3]), (2, NULL), (3, [7, 8, 9]), (4, NULL);");
@@ -201,7 +207,7 @@ TEST_CASE_METHOD(ArrayFixture,
201207

202208
TEST_CASE_METHOD(ArrayFixture,
203209
"gpu_execution array - array column survives a filter",
204-
"[integration][gpu_execution][array][filter]")
210+
"[.][integration][gpu_execution][array][filter]")
205211
{
206212
run_ok("CREATE TABLE arr_filter (id INTEGER, a INTEGER[2]);");
207213
run_ok("INSERT INTO arr_filter VALUES (1, [1, 1]), (2, [2, 2]), (3, [3, 3]), (4, [4, 4]);");
@@ -214,7 +220,7 @@ TEST_CASE_METHOD(ArrayFixture,
214220

215221
TEST_CASE_METHOD(ArrayFixture,
216222
"gpu_execution array - many rows span multiple scan batches",
217-
"[integration][gpu_execution][array][scan]")
223+
"[.][integration][gpu_execution][array][scan]")
218224
{
219225
run_ok("CREATE TABLE arr_big_n (id INTEGER, a INTEGER[3]);");
220226
// 5000 rows > STANDARD_VECTOR_SIZE (2048), forcing the scan to produce

0 commit comments

Comments
 (0)