diff --git a/Cargo.toml b/Cargo.toml index faf870b8..ab77473a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,9 +5,10 @@ exclude = ["python"] resolver = "2" [workspace.dependencies] -lance = { "version" = "=0.8.14", "features" = ["dynamodb"] } -lance-linalg = { "version" = "=0.8.14" } -lance-testing = { "version" = "=0.8.14" } +lance = { "version" = "=0.8.17", "features" = ["dynamodb"] } +lance-index = { "version" = "=0.8.17" } +lance-linalg = { "version" = "=0.8.17" } +lance-testing = { "version" = "=0.8.17" } # Note that this one does not include pyarrow arrow = { version = "47.0.0", optional = false } arrow-array = "47.0" diff --git a/node/src/test/test.ts b/node/src/test/test.ts index 7cb6d52c..9fe251ab 100644 --- a/node/src/test/test.ts +++ b/node/src/test/test.ts @@ -282,7 +282,8 @@ describe('LanceDB client', function () { ) const table = await con.createTable({ name: 'vectors', schema }) await table.add([{ vector: Array(128).fill(0.1) }]) - await table.delete('vector IS NOT NULL') + // https://github.com/lancedb/lance/issues/1635 + await table.delete('true') const result = await table.search(Array(128).fill(0.1)).execute() assert.isEmpty(result) }) diff --git a/python/pyproject.toml b/python/pyproject.toml index 7dbcc2c7..1086c65b 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -3,7 +3,7 @@ name = "lancedb" version = "0.3.3" dependencies = [ "deprecation", - "pylance==0.8.10", + "pylance==0.8.17", "ratelimiter~=1.0", "retry>=0.9.2", "tqdm>=4.1.0", diff --git a/rust/ffi/node/Cargo.toml b/rust/ffi/node/Cargo.toml index c7d09e5e..efd04121 100644 --- a/rust/ffi/node/Cargo.toml +++ b/rust/ffi/node/Cargo.toml @@ -19,6 +19,7 @@ once_cell = "1" futures = "0.3" half = { workspace = true } lance = { workspace = true } +lance-index = { workspace = true } lance-linalg = { workspace = true } vectordb = { path = "../../vectordb" } tokio = { version = "1.23", features = ["rt-multi-thread"] } diff --git a/rust/ffi/node/src/index/vector.rs b/rust/ffi/node/src/index/vector.rs index 1055b94a..62c57949 100644 --- a/rust/ffi/node/src/index/vector.rs +++ b/rust/ffi/node/src/index/vector.rs @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -use lance::index::vector::{ivf::IvfBuildParams, pq::PQBuildParams}; +use lance_index::vector::{ivf::IvfBuildParams, pq::PQBuildParams}; use lance_linalg::distance::MetricType; use neon::context::FunctionContext; use neon::prelude::*; diff --git a/rust/vectordb/Cargo.toml b/rust/vectordb/Cargo.toml index 0ba83049..56aa3cc5 100644 --- a/rust/vectordb/Cargo.toml +++ b/rust/vectordb/Cargo.toml @@ -21,6 +21,7 @@ object_store = { workspace = true } snafu = { workspace = true } half = { workspace = true } lance = { workspace = true } +lance-index = { workspace = true } lance-linalg = { workspace = true } lance-testing = { workspace = true } tokio = { version = "1.23", features = ["rt-multi-thread"] } diff --git a/rust/vectordb/src/index/vector.rs b/rust/vectordb/src/index/vector.rs index 90ed38fb..4017d635 100644 --- a/rust/vectordb/src/index/vector.rs +++ b/rust/vectordb/src/index/vector.rs @@ -13,9 +13,9 @@ // limitations under the License. use lance::format::{Index, Manifest}; -use lance::index::vector::ivf::IvfBuildParams; use lance::index::vector::pq::PQBuildParams; use lance::index::vector::VectorIndexParams; +use lance_index::vector::ivf::IvfBuildParams; use lance_linalg::distance::MetricType; pub trait VectorIndexBuilder { @@ -136,9 +136,9 @@ impl VectorIndex { mod tests { use super::*; - use lance::index::vector::ivf::IvfBuildParams; - use lance::index::vector::pq::PQBuildParams; use lance::index::vector::StageParams; + use lance_index::vector::ivf::IvfBuildParams; + use lance_index::vector::pq::PQBuildParams; use crate::index::vector::{IvfPQIndexBuilder, VectorIndexBuilder}; diff --git a/rust/vectordb/src/table.rs b/rust/vectordb/src/table.rs index 57f4f24b..2d8244d0 100644 --- a/rust/vectordb/src/table.rs +++ b/rust/vectordb/src/table.rs @@ -13,6 +13,8 @@ // limitations under the License. use chrono::Duration; +use lance::dataset::builder::DatasetBuilder; +use lance_index::IndexType; use std::sync::Arc; use arrow_array::{Float32Array, RecordBatchReader}; @@ -22,7 +24,7 @@ use lance::dataset::optimize::{ compact_files, CompactionMetrics, CompactionOptions, IndexRemapperOptions, }; use lance::dataset::{Dataset, WriteParams}; -use lance::index::{DatasetIndexExt, IndexType}; +use lance::index::DatasetIndexExt; use lance::io::object_store::WrappingObjectStore; use std::path::Path; @@ -96,7 +98,10 @@ impl Table { Some(wrapper) => params.patch_with_store_wrapper(wrapper)?, None => params, }; - let dataset = Dataset::open_with_params(uri, ¶ms) + + let dataset = DatasetBuilder::from_uri(uri) + .with_read_params(params) + .load() .await .map_err(|e| match e { lance::Error::DatasetNotFound { .. } => Error::TableNotFound { @@ -414,9 +419,9 @@ mod tests { use arrow_data::ArrayDataBuilder; use arrow_schema::{DataType, Field, Schema}; use lance::dataset::{Dataset, WriteMode}; - use lance::index::vector::ivf::IvfBuildParams; use lance::index::vector::pq::PQBuildParams; use lance::io::object_store::{ObjectStoreParams, WrappingObjectStore}; + use lance_index::vector::ivf::IvfBuildParams; use rand::Rng; use tempfile::tempdir;