fixup an SQL query in the integrity report
authorDenis Ovsienko <denis@ovsienko.info>
Thu, 1 Nov 2018 18:20:25 +0000 (18:20 +0000)
committerDenis Ovsienko <denis@ovsienko.info>
Thu, 1 Nov 2018 18:24:06 +0000 (18:24 +0000)
Have renderDataIntegrityReport() test both parent_objtype_id and
child_objtype_id in ObjectParentCompat when looking for any rows in
EntityLink that do not meet the constraint. This lets the report find
some rows that it did not before.

[skip ci]

ChangeLog
wwwroot/inc/interface-reports.php

index d733a0d..557df89 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,6 +8,7 @@
        new feature: "shared router" allocation (GH#210 by Vladimir Ivanov)
        new feature: optional tag descriptions
        new feature: support for HP N.11.78 and IOS 15 (GH #225 by Vasilii Shashkov)
+       bugfix: fixup an SQL query in the integrity report
 0.21.1 2017-10-22
        update: improve Percona server support (Mantis#1793)
        bugfix: fix an upgrade bug introduced in 0.21.0 (found by Chris James)
index 9a4bad8..b43b9f0 100644 (file)
@@ -527,7 +527,7 @@ function renderDataIntegrityReport ()
                'FROM Object CO ' .
                'LEFT JOIN EntityLink EL ON CO.id = EL.child_entity_id ' .
                'LEFT JOIN Object PO ON EL.parent_entity_id = PO.id ' .
-               'LEFT JOIN ObjectParentCompat OPC ON PO.objtype_id = OPC.parent_objtype_id ' .
+               'LEFT JOIN ObjectParentCompat OPC ON PO.objtype_id = OPC.parent_objtype_id AND CO.objtype_id = OPC.child_objtype_id ' .
                'LEFT JOIN Dictionary PD ON PO.objtype_id = PD.dict_key ' .
                'LEFT JOIN Dictionary CD ON CO.objtype_id = CD.dict_key ' .
                "WHERE EL.parent_entity_type = 'object' AND EL.child_entity_type = 'object' " .