r4076 bugfix: the 'Refcnt' counter on Configuration: Dictionary page was sometimes...
authorAlexey Andriyanov <alan@al-an.info>
Tue, 4 Jan 2011 23:45:28 +0000 (23:45 +0000)
committerAlexey Andriyanov <alan@al-an.info>
Tue, 4 Jan 2011 23:45:28 +0000 (23:45 +0000)
Only the buggy SQL query was changed, now joining RackObject to check object_type

ChangeLog
inc/database.php

index 6095f8a..74a5a70 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -19,6 +19,7 @@
        new feature: UI: live switchport info (port config, link status, learned mac list) showed inline on any object tab
        update: selective including of JS and CSS files. No more unneeded js code loaded.
        update: 802.1Q template editor now supports single-submit edit and concerns concurrent submits
+       bugfix: the 'Refcnt' counter on Configuration: Dictionary page was sometimes broken (closes mantis:0000381)
 0.18.7
        bugfix: adjust 802.1Q command generation
        bugfix: fixed telnet session hanging in NX-OS4 connector
index 457e8ba..a211920 100644 (file)
@@ -2242,11 +2242,12 @@ function getChapterRefc ($chapter_id, $keylist)
        default:
                // Find the list of all assigned values of dictionary-addressed attributes, each with
                // chapter/word keyed reference counters.
-               $query = "select uint_value, count(object_id) as refcnt " .
-                       "from Attribute as a inner join AttributeMap as am on a.id = am.attr_id " .
-                       "inner join AttributeValue as av on a.id = av.attr_id " .
-                       "inner join Dictionary as d on am.chapter_id = d.chapter_id and av.uint_value = d.dict_key " .
-                       "where a.type = 'dict' and am.chapter_id = ? group by uint_value";
+               $query = "select uint_value, count(object_id) as refcnt 
+                       from AttributeMap am 
+                       inner join AttributeValue av on am.attr_id = av.attr_id
+                       inner join RackObject ro on ro.id = av.object_id
+                       where am.chapter_id = ? and ro.objtype_id = am.objtype_id
+                       group by uint_value";
                break;
        }
        $result = usePreparedSelectBlade ($query, array ($chapter_id));