Skip to content

Commit a5c8d1f

Browse files
committed
fix: protocol parsing
Signed-off-by: Ion Koutsouris <[email protected]>
1 parent 8e77030 commit a5c8d1f

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

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

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ pub(super) fn read_protocol(batch: &dyn ProvidesColumnByName) -> DeltaResult<Opt
6161

6262
for idx in 0..arr.len() {
6363
if arr.is_valid(idx) {
64-
return Ok(Some(Protocol {
64+
let mut protocol = Protocol {
6565
min_reader_version: ex::read_primitive(min_reader_version, idx)?,
6666
min_writer_version: ex::read_primitive(min_writer_version, idx)?,
6767
reader_features: collect_string_list(&maybe_reader_features, idx).map(|v| {
@@ -76,7 +76,14 @@ pub(super) fn read_protocol(batch: &dyn ProvidesColumnByName) -> DeltaResult<Opt
7676
.filter_map(|v| v.ok())
7777
.collect()
7878
}),
79-
}));
79+
};
80+
if protocol.min_reader_version < 3 {
81+
protocol.reader_features = None
82+
}
83+
if protocol.min_writer_version < 7 {
84+
protocol.writer_features = None
85+
}
86+
return Ok(Some(protocol));
8087
}
8188
}
8289
}

0 commit comments

Comments
 (0)