Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 8d89628

Browse files
committed
refactor code
1 parent aaabc7e commit 8d89628

File tree

3 files changed

+22
-35
lines changed

3 files changed

+22
-35
lines changed

rust/lance/src/dataset/conflict_detection/conflict_detector.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -256,8 +256,8 @@ mod tests {
256256
let mut filter2 = PrimaryKeyBloomFilter::new(vec!["id".to_string()]);
257257

258258
let shared_key = PrimaryKeyValue::String("shared_key".to_string());
259-
filter1.insert(shared_key.clone(), 1).unwrap();
260-
filter2.insert(shared_key, 2).unwrap();
259+
filter1.insert(shared_key.clone()).unwrap();
260+
filter2.insert(shared_key).unwrap();
261261

262262
let result = detector
263263
.check_filter_conflict(&filter1, &filter2, "uuid2", 2)
@@ -272,15 +272,15 @@ mod tests {
272272
let detector = DefaultConflictDetector::new();
273273
let mut current_filter = PrimaryKeyBloomFilter::new(vec!["id".to_string()]);
274274
let shared_key = PrimaryKeyValue::String("shared_key".to_string());
275-
current_filter.insert(shared_key.clone(), 1).unwrap();
275+
current_filter.insert(shared_key.clone()).unwrap();
276276

277277
// Create concurrent transactions
278278
let mut filter1 = PrimaryKeyBloomFilter::new(vec!["id".to_string()]);
279-
filter1.insert(shared_key.clone(), 2).unwrap();
279+
filter1.insert(shared_key.clone()).unwrap();
280280

281281
let mut filter2 = PrimaryKeyBloomFilter::new(vec!["id".to_string()]);
282282
filter2
283-
.insert(PrimaryKeyValue::String("other_key".to_string()), 3)
283+
.insert(PrimaryKeyValue::String("other_key".to_string()))
284284
.unwrap();
285285

286286
let transactions = vec![

rust/lance/src/dataset/conflict_detection/primary_key_filter.rs

Lines changed: 15 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -140,12 +140,6 @@ impl PrimaryKeyBloomFilter {
140140

141141
#[cfg(test)]
142142
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-
149143
use crate::dataset::conflict_detection::{
150144
conflict_detector::{ConflictDetector, DefaultConflictDetector},
151145
primary_key_filter::{PrimaryKeyBloomFilter, PrimaryKeyValue},
@@ -193,7 +187,7 @@ mod tests {
193187
filter2.insert(key3).unwrap();
194188

195189
// Should detect intersection
196-
assert!(filter1.has_intersection(&filter2));
190+
assert!(filter1.has_intersection(filter2));
197191
}
198192

199193
#[test]
@@ -213,18 +207,6 @@ mod tests {
213207
);
214208
}
215209

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-
228210
#[test]
229211
fn test_bloom_filter_creation_and_basic_operations() {
230212
let mut bloom_filter = PrimaryKeyBloomFilter::new(vec!["user_id".to_string()]);
@@ -283,7 +265,7 @@ mod tests {
283265
PrimaryKeyValue::Int64(67890),
284266
];
285267

286-
for (idx, key) in test_keys.iter().enumerate() {
268+
for (_idx, key) in test_keys.iter().enumerate() {
287269
original_filter.insert(key.clone()).unwrap();
288270
}
289271

@@ -317,7 +299,7 @@ mod tests {
317299
PrimaryKeyValue::String("charlie".to_string()),
318300
];
319301

320-
for (idx, key) in keys1.iter().enumerate() {
302+
for (_idx, key) in keys1.iter().enumerate() {
321303
filter1.insert(key.clone()).unwrap();
322304
}
323305

@@ -327,7 +309,7 @@ mod tests {
327309
PrimaryKeyValue::String("eve".to_string()),
328310
];
329311

330-
for (idx, key) in keys2.iter().enumerate() {
312+
for (_idx, key) in keys2.iter().enumerate() {
331313
filter2.insert(key.clone()).unwrap();
332314
}
333315

@@ -338,7 +320,7 @@ mod tests {
338320
assert!(conflict_result.has_conflict(), "should detect conflict");
339321
assert_eq!(
340322
conflict_result.conflicting_uuid(),
341-
Some(&"test_transaction_uuid".to_string())
323+
Some(&"test_transaction_uuid".to_string()).map(|x| x.as_str())
342324
);
343325
}
344326

@@ -355,7 +337,7 @@ mod tests {
355337
PrimaryKeyValue::String("charlie".to_string()),
356338
];
357339

358-
for (idx, key) in keys1.iter().enumerate() {
340+
for (_idx, key) in keys1.iter().enumerate() {
359341
filter1.insert(key.clone()).unwrap();
360342
}
361343

@@ -365,7 +347,7 @@ mod tests {
365347
PrimaryKeyValue::String("frank".to_string()),
366348
];
367349

368-
for (idx, key) in keys2.iter().enumerate() {
350+
for (_idx, key) in keys2.iter().enumerate() {
369351
filter2.insert(key.clone()).unwrap();
370352
}
371353

@@ -388,7 +370,7 @@ mod tests {
388370
PrimaryKeyValue::String("transaction_user_2".to_string()),
389371
];
390372

391-
for (idx, key) in keys.iter().enumerate() {
373+
for (_idx, key) in keys.iter().enumerate() {
392374
bloom_filter.insert(key.clone()).unwrap();
393375
}
394376

@@ -410,7 +392,7 @@ mod tests {
410392

411393
#[test]
412394
fn test_transaction_protobuf_serialization_with_bloom_filter() {
413-
use crate::dataset::transaction::pb;
395+
use lance_table::format::pb;
414396

415397
let mut bloom_filter = PrimaryKeyBloomFilter::new(vec!["user_id".to_string()]);
416398
bloom_filter
@@ -431,8 +413,8 @@ mod tests {
431413
let pb_transaction: pb::Transaction = (&original_transaction).into();
432414
assert!(pb_transaction.primary_key_bloom_filter.is_some());
433415
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
436418
);
437419

438420
let deserialized_transaction: Transaction = pb_transaction.try_into().unwrap();
@@ -557,7 +539,10 @@ mod tests {
557539
conflict_result.has_conflict(),
558540
"A conflict should be detected"
559541
);
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+
);
561546
// Since the current implementation uses an exact map, there are no false positives.
562547
assert!(!conflict_result.might_be_false_positive());
563548
} else {

rust/lance/src/dataset/write/commit.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -529,6 +529,7 @@ mod tests {
529529
blobs_op: None,
530530
tag: None,
531531
transaction_properties: None,
532+
primary_key_bloom_filter: None,
532533
}
533534
}
534535

@@ -804,6 +805,7 @@ mod tests {
804805
blobs_op: None,
805806
tag: None,
806807
transaction_properties: None,
808+
primary_key_bloom_filter: None,
807809
};
808810
let res = CommitBuilder::new(dataset.clone())
809811
.execute_batch(vec![update_transaction])

0 commit comments

Comments
 (0)