From 2bbc56b9f984d443f33750f7db9edb4f3f46ac04 Mon Sep 17 00:00:00 2001 From: albertlockett Date: Wed, 31 Jan 2024 18:46:38 -0500 Subject: [PATCH] more code --- rust/vectordb/src/merge_insert.rs | 4 ++-- rust/vectordb/src/table.rs | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/rust/vectordb/src/merge_insert.rs b/rust/vectordb/src/merge_insert.rs index 99c852b39..e0b01a965 100644 --- a/rust/vectordb/src/merge_insert.rs +++ b/rust/vectordb/src/merge_insert.rs @@ -90,8 +90,8 @@ impl MergeInsertBuilder { // } let job = builder.try_build().unwrap(); // TODO no unwrap - let bitches = reader_to_stream(batches).await.unwrap().0; // TODO no unwrap - let ds2 = job.execute(bitches).await.unwrap(); // TODO no unwrap + let batches = reader_to_stream(batches).await.unwrap().0; // TODO no unwrap + let ds2 = job.execute(batches).await.unwrap(); // TODO no unwrap native_table.reset_dataset(ds2.as_ref().clone()); diff --git a/rust/vectordb/src/table.rs b/rust/vectordb/src/table.rs index 49035fca9..7081de4ff 100644 --- a/rust/vectordb/src/table.rs +++ b/rust/vectordb/src/table.rs @@ -34,6 +34,7 @@ use log::info; use crate::error::{Error, Result}; use crate::index::vector::{VectorIndex, VectorIndexStatistics}; use crate::index::IndexBuilder; +use crate::merge_insert::MergeInsertBuilder; use crate::query::Query; use crate::utils::{PatchReadParam, PatchWriteParam}; use crate::WriteMode; @@ -241,6 +242,8 @@ pub trait Table: std::fmt::Display + Send + Sync { /// Modeled after ``VACCUM`` in PostgreSQL. /// Not all implementations support explicit optimization. async fn optimize(&self, action: OptimizeAction) -> Result; + + fn merge_insert(&self) -> MergeInsertBuilder; } /// Reference to a Table pointer. @@ -698,6 +701,10 @@ impl Table for NativeTable { } Ok(stats) } + + fn merge_insert(&self) -> MergeInsertBuilder { + MergeInsertBuilder::new(Arc::new(self.clone())) + } } #[cfg(test)]