From 695bb343f1dfeb848605c648feec23f0b7c9b010 Mon Sep 17 00:00:00 2001 From: jbajic <jure.bajic@memgraph.com> Date: Tue, 1 Mar 2022 13:01:59 +0100 Subject: [PATCH] Resolve clang-tidy error --- src/glue/communication.cpp | 2 +- src/kvstore/kvstore_dummy.cpp | 6 ++++-- src/memgraph.cpp | 24 ++++++++++++++++++++++- src/memory/new_delete.cpp | 12 ++++++------ src/mg_import_csv.cpp | 8 ++++---- src/query/plan/operator.cpp | 2 +- src/query/plan/pretty_print.cpp | 2 +- src/query/procedure/mg_procedure_impl.cpp | 2 +- src/storage/v2/replication/slk.cpp | 6 +++--- 9 files changed, 44 insertions(+), 20 deletions(-) diff --git a/src/glue/communication.cpp b/src/glue/communication.cpp index da729c9f6..5d2b06a77 100644 --- a/src/glue/communication.cpp +++ b/src/glue/communication.cpp @@ -27,7 +27,7 @@ namespace memgraph::glue { memgraph::query::TypedValue ToTypedValue(const Value &value) { switch (value.type()) { case Value::Type::Null: - return memgraph::query::TypedValue(); + return {}; case Value::Type::Bool: return memgraph::query::TypedValue(value.ValueBool()); case Value::Type::Int: diff --git a/src/kvstore/kvstore_dummy.cpp b/src/kvstore/kvstore_dummy.cpp index 48c1be2fd..180938c74 100644 --- a/src/kvstore/kvstore_dummy.cpp +++ b/src/kvstore/kvstore_dummy.cpp @@ -100,9 +100,11 @@ void KVStore::iterator::SetInvalid() {} bool KVStore::iterator::IsValid() { return false; } -size_t KVStore::Size(const std::string &prefix) { return 0; } +// NOLINTNEXTLINE(readability-convert-member-functions-to-static) +size_t KVStore::Size(const std::string & /*prefix*/) const { return 0; } -bool KVStore::CompactRange(const std::string &begin_prefix, const std::string &end_prefix) { +// NOLINTNEXTLINE(readability-convert-member-functions-to-static) +bool KVStore::CompactRange(const std::string & /*begin_prefix*/, const std::string & /*end_prefix*/) { LOG_FATAL( "Unsupported operation (KVStore::Compact) -- this is a " "dummy kvstore"); diff --git a/src/memgraph.cpp b/src/memgraph.cpp index 3dece6c86..a8d425a94 100644 --- a/src/memgraph.cpp +++ b/src/memgraph.cpp @@ -139,16 +139,21 @@ DEFINE_VALIDATED_int32(bolt_port, 7687, "Port on which the Bolt server should li DEFINE_VALIDATED_int32(monitoring_port, 7444, "Port on which the websocket server for Memgraph monitoring should listen.", FLAG_IN_RANGE(0, std::numeric_limits<uint16_t>::max())); +// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables) DEFINE_VALIDATED_int32(bolt_num_workers, std::max(std::thread::hardware_concurrency(), 1U), "Number of workers used by the Bolt server. By default, this will be the " "number of processing units available on the machine.", FLAG_IN_RANGE(1, INT32_MAX)); +// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables) DEFINE_VALIDATED_int32(bolt_session_inactivity_timeout, 1800, "Time in seconds after which inactive Bolt sessions will be " "closed.", FLAG_IN_RANGE(1, INT32_MAX)); +// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables) DEFINE_string(bolt_cert_file, "", "Certificate file which should be used for the Bolt server."); +// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables) DEFINE_string(bolt_key_file, "", "Key file which should be used for the Bolt server."); +// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables) DEFINE_string(bolt_server_name_for_init, "", "Server name which the database should send to the client in the " "Bolt INIT message."); @@ -156,8 +161,11 @@ DEFINE_string(bolt_server_name_for_init, "", // General purpose flags. // NOTE: The `data_directory` flag must be the same here and in // `mg_import_csv`. If you change it, make sure to change it there as well. +// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables) DEFINE_string(data_directory, "mg_data", "Path to directory in which to save all permanent data."); +// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables) DEFINE_HIDDEN_string(log_link_basename, "", "Basename used for symlink creation to the last log file."); +// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables) DEFINE_uint64(memory_warning_threshold, 1024, "Memory warning threshold, in MB. If Memgraph detects there is " "less available RAM it will log a warning. Set to 0 to " @@ -167,30 +175,41 @@ DEFINE_uint64(memory_warning_threshold, 1024, DEFINE_bool(allow_load_csv, true, "Controls whether LOAD CSV clause is allowed in queries."); // Storage flags. +// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables) DEFINE_VALIDATED_uint64(storage_gc_cycle_sec, 30, "Storage garbage collector interval (in seconds).", FLAG_IN_RANGE(1, 24 * 3600)); // NOTE: The `storage_properties_on_edges` flag must be the same here and in // `mg_import_csv`. If you change it, make sure to change it there as well. +// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables) DEFINE_bool(storage_properties_on_edges, false, "Controls whether edges have properties."); +// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables) DEFINE_bool(storage_recover_on_startup, false, "Controls whether the storage recovers persisted data on startup."); +// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables) DEFINE_VALIDATED_uint64(storage_snapshot_interval_sec, 0, "Storage snapshot creation interval (in seconds). Set " "to 0 to disable periodic snapshot creation.", FLAG_IN_RANGE(0, 7 * 24 * 3600)); +// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables) DEFINE_bool(storage_wal_enabled, false, "Controls whether the storage uses write-ahead-logging. To enable " "WAL periodic snapshots must be enabled."); +// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables) DEFINE_VALIDATED_uint64(storage_snapshot_retention_count, 3, "The number of snapshots that should always be kept.", FLAG_IN_RANGE(1, 1000000)); +// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables) DEFINE_VALIDATED_uint64(storage_wal_file_size_kib, memgraph::storage::Config::Durability().wal_file_size_kibibytes, - "Minimum file size of each WAL file.", FLAG_IN_RANGE(1, 1000 * 1024)); + "Minimum file size of each WAL file.", + FLAG_IN_RANGE(1, static_cast<unsigned long>(1000) * 1024)); +// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables) DEFINE_VALIDATED_uint64(storage_wal_file_flush_every_n_tx, memgraph::storage::Config::Durability().wal_file_flush_every_n_tx, "Issue a 'fsync' call after this amount of transactions are written to the " "WAL file. Set to 1 for fully synchronous operation.", FLAG_IN_RANGE(1, 1000000)); +// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables) DEFINE_bool(storage_snapshot_on_exit, false, "Controls whether the storage creates another snapshot on exit."); +// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables) DEFINE_bool(telemetry_enabled, false, "Set to true to enable telemetry. We collect information about the " "running system (CPU and memory information) and information about " @@ -215,9 +234,12 @@ DEFINE_string(pulsar_service_url, "", "Default URL used while connecting to Puls // Audit logging flags. #ifdef MG_ENTERPRISE +// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables) DEFINE_bool(audit_enabled, false, "Set to true to enable audit logging."); +// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables) DEFINE_VALIDATED_int32(audit_buffer_size, memgraph::audit::kBufferSizeDefault, "Maximum number of items in the audit log buffer.", FLAG_IN_RANGE(1, INT32_MAX)); +// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables) DEFINE_VALIDATED_int32(audit_buffer_flush_interval_ms, memgraph::audit::kBufferFlushIntervalMillisDefault, "Interval (in milliseconds) used for flushing the audit log buffer.", FLAG_IN_RANGE(10, INT32_MAX)); diff --git a/src/memory/new_delete.cpp b/src/memory/new_delete.cpp index 9b71bd68e..b656790c1 100644 --- a/src/memory/new_delete.cpp +++ b/src/memory/new_delete.cpp @@ -92,7 +92,7 @@ void TrackMemory(std::size_t size) { size = nallocx(size, 0); } #endif - memgraph::utils::total_memory_tracker.Alloc(size); + memgraph::utils::total_memory_tracker.Alloc(static_cast<int64_t>(size)); } void TrackMemory(std::size_t size, const std::align_val_t align) { @@ -101,7 +101,7 @@ void TrackMemory(std::size_t size, const std::align_val_t align) { size = nallocx(size, MALLOCX_ALIGN(align)); // NOLINT(hicpp-signed-bitwise) } #endif - memgraph::utils::total_memory_tracker.Alloc(size); + memgraph::utils::total_memory_tracker.Alloc(static_cast<int64_t>(size)); } bool TrackMemoryNoExcept(const std::size_t size) { @@ -132,10 +132,10 @@ void UntrackMemory([[maybe_unused]] void *ptr, [[maybe_unused]] std::size_t size } #else if (size) { - memgraph::utils::total_memory_tracker.Free(size); + memgraph::utils::total_memory_tracker.Free(static_cast<int64_t>(size)); } else { // Innaccurate because malloc_usable_size() result is greater or equal to allocated size. - memgraph::utils::total_memory_tracker.Free(malloc_usable_size(ptr)); + memgraph::utils::total_memory_tracker.Free(static_cast<int64_t>(malloc_usable_size(ptr))); } #endif } catch (...) { @@ -150,10 +150,10 @@ void UntrackMemory(void *ptr, const std::align_val_t align, [[maybe_unused]] std } #else if (size) { - memgraph::utils::total_memory_tracker.Free(size); + memgraph::utils::total_memory_tracker.Free(static_cast<int64_t>(size)); } else { // Innaccurate because malloc_usable_size() result is greater or equal to allocated size. - memgraph::utils::total_memory_tracker.Free(malloc_usable_size(ptr)); + memgraph::utils::total_memory_tracker.Free(static_cast<int64_t>(malloc_usable_size(ptr))); } #endif } catch (...) { diff --git a/src/mg_import_csv.cpp b/src/mg_import_csv.cpp index 05a1c398a..79a6bcdad 100644 --- a/src/mg_import_csv.cpp +++ b/src/mg_import_csv.cpp @@ -370,7 +370,7 @@ double StringToDouble(const std::string &value) { /// @throw LoadException memgraph::storage::PropertyValue StringToValue(const std::string &str, const std::string &type) { - if (FLAGS_ignore_empty_strings && str.empty()) return memgraph::storage::PropertyValue(); + if (FLAGS_ignore_empty_strings && str.empty()) return {}; auto convert = [](const auto &str, const auto &type) { if (type == "integer" || type == "int" || type == "long" || type == "byte" || type == "short") { return memgraph::storage::PropertyValue(StringToInt(str)); @@ -416,8 +416,8 @@ std::string GetIdSpace(const std::string &type) { } /// @throw LoadException -void ProcessNodeRow(memgraph::storage::Storage *store, const std::vector<Field> &fields, - const std::vector<std::string> &row, const std::vector<std::string> &additional_labels, +void ProcessNodeRow(memgraph::storage::Storage *store, const std::vector<std::string> &row, + const std::vector<Field> &fields, const std::vector<std::string> &additional_labels, std::unordered_map<NodeId, memgraph::storage::Gid> *node_id_map) { std::optional<NodeId> id; auto acc = store->Access(); @@ -500,7 +500,7 @@ void ProcessNodes(memgraph::storage::Storage *store, const std::string &nodes_pa if (row.size() > (*header)->size()) { row.resize((*header)->size()); } - ProcessNodeRow(store, **header, row, additional_labels, node_id_map); + ProcessNodeRow(store, row, **header, additional_labels, node_id_map); row_number += lines_count; } } catch (const LoadException &e) { diff --git a/src/query/plan/operator.cpp b/src/query/plan/operator.cpp index 4ce501d0f..a0259a6a1 100644 --- a/src/query/plan/operator.cpp +++ b/src/query/plan/operator.cpp @@ -3721,7 +3721,7 @@ void CallCustomProcedure(const std::string_view &fully_qualified_procedure_name, for (size_t i = 0; i < args.size(); ++i) { auto arg = args[i]->Accept(*evaluator); std::string_view name; - const memgraph::query::procedure::CypherType *type; + const memgraph::query::procedure::CypherType *type{nullptr}; if (proc.args.size() > i) { name = proc.args[i].first; type = proc.args[i].second; diff --git a/src/query/plan/pretty_print.cpp b/src/query/plan/pretty_print.cpp index 6c305bbf2..f0b99847e 100644 --- a/src/query/plan/pretty_print.cpp +++ b/src/query/plan/pretty_print.cpp @@ -223,7 +223,7 @@ bool PlanPrinter::PreVisit(memgraph::query::plan::LoadCsv &op) { return true; } -bool PlanPrinter::Visit(memgraph::query::plan::Once &op) { +bool PlanPrinter::Visit(memgraph::query::plan::Once & /*op*/) { WithPrintLn([](auto &out) { out << "* Once"; }); return true; } diff --git a/src/query/procedure/mg_procedure_impl.cpp b/src/query/procedure/mg_procedure_impl.cpp index 238de1759..3474f7dbd 100644 --- a/src/query/procedure/mg_procedure_impl.cpp +++ b/src/query/procedure/mg_procedure_impl.cpp @@ -301,7 +301,7 @@ memgraph::query::TypedValue ToTypedValue(const mgp_value &val, memgraph::utils:: case MGP_VALUE_TYPE_DOUBLE: return memgraph::query::TypedValue(val.double_v, memory); case MGP_VALUE_TYPE_STRING: - return memgraph::query::TypedValue(val.string_v, memory); + return {val.string_v, memory}; case MGP_VALUE_TYPE_LIST: { const auto *list = val.list_v; memgraph::query::TypedValue::TVector tv_list(memory); diff --git a/src/storage/v2/replication/slk.cpp b/src/storage/v2/replication/slk.cpp index eded10cbe..d8fad2ce9 100644 --- a/src/storage/v2/replication/slk.cpp +++ b/src/storage/v2/replication/slk.cpp @@ -31,7 +31,7 @@ void Load(memgraph::storage::Gid *gid, memgraph::slk::Reader *reader) { void Load(memgraph::storage::PropertyValue::Type *type, memgraph::slk::Reader *reader) { using PVTypeUnderlyingType = std::underlying_type_t<memgraph::storage::PropertyValue::Type>; - PVTypeUnderlyingType value; + PVTypeUnderlyingType value{}; memgraph::slk::Load(&value, reader); bool valid; switch (value) { @@ -105,7 +105,7 @@ void Save(const memgraph::storage::PropertyValue &value, memgraph::slk::Builder } void Load(memgraph::storage::PropertyValue *value, memgraph::slk::Reader *reader) { - memgraph::storage::PropertyValue::Type type; + memgraph::storage::PropertyValue::Type type{}; memgraph::slk::Load(&type, reader); switch (type) { case memgraph::storage::PropertyValue::Type::Null: @@ -158,7 +158,7 @@ void Load(memgraph::storage::PropertyValue *value, memgraph::slk::Reader *reader return; } case memgraph::storage::PropertyValue::Type::TemporalData: { - memgraph::storage::TemporalType temporal_type; + memgraph::storage::TemporalType temporal_type{}; memgraph::slk::Load(&temporal_type, reader); int64_t microseconds{0}; memgraph::slk::Load(µseconds, reader);