···319319 where_clauses.push(or_clause);
320320 }
321321322322- let where_sql = where_clauses.join(" AND ");
322322+ let where_sql = where_clauses.into_iter().filter(|clause| !clause.is_empty()).collect::<Vec<_>>().join(" AND ");
323323324324 // Assign limit parameter AFTER all other parameters
325325 let limit_param = param_count;
···395395 where_clauses.push(or_clause);
396396 }
397397398398- let where_sql = if where_clauses.is_empty() {
398398+ let filtered_where_clauses: Vec<_> = where_clauses.into_iter().filter(|clause| !clause.is_empty()).collect();
399399+ let where_sql = if filtered_where_clauses.is_empty() {
399400 String::new()
400401 } else {
401401- format!(" WHERE {}", where_clauses.join(" AND "))
402402+ format!(" WHERE {}", filtered_where_clauses.join(" AND "))
402403 };
403404404405 let query = format!("SELECT COUNT(*) as count FROM record{}", where_sql);