Skip to content

Commit 67d6c90

Browse files
Tobias Brandtwangfenjin
andauthored
Re-exports arrow dependency to minimise version maintenance for crate… (#93)
* Re-exports arrow dependency to minimise version maintenance for crate users * use duckdb::arrow; add more comments Change-Id: I8d68c1f9da480439a0271d22ff91d442ca3e5ee7 * use duckdb::arrow Change-Id: I2e2b4e9e9033a5d4cd29fbb9f6aa3e7798eee18d Co-authored-by: wangfenjin <[email protected]>
1 parent 227f915 commit 67d6c90

File tree

5 files changed

+21
-10
lines changed

5 files changed

+21
-10
lines changed

README.md

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,17 @@ forked from rusqlite as duckdb also tries to expose a sqlite3 compatible API.
1313

1414
```rust
1515
use duckdb::{params, Connection, Result};
16-
use arrow::record_batch::RecordBatch;
17-
use arrow::util::pretty::print_batches;
16+
17+
// In your project, we need to keep the arrow version same as the version used in duckdb.
18+
// Refer to https://github.com/wangfenjin/duckdb-rs/issues/92
19+
// You can either:
20+
use duckdb::arrow::record_batch::RecordBatch;
21+
// Or in your Cargo.toml, use * as the version; features can be toggled according to your needs
22+
// arrow = { version = "*", default-features = false, features = ["prettyprint"] }
23+
// Then you can:
24+
// use arrow::record_batch::RecordBatch;
25+
26+
use duckdb::arrow::util::pretty::print_batches;
1827

1928
#[derive(Debug)]
2029
struct Person {

examples/basic.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
extern crate duckdb;
44

5-
use arrow::record_batch::RecordBatch;
6-
use arrow::util::pretty::print_batches;
5+
use duckdb::arrow::record_batch::RecordBatch;
6+
use duckdb::arrow::util::pretty::print_batches;
77
use duckdb::{params, Connection, Result};
88

99
#[derive(Debug)]

examples/parquet.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
extern crate duckdb;
2+
use duckdb::arrow::record_batch::RecordBatch;
3+
use duckdb::arrow::util::pretty::print_batches;
24
use duckdb::{Connection, Result};
35

4-
use arrow::record_batch::RecordBatch;
5-
use arrow::util::pretty::print_batches;
6-
76
fn main() -> Result<()> {
87
let db = Connection::open_in_memory()?;
98
db.execute_batch("INSTALL parquet; LOAD parquet;")?;

src/arrow_batch.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
use super::arrow::{datatypes::SchemaRef, record_batch::RecordBatch};
12
use super::Statement;
2-
use arrow::{datatypes::SchemaRef, record_batch::RecordBatch};
33

44
/// An handle for the resulting RecordBatch of a query.
55
#[must_use = "Arrow is lazy and will do nothing unless consumed"]

src/lib.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
//!
44
//! ```rust
55
//! use duckdb::{params, Connection, Result};
6-
//! use arrow::record_batch::RecordBatch;
7-
//! use arrow::util::pretty::print_batches;
6+
//! use duckdb::arrow::record_batch::RecordBatch;
7+
//! use duckdb::arrow::util::pretty::print_batches;
88
//!
99
//! #[derive(Debug)]
1010
//! struct Person {
@@ -87,6 +87,9 @@ pub use crate::statement::Statement;
8787
pub use crate::transaction::{DropBehavior, Savepoint, Transaction, TransactionBehavior};
8888
pub use crate::types::ToSql;
8989

90+
// re-export dependencies from arrow-rs to minimise version maintenance for crate users
91+
pub use arrow;
92+
9093
#[macro_use]
9194
mod error;
9295
mod appender;

0 commit comments

Comments
 (0)