mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
clippy: add if_not_else clippy lint (#10524)
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
This commit is contained in:
@ -107,54 +107,54 @@ where
|
||||
|
||||
// If there were blocks less than or equal to the target one
|
||||
// (so the shard has changed), update the shard.
|
||||
if blocks.len() as usize != higher_blocks.len() {
|
||||
// If there will be no more blocks in the shard after pruning blocks below target
|
||||
// block, we need to remove it, as empty shards are not allowed.
|
||||
if higher_blocks.is_empty() {
|
||||
if key.as_ref().highest_block_number == u64::MAX {
|
||||
let prev_row = cursor
|
||||
.prev()?
|
||||
.map(|(k, v)| Result::<_, DatabaseError>::Ok((k.key()?, v)))
|
||||
.transpose()?;
|
||||
match prev_row {
|
||||
// If current shard is the last shard for the sharded key that
|
||||
// has previous shards, replace it with the previous shard.
|
||||
Some((prev_key, prev_value)) if key_matches(&prev_key, &key) => {
|
||||
cursor.delete_current()?;
|
||||
// Upsert will replace the last shard for this sharded key with
|
||||
// the previous value.
|
||||
cursor.upsert(RawKey::new(key), prev_value)?;
|
||||
Ok(PruneShardOutcome::Updated)
|
||||
}
|
||||
// If there's no previous shard for this sharded key,
|
||||
// just delete last shard completely.
|
||||
_ => {
|
||||
// If we successfully moved the cursor to a previous row,
|
||||
// jump to the original last shard.
|
||||
if prev_row.is_some() {
|
||||
cursor.next()?;
|
||||
}
|
||||
// Delete shard.
|
||||
cursor.delete_current()?;
|
||||
Ok(PruneShardOutcome::Deleted)
|
||||
if blocks.len() as usize == higher_blocks.len() {
|
||||
return Ok(PruneShardOutcome::Unchanged);
|
||||
}
|
||||
|
||||
// If there will be no more blocks in the shard after pruning blocks below target
|
||||
// block, we need to remove it, as empty shards are not allowed.
|
||||
if higher_blocks.is_empty() {
|
||||
if key.as_ref().highest_block_number == u64::MAX {
|
||||
let prev_row = cursor
|
||||
.prev()?
|
||||
.map(|(k, v)| Result::<_, DatabaseError>::Ok((k.key()?, v)))
|
||||
.transpose()?;
|
||||
match prev_row {
|
||||
// If current shard is the last shard for the sharded key that
|
||||
// has previous shards, replace it with the previous shard.
|
||||
Some((prev_key, prev_value)) if key_matches(&prev_key, &key) => {
|
||||
cursor.delete_current()?;
|
||||
// Upsert will replace the last shard for this sharded key with
|
||||
// the previous value.
|
||||
cursor.upsert(RawKey::new(key), prev_value)?;
|
||||
Ok(PruneShardOutcome::Updated)
|
||||
}
|
||||
// If there's no previous shard for this sharded key,
|
||||
// just delete last shard completely.
|
||||
_ => {
|
||||
// If we successfully moved the cursor to a previous row,
|
||||
// jump to the original last shard.
|
||||
if prev_row.is_some() {
|
||||
cursor.next()?;
|
||||
}
|
||||
// Delete shard.
|
||||
cursor.delete_current()?;
|
||||
Ok(PruneShardOutcome::Deleted)
|
||||
}
|
||||
}
|
||||
// If current shard is not the last shard for this sharded key,
|
||||
// just delete it.
|
||||
else {
|
||||
cursor.delete_current()?;
|
||||
Ok(PruneShardOutcome::Deleted)
|
||||
}
|
||||
} else {
|
||||
cursor.upsert(
|
||||
RawKey::new(key),
|
||||
RawValue::new(BlockNumberList::new_pre_sorted(higher_blocks)),
|
||||
)?;
|
||||
Ok(PruneShardOutcome::Updated)
|
||||
}
|
||||
// If current shard is not the last shard for this sharded key,
|
||||
// just delete it.
|
||||
else {
|
||||
cursor.delete_current()?;
|
||||
Ok(PruneShardOutcome::Deleted)
|
||||
}
|
||||
} else {
|
||||
Ok(PruneShardOutcome::Unchanged)
|
||||
cursor.upsert(
|
||||
RawKey::new(key),
|
||||
RawValue::new(BlockNumberList::new_pre_sorted(higher_blocks)),
|
||||
)?;
|
||||
Ok(PruneShardOutcome::Updated)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user