From c04d72ac8acf2069e1e10fe6175f6b6c537811e5 Mon Sep 17 00:00:00 2001 From: Rob Meng Date: Wed, 25 Oct 2023 22:10:37 -0400 Subject: [PATCH] expose remap index api (#603) expose index remap options in `compact_files` --- rust/ffi/node/src/table.rs | 2 +- rust/vectordb/src/table.rs | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/rust/ffi/node/src/table.rs b/rust/ffi/node/src/table.rs index 9e09272d..e6c4c138 100644 --- a/rust/ffi/node/src/table.rs +++ b/rust/ffi/node/src/table.rs @@ -247,7 +247,7 @@ impl JsTable { } rt.spawn(async move { - let stats = table.compact_files(options).await; + let stats = table.compact_files(options, None).await; deferred.settle_with(&channel, move |mut cx| { let stats = stats.or_throw(&mut cx)?; diff --git a/rust/vectordb/src/table.rs b/rust/vectordb/src/table.rs index 74b77922..b7c40e87 100644 --- a/rust/vectordb/src/table.rs +++ b/rust/vectordb/src/table.rs @@ -18,7 +18,9 @@ use std::sync::Arc; use arrow_array::{Float32Array, RecordBatchReader}; use arrow_schema::SchemaRef; use lance::dataset::cleanup::RemovalStats; -use lance::dataset::optimize::{compact_files, CompactionMetrics, CompactionOptions}; +use lance::dataset::optimize::{ + compact_files, CompactionMetrics, CompactionOptions, IndexRemapperOptions, +}; use lance::dataset::{Dataset, WriteParams}; use lance::index::{DatasetIndexExt, IndexType}; use lance::io::object_store::WrappingObjectStore; @@ -359,9 +361,13 @@ impl Table { /// for faster reads. /// /// This calls into [lance::dataset::optimize::compact_files]. - pub async fn compact_files(&mut self, options: CompactionOptions) -> Result { + pub async fn compact_files( + &mut self, + options: CompactionOptions, + remap_options: Option>, + ) -> Result { let mut dataset = self.dataset.as_ref().clone(); - let metrics = compact_files(&mut dataset, options, None).await?; + let metrics = compact_files(&mut dataset, options, remap_options).await?; self.dataset = Arc::new(dataset); Ok(metrics) }