summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMykola Korniichuk <mkorniichuk@luxoft.com>2019-07-29 18:25:58 +0300
committerMykola Korniichuk <mkorniichuk@luxoft.com>2019-08-01 11:39:35 +0300
commitb20576b8c9e0b9d269129674f673cc9a10886551 (patch)
tree943a4f5ba2ffb1ca38dc39367df2d6d6f238b767
parentfef3b98b91f4520a6cb5d22b96fbad2e8aa6c9bd (diff)
downloadsdl_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.cc35
-rw-r--r--src/components/policy/policy_regular/src/sql_pt_representation.cc35
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(