From 41b7ac7b613a5299b75f49a04d6af9eb09d84fce Mon Sep 17 00:00:00 2001 From: gifrerenom <lluis.gifre@cttc.es> Date: Tue, 28 Mar 2023 15:24:58 +0000 Subject: [PATCH] Context component: - Improved device_set method reducing unneeded inserts --- src/context/service/database/Device.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/context/service/database/Device.py b/src/context/service/database/Device.py index c51a88368..3e106bc15 100644 --- a/src/context/service/database/Device.py +++ b/src/context/service/database/Device.py @@ -171,7 +171,9 @@ def device_set(db_engine : Engine, request : Device) -> Tuple[Dict, bool]: endpoint_updates = session.execute(stmt).fetchall() updated_endpoints = any([(updated_at > created_at) for created_at,updated_at in endpoint_updates]) - if len(related_topologies) > 0: + if not updated or len(related_topologies) > 1: + # Only update topology-device relations when device is created (not updated) or when endpoints are + # modified (len(related_topologies) > 1). session.execute(insert(TopologyDeviceModel).values(related_topologies).on_conflict_do_nothing( index_elements=[TopologyDeviceModel.topology_uuid, TopologyDeviceModel.device_uuid] )) -- GitLab