Skip to content

Commit

Permalink
cargo fmt
Browse files Browse the repository at this point in the history
  • Loading branch information
hntd187 committed Oct 22, 2023
1 parent 7dbacb7 commit d692291
Show file tree
Hide file tree
Showing 8 changed files with 62 additions and 53 deletions.
4 changes: 2 additions & 2 deletions rust/src/operations/create.rs
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,7 @@ impl CreateBuilder {
min_reader_version: MAX_SUPPORTED_READER_VERSION,
min_writer_version: MAX_SUPPORTED_WRITER_VERSION,
writer_features: None,
reader_features: None
reader_features: None,
});

let metadata = DeltaTableMetaData::new(
Expand Down Expand Up @@ -402,7 +402,7 @@ mod tests {
min_reader_version: 0,
min_writer_version: 0,
writer_features: None,
reader_features: None
reader_features: None,
};
let table = CreateBuilder::new()
.with_location("memory://")
Expand Down
14 changes: 11 additions & 3 deletions rust/src/operations/restore.rs
Original file line number Diff line number Diff line change
Expand Up @@ -205,8 +205,16 @@ async fn execute(
Protocol {
min_reader_version: table.get_min_reader_version(),
min_writer_version: table.get_min_writer_version(),
writer_features: if snapshot.min_writer_version() < 7 { None } else { table.get_writer_features().cloned() },
reader_features: if snapshot.min_reader_version() < 3 { None } else { table.get_reader_features().cloned() }
writer_features: if snapshot.min_writer_version() < 7 {
None
} else {
table.get_writer_features().cloned()
},
reader_features: if snapshot.min_reader_version() < 3 {
None
} else {
table.get_reader_features().cloned()
},
}
} else {
Protocol {
Expand All @@ -219,7 +227,7 @@ async fn execute(
snapshot.min_writer_version(),
),
writer_features: snapshot.writer_features().cloned(),
reader_features: snapshot.reader_features().cloned()
reader_features: snapshot.reader_features().cloned(),
}
};
actions.push(Action::protocol(protocol));
Expand Down
4 changes: 2 additions & 2 deletions rust/src/operations/transaction/test_utils.rs
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ pub fn create_protocol_action(max_reader: Option<i32>, max_writer: Option<i32>)
min_reader_version: max_reader.unwrap_or(crate::operations::MAX_SUPPORTED_READER_VERSION),
min_writer_version: max_writer.unwrap_or(crate::operations::MAX_SUPPORTED_WRITER_VERSION),
writer_features: None,
reader_features: None
reader_features: None,
};
Action::protocol(protocol)
}
Expand Down Expand Up @@ -137,7 +137,7 @@ pub async fn create_initialized_table(
min_reader_version: 1,
min_writer_version: 1,
writer_features: None,
reader_features: None
reader_features: None,
},
metadata: DeltaTableMetaData::new(
None,
Expand Down
2 changes: 1 addition & 1 deletion rust/src/protocol/checkpoints.rs
Original file line number Diff line number Diff line change
Expand Up @@ -322,7 +322,7 @@ fn parquet_bytes_from_state(
min_reader_version: state.min_reader_version(),
min_writer_version: state.min_writer_version(),
writer_features: None,
reader_features: None
reader_features: None,
}))
// metaData
.chain(std::iter::once(Action::metaData(MetaData::try_from(
Expand Down
7 changes: 3 additions & 4 deletions rust/src/protocol/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -648,7 +648,7 @@ pub struct Protocol {
/// Table features are missing from older versions
/// The table features this writer supports
#[serde(skip_serializing_if = "Option::is_none")]
pub writer_features: Option<Vec<TableFeatures>>
pub writer_features: Option<Vec<TableFeatures>>,
}

/// Features table reader/writers can support as well as let users know
Expand Down Expand Up @@ -696,7 +696,7 @@ pub enum TableFeatures {
ICEBERG_COMPAT_V1,
/// liquid clustering support
#[serde(alias = "liquid")]
LIQUID
LIQUID,
}

impl fmt::Display for TableFeatures {
Expand All @@ -715,12 +715,11 @@ impl fmt::Display for TableFeatures {
TableFeatures::DOMAIN_METADATA => write!(f, "domainMetadata"),
TableFeatures::V2_CHECKPOINT => write!(f, "v2Checkpoint"),
TableFeatures::ICEBERG_COMPAT_V1 => write!(f, "icebergCompatV1"),
TableFeatures::LIQUID => write!(f, "liquid")
TableFeatures::LIQUID => write!(f, "liquid"),
}
}
}


/// The commitInfo is a fairly flexible action within the delta specification, where arbitrary data can be stored.
/// However the reference implementation as well as delta-rs store useful information that may for instance
/// allow us to be more permissive in commit conflict resolution.
Expand Down
32 changes: 14 additions & 18 deletions rust/src/protocol/parquet2_read/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -614,24 +614,20 @@ fn deserialize_protocol_column_page(
|action: &mut Protocol, v: i32| action.min_writer_version = v,
)?;
}
"readerFeatures" => {
for_each_repeated_string_field_value(
actions,
page,
dict,
descriptor,
|action: &mut Protocol, v: Vec<String>| action.reader_features = Some(v)
)
}
"writerFeatures" => {
for_each_repeated_string_field_value(
actions,
page,
dict,
descriptor,
|action: &mut Protocol, v: Vec<String>| action.writer_features = Some(v)
)
}
"readerFeatures" => for_each_repeated_string_field_value(
actions,
page,
dict,
descriptor,
|action: &mut Protocol, v: Vec<String>| action.reader_features = Some(v),
),
"writerFeatures" => for_each_repeated_string_field_value(
actions,
page,
dict,
descriptor,
|action: &mut Protocol, v: Vec<String>| action.writer_features = Some(v),
),
_ => {
warn!("Unexpected field `{}` in protocol", f);
}
Expand Down
48 changes: 26 additions & 22 deletions rust/src/protocol/parquet_read/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@ use num_traits::cast::ToPrimitive;
use parquet::record::{Field, ListAccessor, MapAccessor, RowAccessor};
use serde_json::json;

use crate::protocol::{Action, Add, AddCDCFile, ColumnCountStat, ColumnValueStat, DeletionVector, MetaData, Protocol, ProtocolError, Remove, Stats, TableFeatures, Txn};
use crate::protocol::{
Action, Add, AddCDCFile, ColumnCountStat, ColumnValueStat, DeletionVector, MetaData, Protocol,
ProtocolError, Remove, Stats, TableFeatures, Txn,
};

use super::StorageType;

Expand Down Expand Up @@ -592,25 +595,24 @@ impl Txn {
impl From<&Field> for TableFeatures {
fn from(value: &Field) -> Self {
match value {
Field::Str(feature) =>
match feature.as_str() {
"appendOnly" => TableFeatures::APPEND_ONLY,
"invariants" => TableFeatures::INVARIANTS,
"checkConstraints" => TableFeatures::CHECK_CONSTRAINTS,
"changeDataFeed" => TableFeatures::CHANGE_DATA_FEED,
"generatedColumns" => TableFeatures::GENERATED_COLUMNS,
"columnMapping" => TableFeatures::COLUMN_MAPPING,
"identityColumns" => TableFeatures::IDENTITY_COLUMNS,
"deletionVectors" => TableFeatures::DELETION_VECTORS,
"rowTracking" => TableFeatures::ROW_TRACKING,
"timestampNtz" => TableFeatures::TIMESTAMP_WITHOUT_TIMEZONE,
"domainMetadata" => TableFeatures::DOMAIN_METADATA,
"v2Checkpoint" => TableFeatures::V2_CHECKPOINT,
"icebergCompatV1" => TableFeatures::ICEBERG_COMPAT_V1,
"liquid" => TableFeatures::LIQUID,
f => panic!("Unknown table feature encountered: {}", f)
}
f => panic!("Invalid field type for table features: {}", f)
Field::Str(feature) => match feature.as_str() {
"appendOnly" => TableFeatures::APPEND_ONLY,
"invariants" => TableFeatures::INVARIANTS,
"checkConstraints" => TableFeatures::CHECK_CONSTRAINTS,
"changeDataFeed" => TableFeatures::CHANGE_DATA_FEED,
"generatedColumns" => TableFeatures::GENERATED_COLUMNS,
"columnMapping" => TableFeatures::COLUMN_MAPPING,
"identityColumns" => TableFeatures::IDENTITY_COLUMNS,
"deletionVectors" => TableFeatures::DELETION_VECTORS,
"rowTracking" => TableFeatures::ROW_TRACKING,
"timestampNtz" => TableFeatures::TIMESTAMP_WITHOUT_TIMEZONE,
"domainMetadata" => TableFeatures::DOMAIN_METADATA,
"v2Checkpoint" => TableFeatures::V2_CHECKPOINT,
"icebergCompatV1" => TableFeatures::ICEBERG_COMPAT_V1,
"liquid" => TableFeatures::LIQUID,
f => panic!("Unknown table feature encountered: {}", f),
},
f => panic!("Invalid field type for table features: {}", f),
}
}
}
Expand All @@ -634,12 +636,14 @@ impl Protocol {
})?;
}
"readerFeatures" => {
re.reader_features = record.get_list(i)
re.reader_features = record
.get_list(i)
.and_then(|l| Ok(l.elements().iter().map(From::from).collect()))
.ok();
}
"writerFeatures" => {
re.writer_features = record.get_list(i)
re.writer_features = record
.get_list(i)
.and_then(|l| Ok(l.elements().iter().map(From::from).collect()))
.ok();
}
Expand Down
4 changes: 3 additions & 1 deletion rust/src/table/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,9 @@ use self::builder::DeltaTableConfig;
use self::state::DeltaTableState;
use crate::errors::DeltaTableError;
use crate::partitions::PartitionFilter;
use crate::protocol::{self, find_latest_check_point_for_version, get_last_checkpoint, Action, TableFeatures};
use crate::protocol::{
self, find_latest_check_point_for_version, get_last_checkpoint, Action, TableFeatures,
};
use crate::protocol::{Add, ProtocolError, Stats};
use crate::schema::*;
use crate::storage::{commit_uri_from_version, ObjectStoreRef};
Expand Down

0 comments on commit d692291

Please sign in to comment.