diff options
author | Mykola Korniichuk <mkorniichuk@luxoft.com> | 2019-07-29 18:25:58 +0300 |
---|---|---|
committer | Mykola Korniichuk <mkorniichuk@luxoft.com> | 2019-08-01 11:39:35 +0300 |
commit | b20576b8c9e0b9d269129674f673cc9a10886551 (patch) | |
tree | 943a4f5ba2ffb1ca38dc39367df2d6d6f238b767 | |
parent | fef3b98b91f4520a6cb5d22b96fbad2e8aa6c9bd (diff) | |
download | sdl_core-fix/remove_vd_from_db_if_empty_in_pt.tar.gz |
Fix clean up of DB iv vehicle_data.schema_items are empty in PTfix/remove_vd_from_db_if_empty_in_pt
-rw-r--r-- | src/components/policy/policy_external/src/sql_pt_representation.cc | 35 | ||||
-rw-r--r-- | src/components/policy/policy_regular/src/sql_pt_representation.cc | 35 |
2 files changed, 36 insertions, 34 deletions
diff --git a/src/components/policy/policy_external/src/sql_pt_representation.cc b/src/components/policy/policy_external/src/sql_pt_representation.cc index 8abe37b9ea..177f9aaf7f 100644 --- a/src/components/policy/policy_external/src/sql_pt_representation.cc +++ b/src/components/policy/policy_external/src/sql_pt_representation.cc @@ -1232,26 +1232,27 @@ bool SQLPTRepresentation::SaveVehicleDataItems( bool SQLPTRepresentation::SaveVehicleData( const policy_table::VehicleData& vehicle_data) { LOG4CXX_AUTO_TRACE(logger_); - if (!vehicle_data.is_initialized() || - !vehicle_data.schema_items.is_initialized() || - !vehicle_data.schema_version.is_initialized()) { - LOG4CXX_DEBUG(logger_, "Vehicle data is absent in policy table."); - return true; + if (vehicle_data.is_initialized() && + vehicle_data.schema_version.is_initialized()) { + utils::dbms::SQLQuery query(db()); + if (!query.Prepare(sql_pt::kInsertVehicleDataSchemaVersion)) { + LOG4CXX_WARN(logger_, + "Incorrect insert of schema_version to vehicle_data."); + return false; + } + query.Bind(0, *vehicle_data.schema_version); + if (!query.Exec() || !query.Reset()) { + LOG4CXX_WARN(logger_, "Failed to insert schema_version to vehicle_data."); + return false; + } } - utils::dbms::SQLQuery query(db()); - if (!query.Prepare(sql_pt::kInsertVehicleDataSchemaVersion)) { - LOG4CXX_WARN(logger_, - "Incorrect insert of schema_version to vehicle_data."); - return false; - } - query.Bind(0, *vehicle_data.schema_version); - if (!query.Exec() || !query.Reset()) { - LOG4CXX_WARN(logger_, "Failed to insert schema_version to vehicle_data."); - return false; - } + auto vehicle_data_items = vehicle_data.is_initialized() && + vehicle_data.schema_items.is_initialized() + ? *(vehicle_data.schema_items) + : policy_table::VehicleDataItems(); - return SaveVehicleDataItems(*vehicle_data.schema_items); + return SaveVehicleDataItems(vehicle_data_items); } bool SQLPTRepresentation::SaveAppGroup( diff --git a/src/components/policy/policy_regular/src/sql_pt_representation.cc b/src/components/policy/policy_regular/src/sql_pt_representation.cc index b596cb51a6..01a5528613 100644 --- a/src/components/policy/policy_regular/src/sql_pt_representation.cc +++ b/src/components/policy/policy_regular/src/sql_pt_representation.cc @@ -1724,26 +1724,27 @@ bool SQLPTRepresentation::SaveUsageAndErrorCounts( bool SQLPTRepresentation::SaveVehicleData( const policy_table::VehicleData& vehicle_data) { LOG4CXX_AUTO_TRACE(logger_); - if (!vehicle_data.is_initialized() || - !vehicle_data.schema_items.is_initialized() || - !vehicle_data.schema_version.is_initialized()) { - LOG4CXX_DEBUG(logger_, "Vehicle data is absent in policy table."); - return true; + if (vehicle_data.is_initialized() && + vehicle_data.schema_version.is_initialized()) { + utils::dbms::SQLQuery query(db()); + if (!query.Prepare(sql_pt::kInsertVehicleDataSchemaVersion)) { + LOG4CXX_WARN(logger_, + "Incorrect insert of schema_version to vehicle_data."); + return false; + } + query.Bind(0, (*vehicle_data.schema_version)); + if (!query.Exec() || !query.Reset()) { + LOG4CXX_WARN(logger_, "Failed to insert schema_version to vehicle_data."); + return false; + } } - utils::dbms::SQLQuery query(db()); - if (!query.Prepare(sql_pt::kInsertVehicleDataSchemaVersion)) { - LOG4CXX_WARN(logger_, - "Incorrect insert of schema_version to vehicle_data."); - return false; - } - query.Bind(0, (*vehicle_data.schema_version)); - if (!query.Exec() || !query.Reset()) { - LOG4CXX_WARN(logger_, "Failed to insert schema_version to vehicle_data."); - return false; - } + auto vehicle_data_items = vehicle_data.is_initialized() && + vehicle_data.schema_items.is_initialized() + ? *(vehicle_data.schema_items) + : policy_table::VehicleDataItems(); - return SaveVehicleDataItems(*vehicle_data.schema_items); + return SaveVehicleDataItems(vehicle_data_items); } bool SQLPTRepresentation::SaveVehicleDataItems( |