From 7f0f592b6b8be81acdaf3ac057b3a741bc7ebe97 Mon Sep 17 00:00:00 2001 From: Ning Sun Date: Thu, 8 Oct 2026 09:00:10 +0000 Subject: [PATCH] chore: update rust toolchain to 1.98.1 (#9429) --- flake.lock | 18 ++++++++--------- flake.nix | 2 +- rust-toolchain.toml | 2 +- .../function/src/scalars/vector/impl_conv.rs | 6 ++++-- src/common/meta/src/instruction.rs | 4 ++-- src/common/meta/src/kv_backend/chroot.rs | 2 +- src/common/meta/src/rpc/router.rs | 2 +- src/common/meta/src/rpc/store.rs | 6 +++--- src/common/meta/src/sequence.rs | 4 ++-- src/common/query/src/stream.rs | 2 +- src/datatypes/src/types/vector_type.rs | 6 ++++-- src/flow/src/batching_mode/utils/test.rs | 1 - src/index/src/bloom_filter/creator.rs | 6 ++++-- src/log-store/src/kafka/consumer.rs | 11 ++++------ .../src/handler/collect_stats_handler.rs | 2 +- .../src/procedure/repartition/utils.rs | 2 +- src/meta-srv/src/service/heartbeat.rs | 1 - .../src/row_converter/sparse/checked.rs | 2 +- src/mito2/benches/memtable_bench.rs | 2 +- src/mito2/src/compaction/scheduler_test.rs | 2 +- src/mito2/src/gc/worker_test.rs | 10 +++------- src/mito2/src/memtable/bulk.rs | 12 +++++------ src/mito2/src/sst/file_ref.rs | 8 ++------ .../src/etl/transform/transformer/greptime.rs | 2 +- .../src/extension_plan/histogram_fold.rs | 2 +- src/query/src/dist_plan/analyzer.rs | 2 +- src/servers/src/http/jaeger.rs | 2 +- src/servers/src/prom_remote_write/v2.rs | 2 +- src/sql/src/parsers/create_parser.rs | 4 ++-- src/sql/src/statements/copy.rs | 10 +++++----- src/sql/src/statements/create.rs | 20 +++++++++---------- src/sql/src/statements/option_map.rs | 4 ++-- src/sql/src/statements/show.rs | 8 ++++---- src/table/src/metadata.rs | 2 +- src/table/src/predicate.rs | 11 ++++------ src/table/src/test_util/memtable.rs | 1 - tests-integration/src/cluster.rs | 2 +- tests-integration/src/standalone.rs | 2 +- tests-integration/src/tests/instance_test.rs | 8 ++++---- 39 files changed, 92 insertions(+), 103 deletions(-) diff --git a/flake.lock b/flake.lock index 27c1797f10b..621f1e2f3a0 100644 --- a/flake.lock +++ b/flake.lock @@ -8,11 +8,11 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1785314864, - "narHash": "sha256-imz9J5iMNersDeQ1ymenFg35N6C2R3MCaGg2i0XCIrE=", + "lastModified": 1790642863, + "narHash": "sha256-JIwE6EnebvxW7QFFEitWHuZDXwN6Qcf6ZC8DIvYW3y8=", "owner": "nix-community", "repo": "fenix", - "rev": "594418b2c9ea0731bee6988236ef5bfd97e81dca", + "rev": "a8f386c482e78e9a48be5abecdc17a9b098a95a1", "type": "github" }, "original": { @@ -41,11 +41,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1785133411, - "narHash": "sha256-Yjv0WEg39KRYS0rBdTbu6Fc/or/ihAKk13W9sQ6VWd0=", + "lastModified": 1790533781, + "narHash": "sha256-F+b8u43BVF5DlM0pz7JQSbtbwKy5PrHIT5zQUekXsD0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2f5a153c270b70cb0f8c11f46d96d6d3bc39f4e3", + "rev": "cf5e76507c6e23b59f7e0ffcc7baa2a39ddd8442", "type": "github" }, "original": { @@ -65,11 +65,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1785261141, - "narHash": "sha256-sA+DHPejWD68mLA7gtTiHGd5T41F6W+NKf0g+ibFCW4=", + "lastModified": 1790532271, + "narHash": "sha256-j8y/AO3AMDF9p+11aIDhnA21JnNj5PjvcejTI43vI8Q=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "bec66814323579659ffd77c909b3d963af118ece", + "rev": "03fcb77246f2568adb0e9b2fa60d19c6cc1686f4", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 6e4151fb3e8..df71403b24f 100644 --- a/flake.nix +++ b/flake.nix @@ -22,7 +22,7 @@ lib = nixpkgs.lib; rustToolchain = fenix.packages.${system}.fromToolchainName { name = (lib.importTOML ./rust-toolchain.toml).toolchain.channel; - sha256 = "sha256-h+t2xTBz5yt2YIO+1VMIIGlCU7gyp2LYOFvaV1nwOXU="; + sha256 = "sha256-p8h3Sl/YRByZfZTAKXdsvF6xEenXKrXSVvpphmZENH4="; }; in { diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 2d45363a5be..642220914d8 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,2 +1,2 @@ [toolchain] -channel = "1.96.1" +channel = "1.98.1" diff --git a/src/common/function/src/scalars/vector/impl_conv.rs b/src/common/function/src/scalars/vector/impl_conv.rs index 219361a302c..00d23cedf7f 100644 --- a/src/common/function/src/scalars/vector/impl_conv.rs +++ b/src/common/function/src/scalars/vector/impl_conv.rs @@ -53,8 +53,10 @@ pub fn binlit_as_veclit(bytes: &[u8]) -> Result> { }) } else { let v = bytes - .chunks_exact(std::mem::size_of::()) - .map(|chunk| f32::from_le_bytes(chunk.try_into().unwrap())) + .as_chunks::<{ std::mem::size_of::() }>() + .0 + .iter() + .map(|chunk| f32::from_le_bytes(*chunk)) .collect::>(); Ok(Cow::Owned(v)) } diff --git a/src/common/meta/src/instruction.rs b/src/common/meta/src/instruction.rs index 60ebe14e37c..6ae074b0ac9 100644 --- a/src/common/meta/src/instruction.rs +++ b/src/common/meta/src/instruction.rs @@ -732,12 +732,12 @@ impl PackedRegionFileRefs { } let mut refs = HashSet::new(); - for bytes in files.chunks_exact(16) { + for bytes in files.as_chunks::<16>().0 { let mut id = [0; 16]; id.copy_from_slice(bytes); refs.insert(FileRef::new(region, FileId::from_bytes(id), None)); } - for bytes in indexed.chunks_exact(24) { + for bytes in indexed.as_chunks::<24>().0 { let mut id = [0; 16]; id.copy_from_slice(&bytes[..16]); let mut version = [0; 8]; diff --git a/src/common/meta/src/kv_backend/chroot.rs b/src/common/meta/src/kv_backend/chroot.rs index 1a7e7c615ac..4d2d16d0f2f 100644 --- a/src/common/meta/src/kv_backend/chroot.rs +++ b/src/common/meta/src/kv_backend/chroot.rs @@ -82,7 +82,7 @@ impl KvBackend for ChrootKvBackend { async fn batch_put(&self, mut req: BatchPutRequest) -> Result { for kv in req.kvs.iter_mut() { - kv.key = self.key_prepend_root(kv.key.drain(..).collect()); + kv.key = self.key_prepend_root(std::mem::take(&mut kv.key)); } let mut res = self.inner.batch_put(req).await?; res.prev_kvs = res diff --git a/src/common/meta/src/rpc/router.rs b/src/common/meta/src/rpc/router.rs index 929f57515ed..20fcd955abb 100644 --- a/src/common/meta/src/rpc/router.rs +++ b/src/common/meta/src/rpc/router.rs @@ -48,7 +48,7 @@ pub fn region_distribution(region_routes: &[RegionRoute]) -> RegionDistribution .add_follower_region(region_number); } } - for (_, region_role_set) in regions_id_map.iter_mut() { + for region_role_set in regions_id_map.values_mut() { // Sort the regions in ascending order. region_role_set.sort() } diff --git a/src/common/meta/src/rpc/store.rs b/src/common/meta/src/rpc/store.rs index 25536993972..a9c36199761 100644 --- a/src/common/meta/src/rpc/store.rs +++ b/src/common/meta/src/rpc/store.rs @@ -199,7 +199,7 @@ impl RangeResponse { } pub fn take_kvs(&mut self) -> Vec { - self.kvs.drain(..).collect() + std::mem::take(&mut self.kvs) } } @@ -451,7 +451,7 @@ impl BatchPutResponse { } pub fn take_prev_kvs(&mut self) -> Vec { - self.prev_kvs.drain(..).collect() + std::mem::take(&mut self.prev_kvs) } } @@ -780,7 +780,7 @@ impl DeleteRangeResponse { } pub fn take_prev_kvs(&mut self) -> Vec { - self.prev_kvs.drain(..).collect() + std::mem::take(&mut self.prev_kvs) } } diff --git a/src/common/meta/src/sequence.rs b/src/common/meta/src/sequence.rs index cd0a8ebf881..9d56170833c 100644 --- a/src/common/meta/src/sequence.rs +++ b/src/common/meta/src/sequence.rs @@ -188,7 +188,7 @@ impl Inner { } error::NextSequenceSnafu { - err_msg: format!("{}.next()", &self.name), + err_msg: format!("{}.next()", self.name), } .fail() } @@ -264,7 +264,7 @@ impl Inner { } error::NextSequenceSnafu { - err_msg: format!("{}.next_range()", &self.name), + err_msg: format!("{}.next_range()", self.name), } .fail() } diff --git a/src/common/query/src/stream.rs b/src/common/query/src/stream.rs index 0a46164d9b4..d6f1735e06c 100644 --- a/src/common/query/src/stream.rs +++ b/src/common/query/src/stream.rs @@ -95,7 +95,7 @@ impl DisplayAs for StreamScanAdapter { f, "StreamScanAdapter: [], schema: [" )?; - write!(f, "{:?}", &self.arrow_schema)?; + write!(f, "{:?}", self.arrow_schema)?; write!(f, "]") } } diff --git a/src/datatypes/src/types/vector_type.rs b/src/datatypes/src/types/vector_type.rs index d01949c4737..ab756be90eb 100644 --- a/src/datatypes/src/types/vector_type.rs +++ b/src/datatypes/src/types/vector_type.rs @@ -86,8 +86,10 @@ pub fn vector_type_value_to_string(val: &[u8], dim: u32) -> Result { } let elements = val - .chunks_exact(std::mem::size_of::()) - .map(|e| f32::from_le_bytes(e.try_into().unwrap())); + .as_chunks::<{ std::mem::size_of::() }>() + .0 + .iter() + .map(|e| f32::from_le_bytes(*e)); let mut s = String::from("["); for (i, e) in elements.enumerate() { diff --git a/src/flow/src/batching_mode/utils/test.rs b/src/flow/src/batching_mode/utils/test.rs index 1f390d1594c..1af8880a7d4 100644 --- a/src/flow/src/batching_mode/utils/test.rs +++ b/src/flow/src/batching_mode/utils/test.rs @@ -22,7 +22,6 @@ use common_recordbatch::recordbatch::merge_record_batches; use common_recordbatch::{RecordBatch, util}; use common_time::Timestamp; use datafusion_common::ScalarValue; -use datafusion_common::tree_node::TreeNode as _; use datafusion_expr::{GroupingSet, TableScanBuilder}; use datatypes::arrow::array::{Array, AsArray}; use datatypes::arrow::datatypes::{Float64Type, Int64Type, UInt64Type}; diff --git a/src/index/src/bloom_filter/creator.rs b/src/index/src/bloom_filter/creator.rs index 83c0ae0c697..dc1dc54d289 100644 --- a/src/index/src/bloom_filter/creator.rs +++ b/src/index/src/bloom_filter/creator.rs @@ -270,8 +270,10 @@ mod tests { /// Converts a slice of bytes to a vector of `u64`. pub fn u64_vec_from_bytes(bytes: &[u8]) -> Vec { bytes - .chunks_exact(std::mem::size_of::()) - .map(|chunk| u64::from_le_bytes(chunk.try_into().unwrap())) + .as_chunks::<{ std::mem::size_of::() }>() + .0 + .iter() + .map(|chunk| u64::from_le_bytes(*chunk)) .collect() } diff --git a/src/log-store/src/kafka/consumer.rs b/src/log-store/src/kafka/consumer.rs index 8a7cba5a4b6..d064a9bc9ac 100644 --- a/src/log-store/src/kafka/consumer.rs +++ b/src/log-store/src/kafka/consumer.rs @@ -158,13 +158,10 @@ impl RecordsBuffer { impl RecordsBuffer { fn pop_front(&mut self) -> Option { while let Some(index) = self.index.peek() { - if let Some(record_and_offset) = self.buffer.pop_front() { - if index == record_and_offset.offset as u64 { - self.index.next(); - return Some(record_and_offset); - } - } else { - return None; + let record_and_offset = self.buffer.pop_front()?; + if index == record_and_offset.offset as u64 { + self.index.next(); + return Some(record_and_offset); } } diff --git a/src/meta-srv/src/handler/collect_stats_handler.rs b/src/meta-srv/src/handler/collect_stats_handler.rs index e3ae7ebe915..cc653f9982c 100644 --- a/src/meta-srv/src/handler/collect_stats_handler.rs +++ b/src/meta-srv/src/handler/collect_stats_handler.rs @@ -40,7 +40,7 @@ struct EpochStats { impl EpochStats { #[inline] fn drain_all(&mut self) -> Vec { - self.stats.drain(..).collect() + std::mem::take(&mut self.stats) } #[inline] diff --git a/src/meta-srv/src/procedure/repartition/utils.rs b/src/meta-srv/src/procedure/repartition/utils.rs index 50dbc57f9a8..cf6ea726f34 100644 --- a/src/meta-srv/src/procedure/repartition/utils.rs +++ b/src/meta-srv/src/procedure/repartition/utils.rs @@ -82,7 +82,7 @@ pub fn merge_and_validate_region_wal_options( table_id: TableId, ) -> Result { // Doesn't allow overwriting existing WAL options. - for (region_number, _) in new_region_wal_options.iter() { + for region_number in new_region_wal_options.keys() { if region_wal_options.contains_key(region_number) { return error::UnexpectedSnafu { violated: format!( diff --git a/src/meta-srv/src/service/heartbeat.rs b/src/meta-srv/src/service/heartbeat.rs index 5cdc5b57894..782daa289de 100644 --- a/src/meta-srv/src/service/heartbeat.rs +++ b/src/meta-srv/src/service/heartbeat.rs @@ -419,7 +419,6 @@ mod tests { use std::sync::Arc; use api::v1::meta::heartbeat_server::Heartbeat; - use api::v1::meta::*; use common_meta::kv_backend::memory::MemoryKvBackend; use common_telemetry::tracing_context::W3cTrace; use servers::grpc::GrpcOptions; diff --git a/src/mito-codec/src/row_converter/sparse/checked.rs b/src/mito-codec/src/row_converter/sparse/checked.rs index 0cc9ed8211a..fec89b74e0d 100644 --- a/src/mito-codec/src/row_converter/sparse/checked.rs +++ b/src/mito-codec/src/row_converter/sparse/checked.rs @@ -116,7 +116,7 @@ impl<'a, 'b> SparsePrimaryKeyView<'a, 'b> { // encoded_value checked the markers and every chunk length. Reserve once // before unchunking so the buffer does not grow for each 8-byte chunk. buffer.reserve(encoded.len() - 2); - for chunk in encoded[2..].chunks_exact(9) { + for chunk in encoded[2..].as_chunks::<9>().0 { let len = usize::from(chunk[8]).min(8); buffer.extend_from_slice(&chunk[..len]); } diff --git a/src/mito2/benches/memtable_bench.rs b/src/mito2/benches/memtable_bench.rs index 80331941865..e4d71c9883c 100644 --- a/src/mito2/benches/memtable_bench.rs +++ b/src/mito2/benches/memtable_bench.rs @@ -268,7 +268,7 @@ fn filter_1_host(c: &mut Criterion) { ) .unwrap(); - for (_range_id, range) in ranges.ranges.iter() { + for range in ranges.ranges.values() { let iter = range.build_record_batch_iter(None, None).unwrap(); for batch in iter { let _batch = batch.unwrap(); diff --git a/src/mito2/src/compaction/scheduler_test.rs b/src/mito2/src/compaction/scheduler_test.rs index 5afcc9c37fd..42c1df23f07 100644 --- a/src/mito2/src/compaction/scheduler_test.rs +++ b/src/mito2/src/compaction/scheduler_test.rs @@ -546,7 +546,7 @@ async fn test_planning_panic_notifies_and_clears_status() { let finished = recv_compaction_pick_finished(&mut rx).await; let CompactionPlanningResult::Error(err) = &finished.result else { - panic!("expected planning error, got {:?}", &finished.result); + panic!("expected planning error, got {:?}", finished.result); }; assert!(err.to_string().contains("planning boom")); let pending_ddls = scheduler diff --git a/src/mito2/src/gc/worker_test.rs b/src/mito2/src/gc/worker_test.rs index 7bcf511f1a0..2a66294f59b 100644 --- a/src/mito2/src/gc/worker_test.rs +++ b/src/mito2/src/gc/worker_test.rs @@ -518,13 +518,9 @@ async fn write_and_list_entry(store: &ObjectStore, path: &str) -> Entry { .await .unwrap(); // List the parent directory to get the entry. - let parent = std::path::Path::new(path).parent().and_then(|p| { - if p.as_os_str().is_empty() { - None - } else { - Some(p) - } - }); + let parent = std::path::Path::new(path) + .parent() + .filter(|p| !p.as_os_str().is_empty()); let prefix = match parent { Some(p) => format!("{}/", p.to_str().unwrap()), None => String::new(), // root diff --git a/src/mito2/src/memtable/bulk.rs b/src/mito2/src/memtable/bulk.rs index 94ccac472df..afede8904d8 100644 --- a/src/mito2/src/memtable/bulk.rs +++ b/src/mito2/src/memtable/bulk.rs @@ -1872,7 +1872,7 @@ mod tests { let total_rows: usize = ranges.ranges.values().map(|r| r.stats().num_rows()).sum(); assert_eq!(5, total_rows); - for (_range_id, range) in ranges.ranges.iter() { + for range in ranges.ranges.values() { assert!(range.num_rows() > 0); assert!(range.is_record_batch()); @@ -2468,7 +2468,7 @@ mod tests { let total_rows: usize = ranges.ranges.values().map(|r| r.stats().num_rows()).sum(); assert_eq!(10, total_rows); - for (_range_id, range) in ranges.ranges.iter() { + for range in ranges.ranges.values() { assert!(range.num_rows() > 0); assert!(range.is_record_batch()); @@ -2554,7 +2554,7 @@ mod tests { // Read all data and verify let mut total_rows_read = 0; - for (_range_id, range) in ranges.ranges.iter() { + for range in ranges.ranges.values() { assert!(range.is_record_batch()); let record_batch_iter = range.build_record_batch_iter(None, None).unwrap(); @@ -2642,7 +2642,7 @@ mod tests { assert_eq!(13, total_rows); let mut total_rows_read = 0; - for (_range_id, range) in ranges.ranges.iter() { + for range in ranges.ranges.values() { let record_batch_iter = range.build_record_batch_iter(None, None).unwrap(); for batch_result in record_batch_iter { let batch = batch_result.unwrap(); @@ -3063,7 +3063,7 @@ mod tests { // Read all data let mut total_rows_read = 0; - for (_range_id, range) in ranges.ranges.iter() { + for range in ranges.ranges.values() { assert!(range.is_record_batch()); let record_batch_iter = range.build_record_batch_iter(None, None).unwrap(); @@ -3120,7 +3120,7 @@ mod tests { // Should return ranges but each range should produce an empty iterator // instead of an error. - for (_range_id, range) in ranges.ranges.iter() { + for range in ranges.ranges.values() { assert!(range.is_record_batch()); let record_batch_iter = range.build_record_batch_iter(None, None).unwrap(); let total_rows: usize = record_batch_iter.map(|r| r.unwrap().num_rows()).sum(); diff --git a/src/mito2/src/sst/file_ref.rs b/src/mito2/src/sst/file_ref.rs index 2f067cf3c19..28ff116cf25 100644 --- a/src/mito2/src/sst/file_ref.rs +++ b/src/mito2/src/sst/file_ref.rs @@ -77,12 +77,8 @@ impl FileReferenceManager { } fn ref_file_set(&self, region_id: RegionId) -> Option> { - let file_refs = if let Some(file_refs) = self.files_per_region.get(®ion_id) { - file_refs.clone() - } else { - // region id not found. - return None; - }; + // region id not found. + let file_refs = self.files_per_region.get(®ion_id)?.clone(); if file_refs.files.is_empty() { // still return an empty manifest to indicate no files are referenced. diff --git a/src/pipeline/src/etl/transform/transformer/greptime.rs b/src/pipeline/src/etl/transform/transformer/greptime.rs index eb25071c91c..16c9e3399b6 100644 --- a/src/pipeline/src/etl/transform/transformer/greptime.rs +++ b/src/pipeline/src/etl/transform/transformer/greptime.rs @@ -911,7 +911,7 @@ fn identity_pipeline_inner( } let column_count = schema_info.schema.len(); - for (_, row) in opt_map.iter_mut() { + for row in opt_map.values_mut() { for row in row.iter_mut() { assert!( column_count >= row.values.len(), diff --git a/src/promql/src/extension_plan/histogram_fold.rs b/src/promql/src/extension_plan/histogram_fold.rs index 3dc51e27bcd..709117df294 100644 --- a/src/promql/src/extension_plan/histogram_fold.rs +++ b/src/promql/src/extension_plan/histogram_fold.rs @@ -1218,7 +1218,7 @@ impl HistogramFoldStream { fn flush_remaining(&mut self) -> DataFusionResult<()> { if self.mode == FoldMode::Optimistic && self.input_buffered_rows > 0 { - let buffered_batches: Vec<_> = self.input_buffer.drain(..).collect(); + let buffered_batches: Vec<_> = std::mem::take(&mut self.input_buffer); if !buffered_batches.is_empty() { let batch = concat_batches(&self.input_schema, buffered_batches.as_slice())?; self.switch_to_safe_mode(batch)?; diff --git a/src/query/src/dist_plan/analyzer.rs b/src/query/src/dist_plan/analyzer.rs index 2c1d066054a..da26d88b433 100644 --- a/src/query/src/dist_plan/analyzer.rs +++ b/src/query/src/dist_plan/analyzer.rs @@ -653,7 +653,7 @@ impl PlanRewriter { )) })?; - for (_col_name, alias_set) in part_cols.iter_mut() { + for alias_set in part_cols.values_mut() { let aliased_cols = aliased_columns_for( &alias_set.clone().into_iter().collect(), plan, diff --git a/src/servers/src/http/jaeger.rs b/src/servers/src/http/jaeger.rs index 32ef6a61682..16dbaf76e53 100644 --- a/src/servers/src/http/jaeger.rs +++ b/src/servers/src/http/jaeger.rs @@ -328,7 +328,7 @@ impl QueryTraceParams { } .build() })?; - for (_, v) in tags_map.iter_mut() { + for v in tags_map.values_mut() { if let Some(number) = convert_string_to_number(v) { *v = number; } diff --git a/src/servers/src/prom_remote_write/v2.rs b/src/servers/src/prom_remote_write/v2.rs index b9e34dc7f24..9178748bc77 100644 --- a/src/servers/src/prom_remote_write/v2.rs +++ b/src/servers/src/prom_remote_write/v2.rs @@ -658,7 +658,7 @@ fn resolve_series_labels<'a>( let mut tags = Vec::with_capacity(labels_refs.len() / 2); label_names.clear(); - for pair in labels_refs.chunks_exact(2) { + for pair in labels_refs.as_chunks::<2>().0 { let name = symbol_ref(symbols, pair[0], "label name")?; let value = symbol_ref(symbols, pair[1], "label value")?; validate_label(name)?; diff --git a/src/sql/src/parsers/create_parser.rs b/src/sql/src/parsers/create_parser.rs index d701415f3d2..32606679a1c 100644 --- a/src/sql/src/parsers/create_parser.rs +++ b/src/sql/src/parsers/create_parser.rs @@ -768,7 +768,7 @@ impl<'a> ParserContext<'a> { { return Err(ParserError::ParserError(format!( "Cannot use keyword '{}' as column name. Hint: add quotes to the name.", - &name.value + name.value ))); } @@ -786,7 +786,7 @@ impl<'a> ParserContext<'a> { InvalidSqlSnafu { msg: format!( "Cannot use keyword '{}' as column name. Hint: add quotes to the name.", - &name.value + name.value ), } ); diff --git a/src/sql/src/statements/copy.rs b/src/sql/src/statements/copy.rs index 7a59175538c..f47f26ec61a 100644 --- a/src/sql/src/statements/copy.rs +++ b/src/sql/src/statements/copy.rs @@ -46,7 +46,7 @@ pub struct CopyQueryTo { impl Display for CopyQueryTo { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "COPY ({}) TO {}", &self.query, &self.arg.location)?; + write!(f, "COPY ({}) TO {}", self.query, self.arg.location)?; if !self.arg.with.is_empty() { let options = self.arg.with.kv_pairs(); write!(f, " WITH ({})", options.join(", "))?; @@ -70,11 +70,11 @@ impl Display for CopyTable { write!(f, "COPY ")?; let (with, connection) = match self { CopyTable::To(args) => { - write!(f, "{} TO {}", &args.table_name, &args.location)?; + write!(f, "{} TO {}", args.table_name, args.location)?; (&args.with, &args.connection) } CopyTable::From(args) => { - write!(f, "{} FROM {}", &args.table_name, &args.location)?; + write!(f, "{} FROM {}", args.table_name, args.location)?; (&args.with, &args.connection) } }; @@ -101,11 +101,11 @@ impl Display for CopyDatabase { write!(f, "COPY DATABASE ")?; let (with, connection) = match self { CopyDatabase::To(args) => { - write!(f, "{} TO {}", &args.database_name, &args.location)?; + write!(f, "{} TO {}", args.database_name, args.location)?; (&args.with, &args.connection) } CopyDatabase::From(args) => { - write!(f, "{} FROM {}", &args.database_name, &args.location)?; + write!(f, "{} FROM {}", args.database_name, args.location)?; (&args.with, &args.connection) } }; diff --git a/src/sql/src/statements/create.rs b/src/sql/src/statements/create.rs index 725743ee679..9bd6c341a65 100644 --- a/src/sql/src/statements/create.rs +++ b/src/sql/src/statements/create.rs @@ -456,7 +456,7 @@ impl CreateTable { if self.if_not_exists { write!(f, "IF NOT EXISTS ")?; } - writeln!(f, "{} (", &self.name)?; + writeln!(f, "{} (", self.name)?; for (index, column) in self.columns.iter().enumerate() { if index > 0 { f.write_str(LINE_SEP)?; @@ -471,7 +471,7 @@ impl CreateTable { if let Some(partitions) = &self.partitions { writeln!(f, "{partitions}")?; } - writeln!(f, "ENGINE={}", &self.engine)?; + writeln!(f, "ENGINE={}", self.engine)?; if !self.options.is_empty() { f.write_str("WITH(\n")?; self.options.write_sql(f, LINE_SEP, " ", complete)?; @@ -506,7 +506,7 @@ impl Display for CreateDatabase { if self.if_not_exists { write!(f, "IF NOT EXISTS ")?; } - write!(f, "{}", &self.name)?; + write!(f, "{}", self.name)?; if !self.options.is_empty() { let options = self.options.kv_pairs(); write!(f, "\nWITH(\n{}\n)", format_list_indent!(options))?; @@ -533,11 +533,11 @@ impl Display for CreateExternalTable { if self.if_not_exists { write!(f, "IF NOT EXISTS ")?; } - writeln!(f, "{} (", &self.name)?; + writeln!(f, "{} (", self.name)?; writeln!(f, "{},", format_list_indent!(self.columns))?; writeln!(f, "{}", format_table_constraint(&self.constraints))?; writeln!(f, ")")?; - writeln!(f, "ENGINE={}", &self.engine)?; + writeln!(f, "ENGINE={}", self.engine)?; if !self.options.is_empty() { let options = self.options.kv_pairs(); write!(f, "WITH(\n{}\n)", format_list_indent!(options))?; @@ -635,8 +635,8 @@ impl Display for CreateFlow { if self.if_not_exists { write!(f, "IF NOT EXISTS ")?; } - writeln!(f, "{}", &self.flow_name)?; - writeln!(f, "SINK TO {}", &self.sink_table_name)?; + writeln!(f, "{}", self.flow_name)?; + writeln!(f, "SINK TO {}", self.sink_table_name)?; if let Some(expire_after) = &self.expire_after { writeln!(f, "EXPIRE AFTER '{} s'", expire_after)?; } @@ -657,7 +657,7 @@ impl Display for CreateFlow { let options = self.flow_options.kv_pairs(); writeln!(f, "WITH ({})", format_list_comma!(options))?; } - write!(f, "AS {}", &self.query) + write!(f, "AS {}", self.query) } } @@ -687,11 +687,11 @@ impl Display for CreateView { if self.if_not_exists { write!(f, "IF NOT EXISTS ")?; } - write!(f, "{} ", &self.name)?; + write!(f, "{} ", self.name)?; if !self.columns.is_empty() { write!(f, "({}) ", format_list_comma!(self.columns))?; } - write!(f, "AS {}", &self.query) + write!(f, "AS {}", self.query) } } diff --git a/src/sql/src/statements/option_map.rs b/src/sql/src/statements/option_map.rs index 5077088b67a..29808ae602d 100644 --- a/src/sql/src/statements/option_map.rs +++ b/src/sql/src/statements/option_map.rs @@ -258,10 +258,10 @@ impl Visit for OptionMap { impl VisitMut for OptionMap { fn visit(&mut self, visitor: &mut V) -> ControlFlow { - for (_, v) in self.options.iter_mut() { + for v in self.options.values_mut() { v.visit(visitor)?; } - for (_, v) in self.secrets.iter_mut() { + for v in self.secrets.values_mut() { v.expose_secret_mut().visit(visitor)?; } ControlFlow::Continue(()) diff --git a/src/sql/src/statements/show.rs b/src/sql/src/statements/show.rs index 67624192b82..d1531de360d 100644 --- a/src/sql/src/statements/show.rs +++ b/src/sql/src/statements/show.rs @@ -41,7 +41,7 @@ impl Display for ShowKind { macro_rules! format_kind { ($self: expr, $f: expr) => { if $self.kind != ShowKind::All { - write!($f, " {}", &$self.kind)?; + write!($f, " {}", $self.kind)?; } }; } @@ -71,7 +71,7 @@ impl Display for ShowColumns { if self.full { write!(f, "FULL ")?; } - write!(f, "COLUMNS IN {}", &self.table)?; + write!(f, "COLUMNS IN {}", self.table)?; if let Some(database) = &self.database { write!(f, " IN {database}")?; } @@ -90,7 +90,7 @@ pub struct ShowIndex { impl Display for ShowIndex { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "SHOW INDEX IN {}", &self.table)?; + write!(f, "SHOW INDEX IN {}", self.table)?; if let Some(database) = &self.database { write!(f, " IN {database}")?; } @@ -110,7 +110,7 @@ pub struct ShowRegion { impl Display for ShowRegion { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "SHOW REGION IN {}", &self.table)?; + write!(f, "SHOW REGION IN {}", self.table)?; if let Some(database) = &self.database { write!(f, " IN {database}")?; } diff --git a/src/table/src/metadata.rs b/src/table/src/metadata.rs index d91771b9c5f..c8941bb1a82 100644 --- a/src/table/src/metadata.rs +++ b/src/table/src/metadata.rs @@ -1143,7 +1143,7 @@ impl TableMeta { .with_context(|_| error::CastDefaultValueSnafu { reason: format!( "Failed to cast default value from {:?} to type {:?}", - default_value, &change_column.target_type + default_value, change_column.target_type ), })?, ) diff --git a/src/table/src/predicate.rs b/src/table/src/predicate.rs index 7290c35c70b..8dc85b610f4 100644 --- a/src/table/src/predicate.rs +++ b/src/table/src/predicate.rs @@ -505,13 +505,10 @@ fn extract_from_in_list_expr( for expr in list { if let Expr::Literal(scalar, _) = expr { return_none_if_utf8!(scalar); - if let Some(timestamp) = scalar_value_to_timestamp(scalar, None) { - init_range = init_range.or(&TimestampRange::single(timestamp)) - } else { - // TODO(hl): maybe we should raise an error here since cannot parse - // timestamp value from in list expr - return None; - } + // TODO(hl): maybe we should raise an error here since cannot parse + // timestamp value from in list expr + let timestamp = scalar_value_to_timestamp(scalar, None)?; + init_range = init_range.or(&TimestampRange::single(timestamp)); } } Some(init_range) diff --git a/src/table/src/test_util/memtable.rs b/src/table/src/test_util/memtable.rs index 0ae751d35f4..a0824facd0d 100644 --- a/src/table/src/test_util/memtable.rs +++ b/src/table/src/test_util/memtable.rs @@ -188,7 +188,6 @@ impl Stream for MemtableStream { #[cfg(test)] mod test { use common_recordbatch::util; - use datatypes::prelude::*; use datatypes::schema::ColumnSchema; use datatypes::vectors::{Helper, Int32Vector, StringVector}; diff --git a/tests-integration/src/cluster.rs b/tests-integration/src/cluster.rs index 4f762ba709b..21a0d5eba2d 100644 --- a/tests-integration/src/cluster.rs +++ b/tests-integration/src/cluster.rs @@ -380,7 +380,7 @@ impl GreptimeDbClusterBuilder { let home_dir = if let Some(home_dir) = &self.shared_home_dir { home_dir.path().to_str().unwrap().to_string() } else { - let home_tmp_dir = create_temp_dir(&format!("gt_home_{}", &self.cluster_name)); + let home_tmp_dir = create_temp_dir(&format!("gt_home_{}", self.cluster_name)); let home_dir = home_tmp_dir.path().to_str().unwrap().to_string(); guards.push(TestGuard { home_guard: FileDirGuard::new(home_tmp_dir), diff --git a/tests-integration/src/standalone.rs b/tests-integration/src/standalone.rs index 5a36d495df8..98eb336d9cc 100644 --- a/tests-integration/src/standalone.rs +++ b/tests-integration/src/standalone.rs @@ -385,7 +385,7 @@ impl GreptimeDbStandaloneBuilder { let procedure_config = ProcedureConfig::default(); let kv_backend = standalone::build_metadata_kvbackend( - format!("{}/kv", &opts.storage.data_home), + format!("{}/kv", opts.storage.data_home), kv_backend_config, ) .unwrap(); diff --git a/tests-integration/src/tests/instance_test.rs b/tests-integration/src/tests/instance_test.rs index 7cc02cfc456..a1ccac27328 100644 --- a/tests-integration/src/tests/instance_test.rs +++ b/tests-integration/src/tests/instance_test.rs @@ -2648,7 +2648,7 @@ async fn test_execute_copy_from_orc_with_cast(instance: Arc) { let output = execute_sql( &instance, - &format!("copy demo from '{}' WITH(FORMAT='orc');", &filepath), + &format!("copy demo from '{}' WITH(FORMAT='orc');", filepath), ) .await .data; @@ -2687,7 +2687,7 @@ async fn test_execute_copy_from_orc(instance: Arc) { let output = execute_sql( &instance, - &format!("copy demo from '{}' WITH(FORMAT='orc');", &filepath), + &format!("copy demo from '{}' WITH(FORMAT='orc');", filepath), ) .await .data; @@ -2724,7 +2724,7 @@ async fn test_cast_type_issue_1594(instance: Arc) { let output = execute_sql( &instance, - &format!("copy tsbs_cpu from '{}' WITH(FORMAT='csv');", &filepath), + &format!("copy tsbs_cpu from '{}' WITH(FORMAT='csv');", filepath), ) .await; @@ -2762,7 +2762,7 @@ async fn test_copy_from_csv_skip_bad_records(instance: Arc) { &instance, &format!( "copy csv_skip_bad_records from '{}' WITH(FORMAT='csv', skip_bad_records='true');", - &filepath + filepath ), ) .await