20472: Add a few comments and add container_tree function
[arvados.git] / services / api / lib / update_priorities.rb
index bd5b71b90cd72447d932238679c3dab5392049ca..b7799cb4bd056632a38aa9ded363e1e3b0cc4c98 100644 (file)
@@ -5,12 +5,12 @@
 def update_priorities starting_container_uuid
   ActiveRecord::Base.connection.exec_query %{
 update containers set priority=computed.upd_priority from (select pri_container_uuid, upd_priority from update_priorities($1) order by pri_container_uuid) as computed
- where containers.uuid = computed.pri_container_uuid
+ where containers.uuid = computed.pri_container_uuid and priority != computed.upd_priority
 }, 'update_priorities', [[nil, starting_container_uuid]]
 end
 
 def row_lock_for_priority_update container_uuid
   ActiveRecord::Base.connection.exec_query %{
-        select 1 from containers where containers.uuid in (select pri_container_uuid from update_priorities($1)) order by containers.uuid for update
+        select 1 from containers where containers.uuid in (select pri_container_uuid from container_tree($1)) order by containers.uuid for update
   }, 'select_for_update_priorities', [[nil, container_uuid]]
 end