fix: panic when field id doesn't equal to field index (#2116)

Signed-off-by: BubbleCal <bubble-cal@outlook.com>
This commit is contained in:
BubbleCal
2025-02-13 12:38:35 +08:00
committed by GitHub
parent 78a17ad54c
commit 3b19e96ae7
2 changed files with 17 additions and 5 deletions

8
Cargo.lock generated
View File

@@ -3966,7 +3966,7 @@ dependencies = [
[[package]]
name = "lancedb"
version = "0.16.1-beta.0"
version = "0.16.1-beta.1"
dependencies = [
"arrow",
"arrow-array",
@@ -4050,7 +4050,7 @@ dependencies = [
[[package]]
name = "lancedb-node"
version = "0.16.1-beta.0"
version = "0.16.1-beta.1"
dependencies = [
"arrow-array",
"arrow-ipc",
@@ -4075,7 +4075,7 @@ dependencies = [
[[package]]
name = "lancedb-nodejs"
version = "0.16.1-beta.0"
version = "0.16.1-beta.1"
dependencies = [
"arrow-array",
"arrow-ipc",
@@ -4093,7 +4093,7 @@ dependencies = [
[[package]]
name = "lancedb-python"
version = "0.19.1-beta.0"
version = "0.19.1-beta.1"
dependencies = [
"arrow",
"env_logger",

View File

@@ -23,7 +23,19 @@ impl VectorIndex {
let fields = index
.fields
.iter()
.map(|i| manifest.schema.fields[*i as usize].name.clone())
.map(|field_id| {
manifest
.schema
.field_by_id(*field_id)
.unwrap_or_else(|| {
panic!(
"field {field_id} of index {} must exist in schema",
index.name
)
})
.name
.clone()
})
.collect();
Self {
columns: fields,