Skip to content

Commit 6baef44

Browse files
committed
refactor!: have DeltaTable::version return an Option
Signed-off-by: Robert Pack <[email protected]>
1 parent e5a7963 commit 6baef44

33 files changed

+292
-272
lines changed

crates/aws/tests/integration_s3_dynamodb.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ async fn test_repair_on_update() -> TestResult<()> {
212212
let _entry = create_incomplete_commit_entry(&table, 1, "unfinished_commit").await?;
213213
table.update().await?;
214214
// table update should find and update to newest, incomplete commit entry
215-
assert_eq!(table.version(), 1);
215+
assert_eq!(table.version(), Some(1));
216216
validate_lock_table_state(&table, 1).await?;
217217
Ok(())
218218
}
@@ -225,7 +225,7 @@ async fn test_repair_on_load() -> TestResult<()> {
225225
let _entry = create_incomplete_commit_entry(&table, 1, "unfinished_commit").await?;
226226
table.load_version(1).await?;
227227
// table should fix the broken entry while loading a specific version
228-
assert_eq!(table.version(), 1);
228+
assert_eq!(table.version(), Some(1));
229229
validate_lock_table_state(&table, 1).await?;
230230
Ok(())
231231
}

crates/core/src/delta_datafusion/expr.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -697,7 +697,7 @@ mod test {
697697
.with_columns(schema.fields().cloned())
698698
.await
699699
.unwrap();
700-
assert_eq!(table.version(), 0);
700+
assert_eq!(table.version(), Some(0));
701701
table
702702
}
703703

