Skip to content

Commit

Permalink
Add clear table state in load_version when no checkpoint found. (#347)
Browse files Browse the repository at this point in the history
  • Loading branch information
zijie0 authored Aug 3, 2021
1 parent 165ca57 commit 773a31e
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 1 deletion.
3 changes: 2 additions & 1 deletion rust/src/delta.rs
Original file line number Diff line number Diff line change
Expand Up @@ -694,7 +694,8 @@ impl DeltaTable {
next_version = check_point.version + 1;
}
None => {
// no checkpoint found, start from the beginning
// no checkpoint found, clear table state and start from the beginning
self.state = DeltaTableState::default();
next_version = 0;
}
}
Expand Down
28 changes: 28 additions & 0 deletions rust/tests/read_delta_test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,34 @@ async fn read_delta_8_0_table_without_version() {
);
}

#[tokio::test]
async fn read_delta_8_0_table_with_load_version() {
let mut table = deltalake::open_table("./tests/data/delta-0.8.0")
.await
.unwrap();
assert_eq!(table.version, 1);
assert_eq!(table.get_min_writer_version(), 2);
assert_eq!(table.get_min_reader_version(), 1);
assert_eq!(
table.get_files(),
vec![
"part-00000-c9b90f86-73e6-46c8-93ba-ff6bfaf892a1-c000.snappy.parquet",
"part-00000-04ec9591-0b73-459e-8d18-ba5711d6cbe1-c000.snappy.parquet",
]
);
table.load_version(0).await.unwrap();
assert_eq!(table.version, 0);
assert_eq!(table.get_min_writer_version(), 2);
assert_eq!(table.get_min_reader_version(), 1);
assert_eq!(
table.get_files(),
vec![
"part-00000-c9b90f86-73e6-46c8-93ba-ff6bfaf892a1-c000.snappy.parquet",
"part-00001-911a94a2-43f6-4acb-8620-5e68c2654989-c000.snappy.parquet",
]
);
}

#[tokio::test]
async fn read_delta_8_0_table_with_partitions() {
let table = deltalake::open_table("./tests/data/delta-0.8.0-partitioned")
Expand Down

0 comments on commit 773a31e

Please sign in to comment.