diff --git a/Cargo.lock b/Cargo.lock index 30d3e8a11f65..c9a9bdf4363a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -246,9 +246,8 @@ checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "arrow" -version = "55.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3095aaf545942ff5abd46654534f15b03a90fba78299d661e045e5d587222f0d" +version = "55.1.0" +source = "git+https://github.com/apache/arrow-rs.git?rev=5a6f62b737bd40e5e089447ca6678493dfc018de#5a6f62b737bd40e5e089447ca6678493dfc018de" dependencies = [ "arrow-arith", "arrow-array", @@ -270,9 +269,8 @@ dependencies = [ [[package]] name = "arrow-arith" -version = "55.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00752064ff47cee746e816ddb8450520c3a52cbad1e256f6fa861a35f86c45e7" +version = "55.1.0" +source = "git+https://github.com/apache/arrow-rs.git?rev=5a6f62b737bd40e5e089447ca6678493dfc018de#5a6f62b737bd40e5e089447ca6678493dfc018de" dependencies = [ "arrow-array", "arrow-buffer", @@ -284,9 +282,8 @@ dependencies = [ [[package]] name = "arrow-array" -version = "55.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cebfe926794fbc1f49ddd0cdaf898956ca9f6e79541efce62dabccfd81380472" +version = "55.1.0" +source = "git+https://github.com/apache/arrow-rs.git?rev=5a6f62b737bd40e5e089447ca6678493dfc018de#5a6f62b737bd40e5e089447ca6678493dfc018de" dependencies = [ "ahash 0.8.11", "arrow-buffer", @@ -301,9 +298,8 @@ dependencies = [ [[package]] name = "arrow-buffer" -version = "55.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0303c7ec4cf1a2c60310fc4d6bbc3350cd051a17bf9e9c0a8e47b4db79277824" +version = "55.1.0" +source = "git+https://github.com/apache/arrow-rs.git?rev=5a6f62b737bd40e5e089447ca6678493dfc018de#5a6f62b737bd40e5e089447ca6678493dfc018de" dependencies = [ "bytes", "half", @@ -312,9 +308,8 @@ dependencies = [ [[package]] name = "arrow-cast" -version = "55.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "335f769c5a218ea823d3760a743feba1ef7857cba114c01399a891c2fff34285" +version = "55.1.0" +source = "git+https://github.com/apache/arrow-rs.git?rev=5a6f62b737bd40e5e089447ca6678493dfc018de#5a6f62b737bd40e5e089447ca6678493dfc018de" dependencies = [ "arrow-array", "arrow-buffer", @@ -333,9 +328,8 @@ dependencies = [ [[package]] name = "arrow-csv" -version = "55.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "510db7dfbb4d5761826516cc611d97b3a68835d0ece95b034a052601109c0b1b" +version = "55.1.0" +source = "git+https://github.com/apache/arrow-rs.git?rev=5a6f62b737bd40e5e089447ca6678493dfc018de#5a6f62b737bd40e5e089447ca6678493dfc018de" dependencies = [ "arrow-array", "arrow-cast", @@ -349,9 +343,8 @@ dependencies = [ [[package]] name = "arrow-data" -version = "55.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8affacf3351a24039ea24adab06f316ded523b6f8c3dbe28fbac5f18743451b" +version = "55.1.0" +source = "git+https://github.com/apache/arrow-rs.git?rev=5a6f62b737bd40e5e089447ca6678493dfc018de#5a6f62b737bd40e5e089447ca6678493dfc018de" dependencies = [ "arrow-buffer", "arrow-schema", @@ -361,9 +354,8 @@ dependencies = [ [[package]] name = "arrow-flight" -version = "55.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2e0fad280f41a918d53ba48288a246ff04202d463b3b380fbc0edecdcb52cfd" +version = "55.1.0" +source = "git+https://github.com/apache/arrow-rs.git?rev=5a6f62b737bd40e5e089447ca6678493dfc018de#5a6f62b737bd40e5e089447ca6678493dfc018de" dependencies = [ "arrow-arith", "arrow-array", @@ -388,9 +380,8 @@ dependencies = [ [[package]] name = "arrow-ipc" -version = "55.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69880a9e6934d9cba2b8630dd08a3463a91db8693b16b499d54026b6137af284" +version = "55.1.0" +source = "git+https://github.com/apache/arrow-rs.git?rev=5a6f62b737bd40e5e089447ca6678493dfc018de#5a6f62b737bd40e5e089447ca6678493dfc018de" dependencies = [ "arrow-array", "arrow-buffer", @@ -402,9 +393,8 @@ dependencies = [ [[package]] name = "arrow-json" -version = "55.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8dafd17a05449e31e0114d740530e0ada7379d7cb9c338fd65b09a8130960b0" +version = "55.1.0" +source = "git+https://github.com/apache/arrow-rs.git?rev=5a6f62b737bd40e5e089447ca6678493dfc018de#5a6f62b737bd40e5e089447ca6678493dfc018de" dependencies = [ "arrow-array", "arrow-buffer", @@ -424,9 +414,8 @@ dependencies = [ [[package]] name = "arrow-ord" -version = "55.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "895644523af4e17502d42c3cb6b27cb820f0cb77954c22d75c23a85247c849e1" +version = "55.1.0" +source = "git+https://github.com/apache/arrow-rs.git?rev=5a6f62b737bd40e5e089447ca6678493dfc018de#5a6f62b737bd40e5e089447ca6678493dfc018de" dependencies = [ "arrow-array", "arrow-buffer", @@ -437,9 +426,8 @@ dependencies = [ [[package]] name = "arrow-row" -version = "55.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9be8a2a4e5e7d9c822b2b8095ecd77010576d824f654d347817640acfc97d229" +version = "55.1.0" +source = "git+https://github.com/apache/arrow-rs.git?rev=5a6f62b737bd40e5e089447ca6678493dfc018de#5a6f62b737bd40e5e089447ca6678493dfc018de" dependencies = [ "arrow-array", "arrow-buffer", @@ -450,9 +438,8 @@ dependencies = [ [[package]] name = "arrow-schema" -version = "55.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7450c76ab7c5a6805be3440dc2e2096010da58f7cab301fdc996a4ee3ee74e49" +version = "55.1.0" +source = "git+https://github.com/apache/arrow-rs.git?rev=5a6f62b737bd40e5e089447ca6678493dfc018de#5a6f62b737bd40e5e089447ca6678493dfc018de" dependencies = [ "bitflags 2.8.0", "serde", @@ -461,9 +448,8 @@ dependencies = [ [[package]] name = "arrow-select" -version = "55.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa5f5a93c75f46ef48e4001535e7b6c922eeb0aa20b73cf58d09e13d057490d8" +version = "55.1.0" +source = "git+https://github.com/apache/arrow-rs.git?rev=5a6f62b737bd40e5e089447ca6678493dfc018de#5a6f62b737bd40e5e089447ca6678493dfc018de" dependencies = [ "ahash 0.8.11", "arrow-array", @@ -475,9 +461,8 @@ dependencies = [ [[package]] name = "arrow-string" -version = "55.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e7005d858d84b56428ba2a98a107fe88c0132c61793cf6b8232a1f9bfc0452b" +version = "55.1.0" +source = "git+https://github.com/apache/arrow-rs.git?rev=5a6f62b737bd40e5e089447ca6678493dfc018de#5a6f62b737bd40e5e089447ca6678493dfc018de" dependencies = [ "arrow-array", "arrow-buffer", @@ -1210,9 +1195,9 @@ dependencies = [ [[package]] name = "brotli" -version = "7.0.0" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd" +checksum = "9991eea70ea4f293524138648e41ee89b0b2b12ddef3b255effa43c8056e0e0d" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -1221,9 +1206,9 @@ dependencies = [ [[package]] name = "brotli-decompressor" -version = "4.0.2" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74fa05ad7d803d413eb8380983b092cbbaf9a85f151b871360e7b00cd7060b37" +checksum = "874bb8112abecc98cbd6d81ea4fa7e94fb9449648c93cc89aa40c81c24d7de03" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -3932,7 +3917,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" dependencies = [ "cfg-if", - "windows-targets 0.52.6", + "windows-targets 0.48.5", ] [[package]] @@ -4409,9 +4394,8 @@ dependencies = [ [[package]] name = "parquet" -version = "55.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd31a8290ac5b19f09ad77ee7a1e6a541f1be7674ad410547d5f1eef6eef4a9c" +version = "55.1.0" +source = "git+https://github.com/apache/arrow-rs.git?rev=5a6f62b737bd40e5e089447ca6678493dfc018de#5a6f62b737bd40e5e089447ca6678493dfc018de" dependencies = [ "ahash 0.8.11", "arrow-array", @@ -4812,7 +4796,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf" dependencies = [ "heck 0.5.0", - "itertools 0.14.0", + "itertools 0.13.0", "log", "multimap", "once_cell", @@ -4832,7 +4816,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" dependencies = [ "anyhow", - "itertools 0.14.0", + "itertools 0.13.0", "proc-macro2", "quote", "syn 2.0.100", @@ -7092,7 +7076,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.48.0", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index aef3a7cbbf48..361ef992a4a1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -217,3 +217,22 @@ unnecessary_lazy_evaluations = "warn" [workspace.lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ["cfg(tarpaulin)"] } unused_qualifications = "deny" + + +# Pin to https://github.com/apache/arrow-rs/pull/7486/commits/5a6f62b737bd40e5e089447ca6678493dfc018de +# +## Temporary arrow-rs patch until 52.1.0 is released + +[patch.crates-io] +arrow = { git = "https://github.com/apache/arrow-rs.git", rev = "5a6f62b737bd40e5e089447ca6678493dfc018de" } +arrow-array = { git = "https://github.com/apache/arrow-rs.git", rev = "5a6f62b737bd40e5e089447ca6678493dfc018de" } +arrow-buffer = { git = "https://github.com/apache/arrow-rs.git", rev = "5a6f62b737bd40e5e089447ca6678493dfc018de" } +arrow-cast = { git = "https://github.com/apache/arrow-rs.git", rev = "5a6f62b737bd40e5e089447ca6678493dfc018de" } +arrow-data = { git = "https://github.com/apache/arrow-rs.git", rev = "5a6f62b737bd40e5e089447ca6678493dfc018de" } +arrow-ipc = { git = "https://github.com/apache/arrow-rs.git", rev = "5a6f62b737bd40e5e089447ca6678493dfc018de" } +arrow-schema = { git = "https://github.com/apache/arrow-rs.git", rev = "5a6f62b737bd40e5e089447ca6678493dfc018de" } +arrow-select = { git = "https://github.com/apache/arrow-rs.git", rev = "5a6f62b737bd40e5e089447ca6678493dfc018de" } +arrow-string = { git = "https://github.com/apache/arrow-rs.git", rev = "5a6f62b737bd40e5e089447ca6678493dfc018de" } +arrow-ord = { git = "https://github.com/apache/arrow-rs.git", rev = "5a6f62b737bd40e5e089447ca6678493dfc018de" } +arrow-flight = { git = "https://github.com/apache/arrow-rs.git", rev = "5a6f62b737bd40e5e089447ca6678493dfc018de" } +parquet = { git = "https://github.com/apache/arrow-rs.git", rev = "5a6f62b737bd40e5e089447ca6678493dfc018de" } diff --git a/datafusion/sqllogictest/test_files/aggregate.slt b/datafusion/sqllogictest/test_files/aggregate.slt index 552ec5e3b86a..a429c44e0edf 100644 --- a/datafusion/sqllogictest/test_files/aggregate.slt +++ b/datafusion/sqllogictest/test_files/aggregate.slt @@ -6950,7 +6950,7 @@ SELECT MIN(c), MAX(c) FROM (SELECT * FROM (SELECT STRUCT(1 as 'a', 2 as 'b') AS ---- NULL NULL -# Min/Max group struct +# Min/Max group struct query I?? rowsort WITH t AS (SELECT i as c1, i + 1 as c2 FROM generate_series(1, 10) t(i)) SELECT key, MIN(c), MAX(c) FROM (SELECT STRUCT(c1 AS 'a', c2 AS 'b') AS c, (c1 % 2) AS key FROM t) GROUP BY key @@ -6996,5 +6996,3 @@ VALUES ); ---- {a: 1, b: 2, c: 3} {a: 1, b: 2, c: 4} - - diff --git a/datafusion/sqllogictest/test_files/order.slt b/datafusion/sqllogictest/test_files/order.slt index 7d9bea3d2b6f..c8b0c379cc82 100644 --- a/datafusion/sqllogictest/test_files/order.slt +++ b/datafusion/sqllogictest/test_files/order.slt @@ -1418,4 +1418,4 @@ SELECT address, zip FROM addresses ORDER BY ALL; 111 Duck Duck Goose Ln 11111 111 Duck Duck Goose Ln 11111 111 Duck Duck Goose Ln 11111-0001 -123 Quack Blvd 11111 \ No newline at end of file +123 Quack Blvd 11111 diff --git a/datafusion/sqllogictest/test_files/regexp/regexp_count.slt b/datafusion/sqllogictest/test_files/regexp/regexp_count.slt index f64705429bfa..d842a1ee81df 100644 --- a/datafusion/sqllogictest/test_files/regexp/regexp_count.slt +++ b/datafusion/sqllogictest/test_files/regexp/regexp_count.slt @@ -341,4 +341,4 @@ statement ok drop table t_stringview; statement ok -drop table empty_table; \ No newline at end of file +drop table empty_table; diff --git a/datafusion/sqllogictest/test_files/regexp/regexp_like.slt b/datafusion/sqllogictest/test_files/regexp/regexp_like.slt index ec48d62499c8..8c407ea2e760 100644 --- a/datafusion/sqllogictest/test_files/regexp/regexp_like.slt +++ b/datafusion/sqllogictest/test_files/regexp/regexp_like.slt @@ -277,4 +277,4 @@ statement ok drop table strings statement ok -drop table dict_table \ No newline at end of file +drop table dict_table diff --git a/datafusion/sqllogictest/test_files/regexp/regexp_match.slt b/datafusion/sqllogictest/test_files/regexp/regexp_match.slt index 4b4cf4f134d8..e79af4774aa2 100644 --- a/datafusion/sqllogictest/test_files/regexp/regexp_match.slt +++ b/datafusion/sqllogictest/test_files/regexp/regexp_match.slt @@ -198,4 +198,4 @@ NULL query B select null !~* 'abc'; ---- -NULL \ No newline at end of file +NULL diff --git a/datafusion/sqllogictest/test_files/regexp/regexp_replace.slt b/datafusion/sqllogictest/test_files/regexp/regexp_replace.slt index d54261f02b81..a16801adcef7 100644 --- a/datafusion/sqllogictest/test_files/regexp/regexp_replace.slt +++ b/datafusion/sqllogictest/test_files/regexp/regexp_replace.slt @@ -126,4 +126,4 @@ select from (values ('a'), ('b')) as tbl(col); ---- NULL NULL NULL -NULL NULL NULL \ No newline at end of file +NULL NULL NULL diff --git a/datafusion/sqllogictest/test_files/struct.slt b/datafusion/sqllogictest/test_files/struct.slt index bdba73876103..2074dfac316a 100644 --- a/datafusion/sqllogictest/test_files/struct.slt +++ b/datafusion/sqllogictest/test_files/struct.slt @@ -53,9 +53,9 @@ select * from struct_values; query TT select arrow_typeof(s1), arrow_typeof(s2) from struct_values; ---- -Struct([Field { name: "c0", data_type: Int32, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }]) Struct([Field { name: "a", data_type: Int32, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "b", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }]) -Struct([Field { name: "c0", data_type: Int32, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }]) Struct([Field { name: "a", data_type: Int32, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "b", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }]) -Struct([Field { name: "c0", data_type: Int32, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }]) Struct([Field { name: "a", data_type: Int32, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "b", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }]) +Struct(c0 Int32) Struct(a Int32, b Utf8) +Struct(c0 Int32) Struct(a Int32, b Utf8) +Struct(c0 Int32) Struct(a Int32, b Utf8) # struct[i] @@ -229,12 +229,12 @@ select named_struct('field_a', 1, 'field_b', 2); query T select arrow_typeof(named_struct('first', 1, 'second', 2, 'third', 3)); ---- -Struct([Field { name: "first", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "second", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "third", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }]) +Struct(first Int64, second Int64, third Int64) query T select arrow_typeof({'first': 1, 'second': 2, 'third': 3}); ---- -Struct([Field { name: "first", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "second", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "third", data_type: Int64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }]) +Struct(first Int64, second Int64, third Int64) # test nested struct literal query ? @@ -443,12 +443,12 @@ select * from t; query T select arrow_typeof(c1) from t; ---- -Struct([Field { name: "r", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "b", data_type: Int32, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }]) +Struct(r Utf8, b Int32) query T select arrow_typeof(c2) from t; ---- -Struct([Field { name: "r", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "b", data_type: Float32, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }]) +Struct(r Utf8, b Float32) statement ok drop table t; @@ -465,8 +465,8 @@ select * from t; query T select arrow_typeof(column1) from t; ---- -Struct([Field { name: "r", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "c", data_type: Float64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }]) -Struct([Field { name: "r", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "c", data_type: Float64, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }]) +Struct(r Utf8, c Float64) +Struct(r Utf8, c Float64) statement ok drop table t; @@ -498,9 +498,9 @@ select coalesce(s1) from t; query T select arrow_typeof(coalesce(s1, s2)) from t; ---- -Struct([Field { name: "a", data_type: Float32, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "b", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }]) -Struct([Field { name: "a", data_type: Float32, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "b", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }]) -Struct([Field { name: "a", data_type: Float32, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "b", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }]) +Struct(a Float32, b Utf8) +Struct(a Float32, b Utf8) +Struct(a Float32, b Utf8) statement ok drop table t; @@ -525,9 +525,9 @@ select coalesce(s1, s2) from t; query T select arrow_typeof(coalesce(s1, s2)) from t; ---- -Struct([Field { name: "a", data_type: Float32, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "b", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }]) -Struct([Field { name: "a", data_type: Float32, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "b", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }]) -Struct([Field { name: "a", data_type: Float32, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "b", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }]) +Struct(a Float32, b Utf8) +Struct(a Float32, b Utf8) +Struct(a Float32, b Utf8) statement ok drop table t; @@ -585,13 +585,13 @@ create table t(a struct(r varchar, c int, g float), b struct(r varchar, c float, query T select arrow_typeof(a) from t; ---- -Struct([Field { name: "r", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "c", data_type: Int32, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "g", data_type: Float32, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }]) +Struct(r Utf8, c Int32, g Float32) # type of each column should not coerced but perserve as it is query T select arrow_typeof(b) from t; ---- -Struct([Field { name: "r", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "c", data_type: Float32, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "g", data_type: Int32, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }]) +Struct(r Utf8, c Float32, g Int32) statement ok drop table t;