SQL Queries - Common SQL Queries - Queries on Metrics - How to get a list of all Quality rules in KB or CB

Purpose of Query

This page provides a query which can be executed on a local or central base that will provide a list of all quality rules and some of their properties.

Applicable CAST Version
Release
Yes/No
8.3.x(tick)
8.2.x(tick)
Applicable RDBMS
RDBMS
Yes/No
Oracle Server(question)
Microsoft SQL Server(question)
CSS(tick)
Query for CSS
SELECT          COALESCE(tech.TECHNO_TYPE_NAME, 'AllTechno' ) AS technology_name ,
                COALESCE(PT.OBJECT_TYPE_ID,0)                 AS technology_id   ,
                T.METRIC_ID                                                      ,
                T.METRIC_NAME                                                    ,
                COALESCE( p.IdProp , 0 ) AS Property_ID                          ,
                COALESCE(p.Dsc , ' ')    AS Property_Name                        ,
                COALESCE(T.SCOPE_ID, 0 )                                         ,
                COALESCE(S.SetName,'NONE')                                       ,
                TT.METRIC_SCOPE_PROCEDURE_NAME AS detailed_proc_name             ,
                VT.METRIC_VALUE_PROCEDURE_NAME AS total_proc_name
FROM            DSS_METRIC_TYPE_TREES TT ,
                DSS_METRIC_VALUE_TYPES VT,
                DSS_METRIC_TYPES T
                LEFT OUTER JOIN DSS_METRIC_PARAM_TYPES PT
                ON              PT.METRIC_ID   = T.METRIC_ID
                AND             PT.PARAM_INDEX = 1
                LEFT OUTER JOIN DSS_TECHNO_DISPLAY_VW tech
                ON              tech.TECHNO_TYPE_ID = PT.OBJECT_TYPE_ID
                LEFT OUTER JOIN
                                ( SELECT DISTINCT d.Dsc ,
                                                 p1.IdProp
                                FROM             PropAttr p1 ,
                                                 PropAttr p2 ,
                                                 ObjDscRef d
                                WHERE            p1.IdProp  = p2.IdProp
                                AND              p1.AttrNam = 'INF_TYPE'
                                AND              p1.IntVal  = d.InfTyp
                                AND              p2.AttrNam = 'INF_SUB_TYPE'
                                AND              p2.IntVal  = d.InfSubTyp
                                )
                                p
                ON              p.IdProp = T.PROPERTY_ID
                LEFT OUTER JOIN
                                ( SELECT SetId ,
                                        SetName
                                FROM    SET_Definitions
                                )
                                S
                ON              S.SetId = T.SCOPE_ID
WHERE           T.METRIC_GROUP          = 1
AND             T.METRIC_TYPE          != 0 -- Not Deleted
AND             TT.METRIC_ID            = T.METRIC_ID + 1
AND             VT.METRIC_ID            = T.METRIC_ID
AND             VT.METRIC_VALUE_INDEX   = 2
AND             EXISTS
                ( SELECT 1
                FROM    DSS_METRIC_TYPE_TREES x
                WHERE   x.METRIC_ID = T.METRIC_ID
                )
Query result example

"C++";-3;552;"Method naming convention - case control";0;" ";0;"NONE";"DIAG_SCOPE_CPPNAM002";"DIAG_CPP_ANA_METHODS_TOTAL"
"C++";-3;554;"Constant naming convention - case control";0;" ";0;"NONE";"DIAG_SCOPE_CPPNAM003";"DIAG_CPP_ANA_GLOBALS_TOTAL"

Query result interpretation
 The results provide technology information, the metric id, the metric name, metric properties, and the associated metric detailed and total procedures.
Query for Oracle
Enter the SQL query
Query result example

Query result interpretation

Query for SQL server
Enter the SQL query
Query result example

Query result interpretation

Notes/comments



Related Pages