Skip to content

Commit e636b3b

Browse files
Update arrow requirement from 32 to 33 (#123)
* Update arrow requirement from 32 to 33 Updates the requirements on [arrow](https://github.com/apache/arrow-rs) to permit the latest version. - [Release notes](https://github.com/apache/arrow-rs/releases) - [Changelog](https://github.com/apache/arrow-rs/blob/master/CHANGELOG.md) - [Commits](apache/arrow-rs@32.0.0...33.0.0) --- updated-dependencies: - dependency-name: arrow dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> * fix clippy Change-Id: I2f9df13eecad63025d0bac3c01850bcfb26464c9 --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: wangfenjin <[email protected]>
1 parent 18eff6d commit e636b3b

File tree

4 files changed

+25
-25
lines changed

4 files changed

+25
-25
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ memchr = "2.3"
4747
uuid = { version = "1.0", optional = true }
4848
smallvec = "1.6.1"
4949
cast = { version = "0.3", features = ["std"] }
50-
arrow = { version = "32", default-features = false, features = ["prettyprint", "ffi"] }
50+
arrow = { version = "33", default-features = false, features = ["prettyprint", "ffi"] }
5151
rust_decimal = "1.14"
5252
strum = { version = "0.24", features = ["derive"] }
5353
r2d2 = { version = "0.8.9", optional = true }

libduckdb-sys/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,4 @@ cc = { version = "1.0", features = ["parallel"], optional = true }
2828
vcpkg = { version = "0.2", optional = true }
2929

3030
[dev-dependencies]
31-
arrow = { version = "32", default-features = false, features = ["ffi"] }
31+
arrow = { version = "33", default-features = false, features = ["ffi"] }

libduckdb-sys/src/lib.rs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -84,23 +84,23 @@ mod tests {
8484
assert_eq!(duckdb_arrow_row_count(result), 3);
8585
assert_eq!(duckdb_arrow_column_count(result), 2);
8686

87-
let mut arrays = &FFI_ArrowArray::empty();
88-
let mut schema = &FFI_ArrowSchema::empty();
89-
let schema = &mut schema;
90-
if duckdb_query_arrow_schema(result, schema as *mut _ as *mut duckdb_arrow_schema)
91-
!= duckdb_state_DuckDBSuccess
87+
let mut arrays = FFI_ArrowArray::empty();
88+
let mut schema = FFI_ArrowSchema::empty();
89+
if duckdb_query_arrow_schema(
90+
result,
91+
&mut std::ptr::addr_of_mut!(schema) as *mut _ as *mut duckdb_arrow_schema,
92+
) != duckdb_state_DuckDBSuccess
9293
{
9394
panic!("SELECT error")
9495
}
95-
let arrays = &mut arrays;
96-
if duckdb_query_arrow_array(result, arrays as *mut _ as *mut duckdb_arrow_array)
97-
!= duckdb_state_DuckDBSuccess
96+
if duckdb_query_arrow_array(
97+
result,
98+
&mut std::ptr::addr_of_mut!(arrays) as *mut _ as *mut duckdb_arrow_array,
99+
) != duckdb_state_DuckDBSuccess
98100
{
99101
panic!("SELECT error")
100102
}
101-
let arrow_array =
102-
ArrowArray::try_from_raw(*arrays as *const FFI_ArrowArray, *schema as *const FFI_ArrowSchema)
103-
.expect("ok");
103+
let arrow_array = ArrowArray::new(arrays, schema);
104104
let array_data = ArrayData::try_from(arrow_array).expect("ok");
105105
let struct_array = StructArray::from(array_data);
106106
assert_eq!(struct_array.len(), 3);

src/raw_statement.rs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -81,28 +81,28 @@ impl RawStatement {
8181
pub fn step(&self) -> Option<StructArray> {
8282
self.result?;
8383
unsafe {
84-
let mut arrays = &FFI_ArrowArray::empty();
85-
let arrays = &mut arrays;
86-
if ffi::duckdb_query_arrow_array(self.result_unwrap(), arrays as *mut _ as *mut ffi::duckdb_arrow_array)
87-
!= ffi::DuckDBSuccess
84+
let mut arrays = FFI_ArrowArray::empty();
85+
if ffi::duckdb_query_arrow_array(
86+
self.result_unwrap(),
87+
&mut std::ptr::addr_of_mut!(arrays) as *mut _ as *mut ffi::duckdb_arrow_array,
88+
) != ffi::DuckDBSuccess
8889
{
8990
return None;
9091
}
91-
if (**arrays).is_empty() {
92+
if arrays.is_empty() {
9293
return None;
9394
}
9495

95-
let mut schema = &FFI_ArrowSchema::empty();
96-
let schema = &mut schema;
97-
if ffi::duckdb_query_arrow_schema(self.result_unwrap(), schema as *mut _ as *mut ffi::duckdb_arrow_schema)
98-
!= ffi::DuckDBSuccess
96+
let mut schema = FFI_ArrowSchema::empty();
97+
if ffi::duckdb_query_arrow_schema(
98+
self.result_unwrap(),
99+
&mut std::ptr::addr_of_mut!(schema) as *mut _ as *mut ffi::duckdb_arrow_schema,
100+
) != ffi::DuckDBSuccess
99101
{
100102
return None;
101103
}
102104

103-
let arrow_array =
104-
ArrowArray::try_from_raw(*arrays as *const FFI_ArrowArray, *schema as *const FFI_ArrowSchema)
105-
.expect("ok");
105+
let arrow_array = ArrowArray::new(arrays, schema);
106106
let array_data = ArrayData::try_from(arrow_array).expect("ok");
107107
let struct_array = StructArray::from(array_data);
108108
Some(struct_array)

0 commit comments

Comments
 (0)