Skip to content

feat(rust): split bad vector handling into value and dimension controls#3355

Open
Mesut-Doner wants to merge 1 commit into
lancedb:mainfrom
Mesut-Doner:feat/bad-vector-handling
Open

feat(rust): split bad vector handling into value and dimension controls#3355
Mesut-Doner wants to merge 1 commit into
lancedb:mainfrom
Mesut-Doner:feat/bad-vector-handling

Conversation

@Mesut-Doner
Copy link
Copy Markdown
Contributor

Replace NaNVectorBehavior (Error/Keep) with two independent enums:

  • BadVectorValueHandling — handles NaN values in vectors (Error/Drop/Null/Fill/Keep)
  • BadVectorDimensionHandling — handles wrong-dimension vectors before List→FSL cast (Error/Drop/Null/Fill) Pipeline order: ScannableExec → handle_bad_dimensions → cast → handle_bad_values. Both strategies are implemented as DataFusion physical plan nodes using scalar UDFs. Deprecated on_nan_vectors() wraps the new API for one release cycle. Fixes Feature: port python's on_bad_vectors behavior to rust #992.

Replace NaNVectorBehavior (Error/Keep) with two independent enums:
- BadVectorValueHandling — handles NaN values in vectors (Error/Drop/Null/Fill/Keep)
- BadVectorDimensionHandling — handles wrong-dimension vectors before List→FSL cast (Error/Drop/Null/Fill)
Pipeline order: ScannableExec → handle_bad_dimensions → cast → handle_bad_values.
Both strategies are implemented as DataFusion physical plan nodes using scalar UDFs.
Deprecated on_nan_vectors() wraps the new API for one release cycle.
Fixes lancedb#992.
Copy link
Copy Markdown

@claude claude Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This pull request is from a fork — automated review is disabled. A repository maintainer can comment @claude review to run a one-time review.

@github-actions github-actions Bot added enhancement New feature or request Rust Rust related issues labels May 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request Rust Rust related issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature: port python's on_bad_vectors behavior to rust

1 participant