diff --git a/connectorx/Cargo.toml b/connectorx/Cargo.toml index 0eb2a1db0..ce5cf13a7 100644 --- a/connectorx/Cargo.toml +++ b/connectorx/Cargo.toml @@ -76,7 +76,7 @@ pprof = {version = "0.14", features = ["flamegraph"]} all = ["src_sqlite", "src_postgres", "src_mysql", "src_mssql", "src_oracle", "src_bigquery", "src_csv", "src_dummy", "src_trino", "dst_arrow", "dst_polars", "federation", "fed_exec"] branch = [] default = ["fptr"] -dst_arrow = ["arrow"] +dst_arrow = ["arrow", "rust_decimal"] dst_polars = ["dst_arrow", "polars", "polars-arrow"] fptr = [] src_bigquery = ["gcp-bigquery-client", "tokio"] diff --git a/connectorx/src/utils.rs b/connectorx/src/utils.rs index 03a7c883d..ed62f47b3 100644 --- a/connectorx/src/utils.rs +++ b/connectorx/src/utils.rs @@ -1,5 +1,3 @@ -use anyhow::Result; -use rust_decimal::Decimal; use std::ops::{Deref, DerefMut}; pub struct DummyBox(pub T); @@ -18,7 +16,8 @@ impl DerefMut for DummyBox { } } -pub fn decimal_to_i128(mut v: Decimal, scale: u32) -> Result { +#[cfg(feature = "dst_arrow")] +pub fn decimal_to_i128(mut v: rust_decimal::Decimal, scale: u32) -> anyhow::Result { v.rescale(scale); let v_scale = v.scale();