From e05374326a6284c58fbfa943c3d58d8057080868 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 000addbe1..52bdc581d 100644 --- a/rust/lancedb/src/table/datafusion/udtf/vector_query.rs +++ b/rust/lancedb/src/table/datafusion/udtf/vector_query.rs @@ -193,7 +193,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 63f1c9f5a..a4dea9cb0 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)); @@ -361,7 +361,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() @@ -369,7 +369,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()