@@ -140,12 +140,6 @@ impl PrimaryKeyBloomFilter {
140
140
141
141
#[cfg(test)]
142
142
mod tests {
143
- use super::*;
144
-
145
- use arrow_array::{Int64Array, RecordBatch, StringArray};
146
- use arrow_schema::{DataType, Field, Schema};
147
- use std::sync::Arc;
148
-
149
143
use crate::dataset::conflict_detection::{
150
144
conflict_detector::{ConflictDetector, DefaultConflictDetector},
151
145
primary_key_filter::{PrimaryKeyBloomFilter, PrimaryKeyValue},
@@ -193,7 +187,7 @@ mod tests {
193
187
filter2.insert(key3).unwrap();
194
188
195
189
// Should detect intersection
196
- assert!(filter1.has_intersection(& filter2));
190
+ assert!(filter1.has_intersection(filter2));
197
191
}
198
192
199
193
#[test]
@@ -213,18 +207,6 @@ mod tests {
213
207
);
214
208
}
215
209
216
- fn create_test_record_batch(user_ids: Vec<&str>, scores: Vec<i64>) -> RecordBatch {
217
- let schema = Arc::new(Schema::new(vec![
218
- Field::new("user_id", DataType::Utf8, false),
219
- Field::new("score", DataType::Int64, false),
220
- ]));
221
-
222
- let user_id_array = StringArray::from(user_ids);
223
- let score_array = Int64Array::from(scores);
224
-
225
- RecordBatch::try_new(schema, vec![Arc::new(user_id_array), Arc::new(score_array)]).unwrap()
226
- }
227
-
228
210
#[test]
229
211
fn test_bloom_filter_creation_and_basic_operations() {
230
212
let mut bloom_filter = PrimaryKeyBloomFilter::new(vec!["user_id".to_string()]);
@@ -283,7 +265,7 @@ mod tests {
283
265
PrimaryKeyValue::Int64(67890),
284
266
];
285
267
286
- for (idx , key) in test_keys.iter().enumerate() {
268
+ for (_idx , key) in test_keys.iter().enumerate() {
287
269
original_filter.insert(key.clone()).unwrap();
288
270
}
289
271
@@ -317,7 +299,7 @@ mod tests {
317
299
PrimaryKeyValue::String("charlie".to_string()),
318
300
];
319
301
320
- for (idx , key) in keys1.iter().enumerate() {
302
+ for (_idx , key) in keys1.iter().enumerate() {
321
303
filter1.insert(key.clone()).unwrap();
322
304
}
323
305
@@ -327,7 +309,7 @@ mod tests {
327
309
PrimaryKeyValue::String("eve".to_string()),
328
310
];
329
311
330
- for (idx , key) in keys2.iter().enumerate() {
312
+ for (_idx , key) in keys2.iter().enumerate() {
331
313
filter2.insert(key.clone()).unwrap();
332
314
}
333
315
@@ -338,7 +320,7 @@ mod tests {
338
320
assert!(conflict_result.has_conflict(), "should detect conflict");
339
321
assert_eq!(
340
322
conflict_result.conflicting_uuid(),
341
- Some(&"test_transaction_uuid".to_string())
323
+ Some(&"test_transaction_uuid".to_string()).map(|x| x.as_str())
342
324
);
343
325
}
344
326
@@ -355,7 +337,7 @@ mod tests {
355
337
PrimaryKeyValue::String("charlie".to_string()),
356
338
];
357
339
358
- for (idx , key) in keys1.iter().enumerate() {
340
+ for (_idx , key) in keys1.iter().enumerate() {
359
341
filter1.insert(key.clone()).unwrap();
360
342
}
361
343
@@ -365,7 +347,7 @@ mod tests {
365
347
PrimaryKeyValue::String("frank".to_string()),
366
348
];
367
349
368
- for (idx , key) in keys2.iter().enumerate() {
350
+ for (_idx , key) in keys2.iter().enumerate() {
369
351
filter2.insert(key.clone()).unwrap();
370
352
}
371
353
@@ -388,7 +370,7 @@ mod tests {
388
370
PrimaryKeyValue::String("transaction_user_2".to_string()),
389
371
];
390
372
391
- for (idx , key) in keys.iter().enumerate() {
373
+ for (_idx , key) in keys.iter().enumerate() {
392
374
bloom_filter.insert(key.clone()).unwrap();
393
375
}
394
376
@@ -410,7 +392,7 @@ mod tests {
410
392
411
393
#[test]
412
394
fn test_transaction_protobuf_serialization_with_bloom_filter() {
413
- use crate::dataset::transaction ::pb;
395
+ use lance_table::format ::pb;
414
396
415
397
let mut bloom_filter = PrimaryKeyBloomFilter::new(vec!["user_id".to_string()]);
416
398
bloom_filter
@@ -431,8 +413,8 @@ mod tests {
431
413
let pb_transaction: pb::Transaction = (&original_transaction).into();
432
414
assert!(pb_transaction.primary_key_bloom_filter.is_some());
433
415
assert_eq!(
434
- pb_transaction.primary_key_bloom_filter.unwrap(),
435
- filter_data
416
+ pb_transaction.primary_key_bloom_filter.as_ref(). unwrap(),
417
+ & filter_data
436
418
);
437
419
438
420
let deserialized_transaction: Transaction = pb_transaction.try_into().unwrap();
@@ -557,7 +539,10 @@ mod tests {
557
539
conflict_result.has_conflict(),
558
540
"A conflict should be detected"
559
541
);
560
- assert_eq!(conflict_result.conflicting_uuid(), Some(&transaction2.uuid));
542
+ assert_eq!(
543
+ conflict_result.conflicting_uuid(),
544
+ Some(&transaction2.uuid).map(|x| x.as_str())
545
+ );
561
546
// Since the current implementation uses an exact map, there are no false positives.
562
547
assert!(!conflict_result.might_be_false_positive());
563
548
} else {
0 commit comments