From e7f5c24105dc9540aa019245abdb9e036715af35 Mon Sep 17 00:00:00 2001 From: Oleksandr Anyshchenko Date: Fri, 15 Feb 2019 11:29:29 +0200 Subject: [PATCH] Applied clippy lints --- librocksdb-sys/rocksdb_lib_sources.txt | 2 +- src/db.rs | 17 +++++++++-------- src/db_options.rs | 4 ++-- src/lib.rs | 2 +- src/merge_operator.rs | 21 ++++++++------------- src/slice_transform.rs | 6 +++--- tests/test_column_family.rs | 9 +++------ tests/test_db.rs | 2 +- tests/test_iterator.rs | 4 ++-- tests/test_slice_transform.rs | 4 ++-- 10 files changed, 32 insertions(+), 39 deletions(-) diff --git a/librocksdb-sys/rocksdb_lib_sources.txt b/librocksdb-sys/rocksdb_lib_sources.txt index 423ff5f..4258441 100644 --- a/librocksdb-sys/rocksdb_lib_sources.txt +++ b/librocksdb-sys/rocksdb_lib_sources.txt @@ -1 +1 @@ -cache/clock_cache.cc cache/lru_cache.cc cache/sharded_cache.cc db/builder.cc db/c.cc db/column_family.cc db/compacted_db_impl.cc db/compaction.cc db/compaction_iterator.cc db/compaction_job.cc db/compaction_picker.cc db/compaction_picker_universal.cc db/convenience.cc db/db_filesnapshot.cc db/db_impl.cc db/db_impl_compaction_flush.cc db/db_impl_debug.cc db/db_impl_experimental.cc db/db_impl_files.cc db/db_impl_open.cc db/db_impl_readonly.cc db/db_impl_write.cc db/db_info_dumper.cc db/db_iter.cc db/dbformat.cc db/error_handler.cc db/event_helpers.cc db/experimental.cc db/external_sst_file_ingestion_job.cc db/file_indexer.cc db/flush_job.cc db/flush_scheduler.cc db/forward_iterator.cc db/internal_stats.cc db/logs_with_prep_tracker.cc db/log_reader.cc db/log_writer.cc db/malloc_stats.cc db/memtable.cc db/memtable_list.cc db/merge_helper.cc db/merge_operator.cc db/range_del_aggregator.cc db/repair.cc db/snapshot_impl.cc db/table_cache.cc db/table_properties_collector.cc db/transaction_log_impl.cc db/version_builder.cc db/version_edit.cc db/version_set.cc db/wal_manager.cc db/write_batch.cc db/write_batch_base.cc db/write_controller.cc db/write_thread.cc env/env.cc env/env_chroot.cc env/env_encryption.cc env/env_hdfs.cc env/env_posix.cc env/io_posix.cc env/mock_env.cc memtable/alloc_tracker.cc memtable/hash_cuckoo_rep.cc memtable/hash_linklist_rep.cc memtable/hash_skiplist_rep.cc memtable/skiplistrep.cc memtable/vectorrep.cc memtable/write_buffer_manager.cc monitoring/histogram.cc monitoring/histogram_windowing.cc monitoring/instrumented_mutex.cc monitoring/iostats_context.cc monitoring/perf_context.cc monitoring/perf_level.cc monitoring/statistics.cc monitoring/thread_status_impl.cc monitoring/thread_status_updater.cc monitoring/thread_status_updater_debug.cc monitoring/thread_status_util.cc monitoring/thread_status_util_debug.cc options/cf_options.cc options/db_options.cc options/options.cc options/options_helper.cc options/options_parser.cc options/options_sanity_check.cc port/port_posix.cc port/stack_trace.cc table/adaptive_table_factory.cc table/block.cc table/block_based_filter_block.cc table/block_based_table_builder.cc table/block_based_table_factory.cc table/block_based_table_reader.cc table/block_builder.cc table/block_fetcher.cc table/block_prefix_index.cc table/bloom_block.cc table/cuckoo_table_builder.cc table/cuckoo_table_factory.cc table/cuckoo_table_reader.cc table/data_block_hash_index.cc table/data_block_footer.cc table/flush_block_policy.cc table/format.cc table/full_filter_block.cc table/get_context.cc table/index_builder.cc table/iterator.cc table/merging_iterator.cc table/meta_blocks.cc table/partitioned_filter_block.cc table/persistent_cache_helper.cc table/plain_table_builder.cc table/plain_table_factory.cc table/plain_table_index.cc table/plain_table_key_coding.cc table/plain_table_reader.cc table/sst_file_writer.cc table/table_properties.cc table/two_level_iterator.cc tools/dump/db_dump_tool.cc util/arena.cc util/auto_roll_logger.cc util/bloom.cc util/build_version.cc util/coding.cc util/compaction_job_stats_impl.cc util/comparator.cc util/compression_context_cache.cc util/concurrent_arena.cc util/crc32c.cc util/delete_scheduler.cc util/dynamic_bloom.cc util/event_logger.cc util/file_reader_writer.cc util/file_util.cc util/filename.cc util/filter_policy.cc util/hash.cc util/log_buffer.cc util/murmurhash.cc util/random.cc util/rate_limiter.cc util/slice.cc util/sst_file_manager_impl.cc util/status.cc util/string_util.cc util/sync_point.cc util/sync_point_impl.cc util/thread_local.cc util/threadpool_imp.cc util/trace_replay.cc util/transaction_test_util.cc util/xxhash.cc utilities/backupable/backupable_db.cc utilities/blob_db/blob_compaction_filter.cc utilities/blob_db/blob_db.cc utilities/blob_db/blob_db_impl.cc utilities/blob_db/blob_db_impl_filesnapshot.cc utilities/blob_db/blob_file.cc utilities/blob_db/blob_log_format.cc utilities/blob_db/blob_log_reader.cc utilities/blob_db/blob_log_writer.cc utilities/cassandra/cassandra_compaction_filter.cc utilities/cassandra/format.cc utilities/cassandra/merge_operator.cc utilities/checkpoint/checkpoint_impl.cc utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc utilities/convenience/info_log_finder.cc utilities/date_tiered/date_tiered_db_impl.cc utilities/debug.cc utilities/document/document_db.cc utilities/document/json_document.cc utilities/document/json_document_builder.cc utilities/env_mirror.cc utilities/env_timed.cc utilities/geodb/geodb_impl.cc utilities/leveldb_options/leveldb_options.cc utilities/lua/rocks_lua_compaction_filter.cc utilities/memory/memory_util.cc utilities/merge_operators/max.cc utilities/merge_operators/put.cc utilities/merge_operators/string_append/stringappend.cc utilities/merge_operators/string_append/stringappend2.cc utilities/merge_operators/uint64add.cc utilities/merge_operators/bytesxor.cc utilities/option_change_migration/option_change_migration.cc utilities/options/options_util.cc utilities/persistent_cache/block_cache_tier.cc utilities/persistent_cache/block_cache_tier_file.cc utilities/persistent_cache/block_cache_tier_metadata.cc utilities/persistent_cache/persistent_cache_tier.cc utilities/persistent_cache/volatile_tier_impl.cc utilities/redis/redis_lists.cc utilities/simulator_cache/sim_cache.cc utilities/spatialdb/spatial_db.cc utilities/table_properties_collectors/compact_on_deletion_collector.cc utilities/trace/file_trace_reader_writer.cc utilities/transactions/optimistic_transaction.cc utilities/transactions/optimistic_transaction_db_impl.cc utilities/transactions/pessimistic_transaction.cc utilities/transactions/pessimistic_transaction_db.cc utilities/transactions/snapshot_checker.cc utilities/transactions/transaction_base.cc utilities/transactions/transaction_db_mutex_impl.cc utilities/transactions/transaction_lock_mgr.cc utilities/transactions/transaction_util.cc utilities/transactions/write_prepared_txn.cc utilities/transactions/write_prepared_txn_db.cc utilities/transactions/write_unprepared_txn.cc utilities/transactions/write_unprepared_txn_db.cc utilities/ttl/db_ttl_impl.cc utilities/write_batch_with_index/write_batch_with_index.cc utilities/write_batch_with_index/write_batch_with_index_internal.cc \ No newline at end of file +cache/clock_cache.cc cache/lru_cache.cc cache/sharded_cache.cc db/builder.cc db/c.cc db/column_family.cc db/compacted_db_impl.cc db/compaction.cc db/compaction_iterator.cc db/compaction_job.cc db/compaction_picker.cc db/compaction_picker_universal.cc db/convenience.cc db/db_filesnapshot.cc db/db_impl.cc db/db_impl_compaction_flush.cc db/db_impl_experimental.cc db/db_impl_files.cc db/db_impl_open.cc db/db_impl_readonly.cc db/db_impl_write.cc db/db_info_dumper.cc db/db_iter.cc db/dbformat.cc db/error_handler.cc db/event_helpers.cc db/experimental.cc db/external_sst_file_ingestion_job.cc db/file_indexer.cc db/flush_job.cc db/flush_scheduler.cc db/forward_iterator.cc db/internal_stats.cc db/logs_with_prep_tracker.cc db/log_reader.cc db/log_writer.cc db/malloc_stats.cc db/memtable.cc db/memtable_list.cc db/merge_helper.cc db/merge_operator.cc db/range_del_aggregator.cc db/repair.cc db/snapshot_impl.cc db/table_cache.cc db/table_properties_collector.cc db/transaction_log_impl.cc db/version_builder.cc db/version_edit.cc db/version_set.cc db/wal_manager.cc db/write_batch.cc db/write_batch_base.cc db/write_controller.cc db/write_thread.cc env/env.cc env/env_chroot.cc env/env_encryption.cc env/env_hdfs.cc env/env_posix.cc env/io_posix.cc env/mock_env.cc memtable/alloc_tracker.cc memtable/hash_cuckoo_rep.cc memtable/hash_linklist_rep.cc memtable/hash_skiplist_rep.cc memtable/skiplistrep.cc memtable/vectorrep.cc memtable/write_buffer_manager.cc monitoring/histogram.cc monitoring/histogram_windowing.cc monitoring/instrumented_mutex.cc monitoring/iostats_context.cc monitoring/perf_context.cc monitoring/perf_level.cc monitoring/statistics.cc monitoring/thread_status_impl.cc monitoring/thread_status_updater.cc monitoring/thread_status_updater_debug.cc monitoring/thread_status_util.cc monitoring/thread_status_util_debug.cc options/cf_options.cc options/db_options.cc options/options.cc options/options_helper.cc options/options_parser.cc options/options_sanity_check.cc port/port_posix.cc port/stack_trace.cc table/adaptive_table_factory.cc table/block.cc table/block_based_filter_block.cc table/block_based_table_builder.cc table/block_based_table_factory.cc table/block_based_table_reader.cc table/block_builder.cc table/block_fetcher.cc table/block_prefix_index.cc table/bloom_block.cc table/cuckoo_table_builder.cc table/cuckoo_table_factory.cc table/cuckoo_table_reader.cc table/data_block_hash_index.cc table/data_block_footer.cc table/flush_block_policy.cc table/format.cc table/full_filter_block.cc table/get_context.cc table/index_builder.cc table/iterator.cc table/merging_iterator.cc table/meta_blocks.cc table/partitioned_filter_block.cc table/persistent_cache_helper.cc table/plain_table_builder.cc table/plain_table_factory.cc table/plain_table_index.cc table/plain_table_key_coding.cc table/plain_table_reader.cc table/sst_file_writer.cc table/table_properties.cc table/two_level_iterator.cc tools/dump/db_dump_tool.cc util/arena.cc util/auto_roll_logger.cc util/bloom.cc util/build_version.cc util/coding.cc util/compaction_job_stats_impl.cc util/comparator.cc util/compression_context_cache.cc util/concurrent_arena.cc util/crc32c.cc util/delete_scheduler.cc util/dynamic_bloom.cc util/event_logger.cc util/file_reader_writer.cc util/file_util.cc util/filename.cc util/filter_policy.cc util/hash.cc util/log_buffer.cc util/murmurhash.cc util/random.cc util/rate_limiter.cc util/slice.cc util/sst_file_manager_impl.cc util/status.cc util/string_util.cc util/sync_point_impl.cc util/thread_local.cc util/threadpool_imp.cc util/trace_replay.cc util/transaction_test_util.cc util/xxhash.cc utilities/backupable/backupable_db.cc utilities/blob_db/blob_compaction_filter.cc utilities/blob_db/blob_db.cc utilities/blob_db/blob_db_impl.cc utilities/blob_db/blob_db_impl_filesnapshot.cc utilities/blob_db/blob_file.cc utilities/blob_db/blob_log_format.cc utilities/blob_db/blob_log_reader.cc utilities/blob_db/blob_log_writer.cc utilities/cassandra/cassandra_compaction_filter.cc utilities/cassandra/format.cc utilities/cassandra/merge_operator.cc utilities/checkpoint/checkpoint_impl.cc utilities/compaction_filters/remove_emptyvalue_compactionfilter.cc utilities/convenience/info_log_finder.cc utilities/date_tiered/date_tiered_db_impl.cc utilities/debug.cc utilities/document/document_db.cc utilities/document/json_document.cc utilities/document/json_document_builder.cc utilities/env_mirror.cc utilities/env_timed.cc utilities/geodb/geodb_impl.cc utilities/leveldb_options/leveldb_options.cc utilities/memory/memory_util.cc utilities/merge_operators/max.cc utilities/merge_operators/put.cc utilities/merge_operators/string_append/stringappend.cc utilities/merge_operators/string_append/stringappend2.cc utilities/merge_operators/uint64add.cc utilities/merge_operators/bytesxor.cc utilities/option_change_migration/option_change_migration.cc utilities/options/options_util.cc utilities/persistent_cache/block_cache_tier.cc utilities/persistent_cache/block_cache_tier_file.cc utilities/persistent_cache/block_cache_tier_metadata.cc utilities/persistent_cache/persistent_cache_tier.cc utilities/persistent_cache/volatile_tier_impl.cc utilities/redis/redis_lists.cc utilities/simulator_cache/sim_cache.cc utilities/spatialdb/spatial_db.cc utilities/table_properties_collectors/compact_on_deletion_collector.cc utilities/trace/file_trace_reader_writer.cc utilities/transactions/optimistic_transaction.cc utilities/transactions/optimistic_transaction_db_impl.cc utilities/transactions/pessimistic_transaction.cc utilities/transactions/pessimistic_transaction_db.cc utilities/transactions/snapshot_checker.cc utilities/transactions/transaction_base.cc utilities/transactions/transaction_db_mutex_impl.cc utilities/transactions/transaction_lock_mgr.cc utilities/transactions/transaction_util.cc utilities/transactions/write_prepared_txn.cc utilities/transactions/write_prepared_txn_db.cc utilities/transactions/write_unprepared_txn.cc utilities/transactions/write_unprepared_txn_db.cc utilities/ttl/db_ttl_impl.cc utilities/write_batch_with_index/write_batch_with_index.cc utilities/write_batch_with_index/write_batch_with_index_internal.cc \ No newline at end of file diff --git a/src/db.rs b/src/db.rs index 7560c7b..9ed4679 100644 --- a/src/db.rs +++ b/src/db.rs @@ -554,7 +554,7 @@ impl<'a> Snapshot<'a> { pub fn new(db: &DB) -> Snapshot { let snapshot = unsafe { ffi::rocksdb_create_snapshot(db.inner) }; Snapshot { - db: db, + db, inner: snapshot, } } @@ -726,7 +726,7 @@ impl DB { let db: *mut ffi::rocksdb_t; let cf_map = Arc::new(RwLock::new(BTreeMap::new())); - if cfs.len() == 0 { + if cfs.is_empty() { unsafe { db = ffi_try!(ffi::rocksdb_open(opts.inner, cpath.as_ptr() as *const _,)); } @@ -1366,7 +1366,7 @@ impl DB { pub fn set_options(&self, opts: &[(&str, &str)]) -> Result<(), Error> { let copts = opts - .into_iter() + .iter() .map(|(name, value)| { let cname = match CString::new(name.as_bytes()) { Ok(cname) => cname, @@ -1383,14 +1383,15 @@ impl DB { let cnames: Vec<*const c_char> = copts.iter().map(|opt| opt.0.as_ptr()).collect(); let cvalues: Vec<*const c_char> = copts.iter().map(|opt| opt.1.as_ptr()).collect(); let count = opts.len() as i32; - Ok(unsafe { + unsafe { ffi_try!(ffi::rocksdb_set_options( self.inner, count, cnames.as_ptr(), cvalues.as_ptr(), - )) - }) + )); + } + Ok(()) } /// Retrieves a RocksDB property by name. @@ -1869,7 +1870,7 @@ impl<'a> DBPinnableSlice<'a> { fn test_db_vector() { use std::mem; let len: size_t = 4; - let data: *mut u8 = unsafe { mem::transmute(libc::calloc(len, mem::size_of::())) }; + let data = unsafe { libc::calloc(len, mem::size_of::()) as *mut u8 }; let v = unsafe { DBVector::from_c(data, len) }; let ctrl = [0u8, 0, 0, 0]; assert_eq!(&*v, &ctrl[..]); @@ -1919,7 +1920,7 @@ fn writebatch_works() { { let db = DB::open_default(path).unwrap(); { - // test put + // test putx let mut batch = WriteBatch::default(); assert!(db.get(b"k1").unwrap().is_none()); assert_eq!(batch.len(), 0); diff --git a/src/db_options.rs b/src/db_options.rs index 0454d41..64d0b15 100644 --- a/src/db_options.rs +++ b/src/db_options.rs @@ -277,7 +277,7 @@ impl Options { ) { let cb = Box::new(MergeOperatorCallback { name: CString::new(name.as_bytes()).unwrap(), - full_merge_fn: full_merge_fn, + full_merge_fn, partial_merge_fn: partial_merge_fn.unwrap_or(full_merge_fn), }); @@ -318,7 +318,7 @@ impl Options { { let cb = Box::new(CompactionFilterCallback { name: CString::new(name.as_bytes()).unwrap(), - filter_fn: filter_fn, + filter_fn, }); unsafe { diff --git a/src/lib.rs b/src/lib.rs index 27fe15b..48eb4ac 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -114,7 +114,7 @@ impl Error { Error { message } } - pub fn to_string(self) -> String { + pub fn into_string(self) -> String { self.into() } } diff --git a/src/merge_operator.rs b/src/merge_operator.rs index 46197a8..3610b96 100644 --- a/src/merge_operator.rs +++ b/src/merge_operator.rs @@ -94,7 +94,7 @@ pub unsafe extern "C" fn full_merge_callback( let cb = &mut *(raw_cb as *mut MergeOperatorCallback); let operands = &mut MergeOperands::new(operands_list, operands_list_len, num_operands); let key = slice::from_raw_parts(raw_key as *const u8, key_len as usize); - let oldval = if existing_value == ptr::null() { + let oldval = if existing_value.is_null() { None } else { Some(slice::from_raw_parts( @@ -160,8 +160,8 @@ impl MergeOperands { ) -> MergeOperands { assert!(num_operands >= 0); MergeOperands { - operands_list: operands_list, - operands_list_len: operands_list_len, + operands_list, + operands_list_len, num_operands: num_operands as usize, cursor: 0, } @@ -273,12 +273,12 @@ mod test { ); None } else { - unsafe { Some(::std::mem::transmute(s.as_ptr())) } + unsafe { Some(&*(s.as_ptr() as *const T)) } } } #[repr(packed)] - #[derive(Copy, Clone, Debug)] + #[derive(Copy, Clone, Debug, Default)] struct ValueCounts { num_a: u32, num_b: u32, @@ -306,15 +306,10 @@ mod test { existing_val: Option<&[u8]>, operands: &mut MergeOperands, ) -> Option> { - let mut counts: ValueCounts = if let Some(v) = existing_val { - from_slice::(v).unwrap().clone() + let mut counts = if let Some(v) = existing_val { + *from_slice::(v).unwrap_or(&ValueCounts::default()) } else { - ValueCounts { - num_a: 0, - num_b: 0, - num_c: 0, - num_d: 0, - } + ValueCounts::default() }; for op in operands { diff --git a/src/slice_transform.rs b/src/slice_transform.rs index d3dcb23..08b0aa6 100644 --- a/src/slice_transform.rs +++ b/src/slice_transform.rs @@ -43,8 +43,8 @@ impl SliceTransform { ) -> SliceTransform { let cb = Box::new(TransformCallback { name: CString::new(name.as_bytes()).unwrap(), - transform_fn: transform_fn, - in_domain_fn: in_domain_fn, + transform_fn, + in_domain_fn, }); let st = unsafe { @@ -55,7 +55,7 @@ impl SliceTransform { // this is ugly, but I can't get the compiler // not to barf with "expected fn pointer, found fn item" // without this. sorry. - if let Some(_) = in_domain_fn { + if in_domain_fn.is_some() { Some(in_domain_callback) } else { None diff --git a/tests/test_column_family.rs b/tests/test_column_family.rs index 7350ddf..bbb5b1f 100644 --- a/tests/test_column_family.rs +++ b/tests/test_column_family.rs @@ -179,13 +179,10 @@ fn test_provided_merge( ) -> Option> { let nops = operands.size_hint().0; let mut result: Vec = Vec::with_capacity(nops); - match existing_val { - Some(v) => { - for e in v { - result.push(*e); - } + if let Some(v) = existing_val { + for e in v { + result.push(*e); } - None => (), } for op in operands { for e in op { diff --git a/tests/test_db.rs b/tests/test_db.rs index 71e584f..1067bb3 100644 --- a/tests/test_db.rs +++ b/tests/test_db.rs @@ -26,7 +26,7 @@ use util::DBPath; fn test_db_vector() { use std::mem; let len: size_t = 4; - let data: *mut u8 = unsafe { mem::transmute(libc::calloc(len, mem::size_of::())) }; + let data: *mut u8 = unsafe { libc::calloc(len, mem::size_of::()) as *mut u8 }; let v = unsafe { DBVector::from_c(data, len) }; let ctrl = [0u8, 0, 0, 0]; assert_eq!(&*v, &ctrl[..]); diff --git a/tests/test_iterator.rs b/tests/test_iterator.rs index 88b5482..4168957 100644 --- a/tests/test_iterator.rs +++ b/tests/test_iterator.rs @@ -18,8 +18,8 @@ mod util; use rocksdb::{Direction, IteratorMode, MemtableFactory, Options, DB}; use util::DBPath; -fn cba(input: &Box<[u8]>) -> Box<[u8]> { - input.iter().cloned().collect::>().into_boxed_slice() +fn cba(input: &[u8]) -> Box<[u8]> { + input.to_vec().into_boxed_slice() } #[test] diff --git a/tests/test_slice_transform.rs b/tests/test_slice_transform.rs index 44eebad..f7cd0ba 100644 --- a/tests/test_slice_transform.rs +++ b/tests/test_slice_transform.rs @@ -30,8 +30,8 @@ pub fn test_slice_transform() { assert!(db.put(&*b1, &*b1).is_ok()); assert!(db.put(&*b2, &*b2).is_ok()); - fn cba(input: &Box<[u8]>) -> Box<[u8]> { - input.iter().cloned().collect::>().into_boxed_slice() + fn cba(input: &[u8]) -> Box<[u8]> { + input.to_vec().into_boxed_slice() } fn key(k: &[u8]) -> Box<[u8]> {