crates/core/src/delta_datafusion/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2545,7 +2545,7 @@ mod tests {
25452545
.with_partition_columns(["modified", "id"])
25462546
.await
25472547
.unwrap();
2548-
assert_eq!(table.version(), 0);
2548+
assert_eq!(table.version(), Some(0));
25492549

25502550
let batch = RecordBatch::try_new(
25512551
schema.clone(),

crates/core/src/kernel/snapshot/log_segment.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -683,7 +683,7 @@ pub(super) mod tests {
683683
.with_storage_backend(slow_list_store, url::Url::parse("dummy:///").unwrap())
684684
.build_storage()?;
685685

686-
let version = table_to_checkpoint.version();
686+
let version = table_to_checkpoint.version().unwrap();
687687
let load_task: JoinHandle<Result<LogSegment, DeltaTableError>> = tokio::spawn(async move {
688688
let segment = LogSegment::try_new(&slow_log_store, Some(version)).await?;
689689
Ok(segment)

crates/core/src/kernel/transaction/application.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ mod tests {
3030
)
3131
.await
3232
.unwrap();
33-
assert_eq!(table.version(), 0);
33+
assert_eq!(table.version(), Some(0));
3434
assert_eq!(table.get_files_count(), 2);
3535

3636
let app_txns = table.get_app_transaction_version();
@@ -75,7 +75,7 @@ mod tests {
7575
.await
7676
.unwrap();
7777

78-
assert_eq!(table.version(), 1);
78+
assert_eq!(table.version(), Some(1));
7979
let app_txns = table.get_app_transaction_version();
8080
assert_eq!(app_txns.len(), 1);
8181
assert_eq!(app_txns.get("my-app").map(|t| t.version), Some(3));
@@ -88,7 +88,7 @@ mod tests {
8888
assert_eq!(txn_version, Some(3));
8989

9090
table2.update_incremental(None).await.unwrap();
91-
assert_eq!(table2.version(), 1);
91+
assert_eq!(table2.version(), Some(1));
9292
let app_txns2 = table2.get_app_transaction_version();
9393
assert_eq!(app_txns2.len(), 1);
9494
assert_eq!(app_txns2.get("my-app").map(|t| t.version), Some(3));
@@ -109,7 +109,7 @@ mod tests {
109109
let app_txns3 = table3.get_app_transaction_version();
110110
assert_eq!(app_txns3.len(), 1);
111111
assert_eq!(app_txns3.get("my-app").map(|t| t.version), Some(3));
112-
assert_eq!(table3.version(), 1);
112+
assert_eq!(table3.version(), Some(1));
113113
let txn_version = table3
114114
.snapshot()
115115
.unwrap()

crates/core/src/lib.rs

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ mod tests {
192192
let table = crate::open_table("../test/tests/data/delta-0.2.0")
193193
.await
194194
.unwrap();
195-
assert_eq!(table.version(), 3);
195+
assert_eq!(table.version(), Some(3));
196196
assert_eq!(table.protocol().unwrap().min_writer_version, 2);
197197
assert_eq!(table.protocol().unwrap().min_reader_version, 1);
198198
assert_eq!(
@@ -245,7 +245,7 @@ mod tests {
245245
let mut table = crate::open_table_with_version("../test/tests/data/delta-0.2.0", 0)
246246
.await
247247
.unwrap();
248-
assert_eq!(table.version(), 0);
248+
assert_eq!(table.version(), Some(0));
249249
assert_eq!(table.protocol().unwrap().min_writer_version, 2);
250250
assert_eq!(table.protocol().unwrap().min_reader_version, 1);
251251
assert_eq!(
@@ -259,7 +259,7 @@ mod tests {
259259
table = crate::open_table_with_version("../test/tests/data/delta-0.2.0", 2)
260260
.await
261261
.unwrap();
262-
assert_eq!(table.version(), 2);
262+
assert_eq!(table.version(), Some(2));
263263
assert_eq!(table.protocol().unwrap().min_writer_version, 2);
264264
assert_eq!(table.protocol().unwrap().min_reader_version, 1);
265265
assert_eq!(
@@ -273,7 +273,7 @@ mod tests {
273273
table = crate::open_table_with_version("../test/tests/data/delta-0.2.0", 3)
274274
.await
275275
.unwrap();
276-
assert_eq!(table.version(), 3);
276+
assert_eq!(table.version(), Some(3));
277277
assert_eq!(table.protocol().unwrap().min_writer_version, 2);
278278
assert_eq!(table.protocol().unwrap().min_reader_version, 1);
279279
assert_eq!(
@@ -291,7 +291,7 @@ mod tests {
291291
let table = crate::open_table("../test/tests/data/delta-0.8.0")
292292
.await
293293
.unwrap();
294-
assert_eq!(table.version(), 1);
294+
assert_eq!(table.version(), Some(1));
295295
assert_eq!(table.protocol().unwrap().min_writer_version, 2);
296296
assert_eq!(table.protocol().unwrap().min_reader_version, 1);
297297
assert_eq!(
@@ -347,7 +347,7 @@ mod tests {
347347
let mut table = crate::open_table("../test/tests/data/delta-0.8.0")
348348
.await
349349
.unwrap();
350-
assert_eq!(table.version(), 1);
350+
assert_eq!(table.version(), Some(1));
351351
assert_eq!(table.protocol().unwrap().min_writer_version, 2);
352352
assert_eq!(table.protocol().unwrap().min_reader_version, 1);
353353
assert_eq!(
@@ -358,7 +358,7 @@ mod tests {
358358
]
359359
);
360360
table.load_version(0).await.unwrap();
361-
assert_eq!(table.version(), 0);
361+
assert_eq!(table.version(), Some(0));
362362
assert_eq!(table.protocol().unwrap().min_writer_version, 2);
363363
assert_eq!(table.protocol().unwrap().min_reader_version, 1);
364364
assert_eq!(
@@ -560,16 +560,16 @@ mod tests {
560560
async fn test_poll_table_commits() {
561561
let path = "../test/tests/data/simple_table_with_checkpoint";
562562
let mut table = crate::open_table_with_version(path, 9).await.unwrap();
563-
assert_eq!(table.version(), 9);
563+
assert_eq!(table.version(), Some(9));
564564
let peek = table
565565
.log_store()
566-
.peek_next_commit(table.version())
566+
.peek_next_commit(table.version().unwrap())
567567
.await
568568
.unwrap();
569569
assert!(matches!(peek, PeekCommit::New(..)));
570570

571571
if let PeekCommit::New(version, actions) = peek {
572-
assert_eq!(table.version(), 9);
572+
assert_eq!(table.version(), Some(9));
573573
assert!(!table.get_files_iter().unwrap().any(|f| f
574574
== Path::from(
575575
"part-00000-f0e955c5-a1e3-4eec-834e-dcc098fc9005-c000.snappy.parquet"
@@ -580,7 +580,7 @@ mod tests {
580580

581581
table.update_incremental(None).await.unwrap();
582582

583-
assert_eq!(table.version(), 10);
583+
assert_eq!(table.version(), Some(10));
584584
assert!(table.get_files_iter().unwrap().any(|f| f
585585
== Path::from(
586586
"part-00000-f0e955c5-a1e3-4eec-834e-dcc098fc9005-c000.snappy.parquet"
@@ -589,7 +589,7 @@ mod tests {
589589

590590
let peek = table
591591
.log_store()
592-
.peek_next_commit(table.version())
592+
.peek_next_commit(table.version().unwrap())
593593
.await
594594
.unwrap();
595595
assert!(matches!(peek, PeekCommit::UpToDate));
@@ -599,7 +599,7 @@ mod tests {
599599
async fn test_read_vacuumed_log() {
600600
let path = "../test/tests/data/checkpoints_vacuumed";
601601
let table = crate::open_table(path).await.unwrap();
602-
assert_eq!(table.version(), 12);
602+
assert_eq!(table.version(), Some(12));
603603
}
604604

605605
#[tokio::test]
@@ -652,7 +652,7 @@ mod tests {
652652
let table = crate::open_table("../test/tests/data/simple_table_with_cdc")
653653
.await
654654
.unwrap();
655-
assert_eq!(table.version(), 2);
655+
assert_eq!(table.version(), Some(2));
656656
assert_eq!(
657657
table.get_files_iter().unwrap().collect_vec(),
658658
vec![Path::from(

crates/core/src/operations/add_feature.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ mod tests {
201201
.clone()
202202
.unwrap_or_default()
203203
.contains(&ReaderFeature::DeletionVectors));
204-
assert_eq!(result.version(), 2);
204+
assert_eq!(result.version(), Some(2));
205205
Ok(())
206206
}
207207

crates/core/src/operations/constraints.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ mod tests {
326326
.with_constraint("id", "value < 1000")
327327
.await?;
328328
let version = table.version();
329-
assert_eq!(version, 1);
329+
assert_eq!(version, Some(1));
330330

331331
let expected_expr = "value < 1000";
332332
assert_eq!(get_constraint_op_params(&mut table).await, expected_expr);
@@ -351,7 +351,7 @@ mod tests {
351351
.with_constraint("valid_values", col("value").lt(lit(1000)))
352352
.await?;
353353
let version = table.version();
354-
assert_eq!(version, 1);
354+
assert_eq!(version, Some(1));
355355

356356
let expected_expr = "value < 1000";
357357
assert_eq!(get_constraint_op_params(&mut table).await, expected_expr);
@@ -392,7 +392,7 @@ mod tests {
392392
.with_constraint("valid_values", "vAlue < 1000") // spellchecker:disable-line
393393
.await?;
394394
let version = table.version();
395-
assert_eq!(version, 1);
395+
assert_eq!(version, Some(1));
396396

397397
let expected_expr = "vAlue < 1000"; // spellchecker:disable-line
398398
assert_eq!(get_constraint_op_params(&mut table).await, expected_expr);

crates/core/src/operations/convert_to_delta.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -567,7 +567,7 @@ mod tests {
567567
) {
568568
assert_eq!(
569569
table.version(),
570-
expected_version,
570+
Some(expected_version),
571571
"Testing location: {test_data_from:?}"
572572
);
573573

crates/core/src/operations/create.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -416,7 +416,7 @@ mod tests {
416416
.with_save_mode(SaveMode::Ignore)
417417
.await
418418
.unwrap();
419-
assert_eq!(table.version(), 0);
419+
assert_eq!(table.version(), Some(0));
420420
assert_eq!(table.get_schema().unwrap(), &table_schema)
421421
}
422422

@@ -436,7 +436,7 @@ mod tests {
436436
.with_save_mode(SaveMode::Ignore)
437437
.await
438438
.unwrap();
439-
assert_eq!(table.version(), 0);
439+
assert_eq!(table.version(), Some(0));
440440
assert_eq!(table.get_schema().unwrap(), &table_schema)
441441
}
442442

@@ -453,7 +453,7 @@ mod tests {
453453
.with_columns(schema.fields().cloned())
454454
.await
455455
.unwrap();
456-
assert_eq!(table.version(), 0);
456+
assert_eq!(table.version(), Some(0));
457457
}
458458

459459
#[tokio::test]
@@ -464,7 +464,7 @@ mod tests {
464464
.with_columns(schema.fields().cloned())
465465
.await
466466
.unwrap();
467-
assert_eq!(table.version(), 0);
467+
assert_eq!(table.version(), Some(0));
468468
assert_eq!(
469469
table.protocol().unwrap().min_reader_version,
470470
PROTOCOL.default_reader_version()
@@ -520,7 +520,7 @@ mod tests {
520520
.with_columns(schema.fields().cloned())
521521
.await
522522
.unwrap();
523-
assert_eq!(table.version(), 0);
523+
assert_eq!(table.version(), Some(0));
524524
let first_id = table.metadata().unwrap().id.clone();
525525

526526
let log_store = table.log_store;
@@ -562,7 +562,7 @@ mod tests {
562562
.with_save_mode(SaveMode::ErrorIfExists)
563563
.await
564564
.unwrap();
565-
assert_eq!(table.version(), 0);
565+
assert_eq!(table.version(), Some(0));
566566
assert_eq!(table.get_files_count(), 1);
567567

568568
let mut table = DeltaOps(table)
@@ -572,7 +572,7 @@ mod tests {
572572
.await
573573
.unwrap();
574574
table.load().await.unwrap();
575-
assert_eq!(table.version(), 1);
575+
assert_eq!(table.version(), Some(1));
576576
// Checks if files got removed after overwrite
577577
assert_eq!(table.get_files_count(), 0);
578578
}
@@ -587,7 +587,7 @@ mod tests {
587587
.with_save_mode(SaveMode::ErrorIfExists)
588588
.await
589589
.unwrap();
590-
assert_eq!(table.version(), 0);
590+
assert_eq!(table.version(), Some(0));
591591
assert_eq!(table.get_files_count(), 1);
592592

593593
let mut table = DeltaOps(table)
@@ -598,7 +598,7 @@ mod tests {
598598
.await
599599
.unwrap();
600600
table.load().await.unwrap();
601-
assert_eq!(table.version(), 1);
601+
assert_eq!(table.version(), Some(1));
602602
// Checks if files got removed after overwrite
603603
assert_eq!(table.get_files_count(), 0);
604604
}

0 commit comments

Comments
 (0)