From 31705a3b4c557e3c0106428e75988723987fb3a4 Mon Sep 17 00:00:00 2001 From: Victor Yegorov Date: Wed, 12 Dec 2018 22:55:24 +0200 Subject: [PATCH] Correct duplicate leader detection Reverse leader level check for non-cycled case. --- sql/locktree.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/locktree.sql b/sql/locktree.sql index 055f27e..ab881c2 100644 --- a/sql/locktree.sql +++ b/sql/locktree.sql @@ -15,7 +15,7 @@ WITH RECURSIVE l AS ( ), tree AS ( SELECT locker pid,locker dad,locker root,CASE WHEN cycle THEN track END dl, NULL::record obj,0 lvl,locker::text path,array_agg(locker) OVER () all_pids FROM leads o WHERE (cycle AND NOT EXISTS (SELECT FROM leads i WHERE i.locker=ANY(o.track) AND (i.lvl>o.lvl OR i.qo.lvl)) + OR (NOT cycle AND NOT EXISTS (SELECT FROM pairs WHERE waiter=o.locker) AND NOT EXISTS (SELECT FROM leads i WHERE i.locker=o.locker AND i.lvl