fix: frame_number is BIGINT in DB, use i64 not i32
frame_number column in face_detections table is defined as BIGINT (INT8). Using i32 caused sqlx type mismatch at runtime. Fixed in: - identity_agent_api.rs: query_as tuples and HashMap key - qdrant_db.rs: upsert_face_embedding signature and row extraction
This commit is contained in:
@@ -758,7 +758,7 @@ impl QdrantDb {
|
||||
vector: &[f32],
|
||||
file_uuid: &str,
|
||||
trace_id: i32,
|
||||
frame_number: i32,
|
||||
frame_number: i64,
|
||||
) -> Result<()> {
|
||||
let url = format!(
|
||||
"{}/collections/{}/points?wait=true",
|
||||
@@ -889,7 +889,7 @@ pub async fn sync_face_embeddings(file_uuid: &str) -> Result<()> {
|
||||
for row in &rows {
|
||||
let id: i32 = row.get(0);
|
||||
let trace_id: Option<i32> = row.get(1);
|
||||
let frame_number: i32 = row.get(2);
|
||||
let frame_number: i64 = row.get(2);
|
||||
let embedding: Option<Vec<f32>> = row.get(3);
|
||||
|
||||
if let (Some(emb), Some(tid)) = (embedding, trace_id) {
|
||||
|
||||
Reference in New Issue
Block a user