From fb51c72996254889051aeccda20307cbccc0f5d8 Mon Sep 17 00:00:00 2001 From: Jack Ye Date: Mon, 5 Oct 2026 23:37:14 -0700 Subject: [PATCH] feat(sql): rename dedup table functions --- rust/lancedb/src/table/datafusion/udtf/duplicate_pairs.rs | 4 ++-- rust/lancedb/src/table/datafusion/udtf/vector_query.rs | 2 +- rust/lancedb/tests/duplicate_pairs.rs | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/rust/lancedb/src/table/datafusion/udtf/duplicate_pairs.rs b/rust/lancedb/src/table/datafusion/udtf/duplicate_pairs.rs index 20de93148..4a0437cb3 100644 --- a/rust/lancedb/src/table/datafusion/udtf/duplicate_pairs.rs +++ b/rust/lancedb/src/table/datafusion/udtf/duplicate_pairs.rs @@ -76,7 +76,7 @@ pub trait DuplicatePairsResolver: std::fmt::Debug + Send + Sync { ) -> Result>; } -/// `vector_duplicate_pairs('table', version, 'column', threshold)`. +/// `duplicate_pairs('table', version, 'column', threshold)`. /// Registration is explicit so the host controls catalog access and execution. #[derive(Debug)] pub struct DuplicatePairsTableFunction { @@ -108,7 +108,7 @@ impl TableFunctionImpl for DuplicatePairsTableFunction { fn call(&self, args: &[Expr]) -> Result> { if args.len() != 4 { return plan_err!( - "vector_duplicate_pairs requires (table, dataset_version, column, distance_threshold)" + "duplicate_pairs requires (table, dataset_version, column, distance_threshold)" ); } let string = |expr: &Expr| match expr { diff --git a/rust/lancedb/src/table/datafusion/udtf/vector_query.rs b/rust/lancedb/src/table/datafusion/udtf/vector_query.rs index 0d4f23d92..b9a4d2dcf 100644 --- a/rust/lancedb/src/table/datafusion/udtf/vector_query.rs +++ b/rust/lancedb/src/table/datafusion/udtf/vector_query.rs @@ -109,7 +109,7 @@ impl VectorQueryTable { || options.output.id_column.is_some()) { return plan_err!( - "vector_dedup requires all partitions and returns original rows; sampling and id_column are pair-query options" + "dedupe requires all partitions and returns original rows; sampling and id_column are pair-query options" ); } let config = DuplicatePairsConfig { diff --git a/rust/lancedb/tests/duplicate_pairs.rs b/rust/lancedb/tests/duplicate_pairs.rs index f7d7ed3a2..ff6c08f2d 100644 --- a/rust/lancedb/tests/duplicate_pairs.rs +++ b/rust/lancedb/tests/duplicate_pairs.rs @@ -168,7 +168,7 @@ async fn sql_pairs_match_native_snapshot_and_partition_tasks() -> anyhow::Result let ctx = SessionContext::new_with_config_rt(datafusion::prelude::SessionConfig::new(), runtime); ctx.register_udtf( - "vector_duplicate_pairs", + "duplicate_pairs", Arc::new(DuplicatePairsTableFunction::new(resolver.clone())), ); ctx.register_udtf( @@ -192,7 +192,7 @@ async fn sql_pairs_match_native_snapshot_and_partition_tasks() -> anyhow::Result .try_collect::>() .await?; let sql = format!( - "SELECT * FROM vector_duplicate_pairs('source', {version}, 'vector', {threshold})" + "SELECT * FROM duplicate_pairs('source', {version}, 'vector', {threshold})" ); let actual = ctx.sql(&sql).await?.collect().await?; assert_eq!(pairs(&actual), pairs(&expected)); @@ -507,7 +507,7 @@ async fn sql_pairs_match_native_snapshot_and_partition_tasks() -> anyhow::Result table.delete("id = 1").await?; let actual = ctx .sql(&format!( - "SELECT * FROM vector_duplicate_pairs('source', {version}, 'vector', 1.0)" + "SELECT * FROM duplicate_pairs('source', {version}, 'vector', 1.0)" )) .await? .collect() @@ -515,7 +515,7 @@ async fn sql_pairs_match_native_snapshot_and_partition_tasks() -> anyhow::Result assert_eq!(pairs(&actual).len(), 8); assert!( ctx.sql(&format!( - "SELECT * FROM vector_duplicate_pairs('source', {version}, 'missing', 1.0)" + "SELECT * FROM duplicate_pairs('source', {version}, 'missing', 1.0)" )) .await? .collect()