diff --git a/Cargo.toml b/Cargo.toml index 97542deea9f..f79de24413e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -86,7 +86,7 @@ strength_reduce = { version = "0.2", optional = true } multiversion = { version = "0.6.1", optional = true } # For support for odbc -odbc-api = { version = "0.35", optional = true } +odbc-api = { version = "0.36", optional = true } [dev-dependencies] criterion = "0.3" diff --git a/src/io/odbc/read/deserialize.rs b/src/io/odbc/read/deserialize.rs index 05f9ae4a74a..59bdcbba139 100644 --- a/src/io/odbc/read/deserialize.rs +++ b/src/io/odbc/read/deserialize.rs @@ -1,5 +1,5 @@ use chrono::{NaiveDate, NaiveDateTime}; -use odbc_api::buffers::{BinColumnIt, TextColumnIt}; +use odbc_api::buffers::{BinColumnView, TextColumnView}; use odbc_api::Bit; use crate::array::{Array, BinaryArray, BooleanArray, PrimitiveArray, Utf8Array}; @@ -14,9 +14,9 @@ use super::super::api::buffers::AnyColumnView; /// This is CPU-bounded pub fn deserialize(column: AnyColumnView, data_type: DataType) -> Box { match column { - AnyColumnView::Text(iter) => Box::new(utf8(data_type, iter)) as _, + AnyColumnView::Text(view) => Box::new(utf8(data_type, view)) as _, AnyColumnView::WText(_) => todo!(), - AnyColumnView::Binary(iter) => Box::new(binary(data_type, iter)) as _, + AnyColumnView::Binary(view) => Box::new(binary(data_type, view)) as _, AnyColumnView::Date(values) => Box::new(date(data_type, values)) as _, AnyColumnView::Time(values) => Box::new(time(data_type, values)) as _, AnyColumnView::Timestamp(values) => Box::new(timestamp(data_type, values)) as _, @@ -139,15 +139,15 @@ fn binary_generic<'a>( (offsets.into(), values.into(), validity.into()) } -fn binary(data_type: DataType, iter: BinColumnIt) -> BinaryArray { - let (offsets, values, validity) = binary_generic(iter); +fn binary(data_type: DataType, view: BinColumnView) -> BinaryArray { + let (offsets, values, validity) = binary_generic(view.iter()); // this O(N) check is not necessary BinaryArray::from_data(data_type, offsets, values, validity) } -fn utf8(data_type: DataType, iter: TextColumnIt) -> Utf8Array { - let (offsets, values, validity) = binary_generic(iter); +fn utf8(data_type: DataType, view: TextColumnView) -> Utf8Array { + let (offsets, values, validity) = binary_generic(view.iter()); // this O(N) check is necessary for the utf8 validity Utf8Array::from_data(data_type, offsets, values, validity)