mirror of
https://github.com/neondatabase/neon.git
synced 2026-05-25 09:00:37 +00:00
Fix clippy warnings
This commit is contained in:
2
Cargo.lock
generated
2
Cargo.lock
generated
@@ -2572,6 +2572,8 @@ checksum = "b07db065a5cf61a7e4ba64f29e67db906fb1787316516c4e6e5ff0fea1efcd8a"
|
||||
[[package]]
|
||||
name = "yakv"
|
||||
version = "0.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8ae1ec7c67193f20a10b113492c57f097c34958d5bdc3c974a65361559aa21d9"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"fs2",
|
||||
|
||||
@@ -300,7 +300,7 @@ impl BufferedRepository {
|
||||
fn get_buffered_timeline(&self, timelineid: ZTimelineId) -> Result<Arc<BufferedTimeline>> {
|
||||
let mut timelines = self.timelines.lock().unwrap();
|
||||
|
||||
Ok(self.get_timeline_locked(timelineid, &mut timelines)?)
|
||||
self.get_timeline_locked(timelineid, &mut timelines)
|
||||
}
|
||||
|
||||
// Implementation of the public `get_timeline` function. This differs from the public
|
||||
@@ -406,7 +406,7 @@ impl BufferedRepository {
|
||||
.lock()
|
||||
.unwrap()
|
||||
.iter()
|
||||
.map(|pair| (pair.0.clone(), pair.1.clone()))
|
||||
.map(|pair| (*pair.0, pair.1.clone()))
|
||||
.collect();
|
||||
//let timelines = self.timelines.lock().unwrap();
|
||||
for (timelineid, timeline) in timelines.iter() {
|
||||
@@ -954,9 +954,9 @@ impl Timeline for BufferedTimeline {
|
||||
let mut dropped: HashSet<RelishTag> = HashSet::new();
|
||||
let store = self.store.read().unwrap();
|
||||
'meta: loop {
|
||||
let mut iter = store.data.range(&from.ser()?..);
|
||||
let iter = store.data.range(&from.ser()?..);
|
||||
|
||||
while let Some(entry) = iter.next() {
|
||||
for entry in iter {
|
||||
let pair = entry?;
|
||||
if let StoreKey::Metadata(dk) = StoreKey::des(&pair.0)? {
|
||||
// processing metadata
|
||||
@@ -1006,8 +1006,8 @@ impl Timeline for BufferedTimeline {
|
||||
let mut from_blknum = 0;
|
||||
let mut page_versions: Vec<(u32, Lsn, PageVersion)> = Vec::new();
|
||||
'pages: loop {
|
||||
let mut iter = store.data.range(&from.ser()?..);
|
||||
while let Some(entry) = iter.next() {
|
||||
let iter = store.data.range(&from.ser()?..);
|
||||
for entry in iter {
|
||||
let pair = entry?;
|
||||
if let StoreKey::Data(dk) = StoreKey::des(&pair.0)? {
|
||||
let same_seg = from_rel == dk.rel
|
||||
@@ -1586,11 +1586,11 @@ impl BufferedTimeline {
|
||||
|
||||
'meta: loop {
|
||||
let store = self.store.read().unwrap();
|
||||
let mut iter = store.data.range(&from.ser()?..);
|
||||
let iter = store.data.range(&from.ser()?..);
|
||||
// We can not remove deteriorated version immediately, we need to check first that successor exists
|
||||
let mut last_key: Option<yakv::storage::Key> = None;
|
||||
|
||||
while let Some(entry) = iter.next() {
|
||||
for entry in iter {
|
||||
let pair = entry?;
|
||||
let raw_key = pair.0;
|
||||
let key = StoreKey::des(&raw_key)?;
|
||||
@@ -1665,9 +1665,9 @@ impl BufferedTimeline {
|
||||
let mut from_blknum = 0;
|
||||
'pages: loop {
|
||||
let store = self.store.read().unwrap();
|
||||
let mut iter = store.data.range(&from.ser()?..);
|
||||
let iter = store.data.range(&from.ser()?..);
|
||||
deteriorated.clear();
|
||||
while let Some(entry) = iter.next() {
|
||||
for entry in iter {
|
||||
let pair = entry?;
|
||||
let raw_key = pair.0;
|
||||
let key = StoreKey::des(&raw_key)?;
|
||||
|
||||
@@ -3,7 +3,6 @@ use lz4_flex;
|
||||
use std::convert::TryInto;
|
||||
use std::ops::{Bound, RangeBounds};
|
||||
use std::path::Path;
|
||||
use tracing::*;
|
||||
use zenith_utils::lsn::Lsn;
|
||||
|
||||
use yakv::storage::{Key, Storage, StorageConfig, StorageIterator, Value};
|
||||
@@ -32,7 +31,7 @@ impl<'a> Iterator for ToastIterator<'a> {
|
||||
fn next(&mut self) -> Option<Self::Item> {
|
||||
let mut toast: Option<Vec<u8>> = None;
|
||||
let mut next_segno = 0u16;
|
||||
while let Some(elem) = self.iter.next() {
|
||||
for elem in &mut self.iter {
|
||||
if let Ok((key, value)) = elem {
|
||||
let key_len = key.len();
|
||||
let n_segments =
|
||||
@@ -73,7 +72,7 @@ impl<'a> DoubleEndedIterator for ToastIterator<'a> {
|
||||
let mut next_segno = 0u16;
|
||||
while let Some(elem) = self.iter.next_back() {
|
||||
if let Ok((key, value)) = elem {
|
||||
assert!(value.len() != 0);
|
||||
assert!(!value.is_empty());
|
||||
let key_len = key.len();
|
||||
let n_segments =
|
||||
u16::from_be_bytes(key[key_len - 4..key_len - 2].try_into().unwrap());
|
||||
@@ -95,10 +94,7 @@ impl<'a> DoubleEndedIterator for ToastIterator<'a> {
|
||||
next_segno = segno;
|
||||
if next_segno == 0 {
|
||||
let toast = toast.unwrap();
|
||||
if toast.len() == 0 {
|
||||
warn!("n_segments={}", n_segments);
|
||||
}
|
||||
assert!(toast.len() != 0);
|
||||
assert!(!toast.is_empty());
|
||||
let res = lz4_flex::decompress_size_prepended(&toast);
|
||||
return Some(if let Ok(decompressed_data) = res {
|
||||
Ok((key, decompressed_data))
|
||||
@@ -135,10 +131,11 @@ impl ToastStore {
|
||||
})
|
||||
}
|
||||
|
||||
pub fn put(&mut self, key: &Key, value: &Value) -> Result<()> {
|
||||
pub fn put(&mut self, key: &[u8], value: &[u8]) -> Result<()> {
|
||||
let mut tx = self.db.start_transaction();
|
||||
let value_len = value.len();
|
||||
let mut key = key.clone();
|
||||
let mut key = key.to_vec();
|
||||
let value = &value.to_vec();
|
||||
if value_len >= TOAST_SEGMENT_SIZE {
|
||||
let compressed_data = lz4_flex::compress_prepend_size(value);
|
||||
let compressed_data_len = compressed_data.len();
|
||||
@@ -214,15 +211,15 @@ impl ToastStore {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn remove(&mut self, key: &Key) -> Result<()> {
|
||||
pub fn remove(&mut self, key: &[u8]) -> Result<()> {
|
||||
let mut tx = self.db.start_transaction();
|
||||
let mut min_key = key.clone();
|
||||
let mut max_key = key.clone();
|
||||
let mut min_key = key.to_vec();
|
||||
let mut max_key = key.to_vec();
|
||||
min_key.extend_from_slice(&[0u8; 4]);
|
||||
max_key.extend_from_slice(&[0xFFu8; 4]);
|
||||
let mut iter = tx.range(&min_key..&max_key);
|
||||
if let Some(entry) = iter.next() {
|
||||
let mut key = entry?.0.clone();
|
||||
let mut key = entry?.0;
|
||||
let key_len = key.len();
|
||||
let n_segments = u16::from_be_bytes(key[key_len - 4..key_len - 2].try_into().unwrap());
|
||||
if n_segments != 0 {
|
||||
|
||||
Reference in New Issue
Block a user