This page explains how to manually populate the working tables present in the total and detail procedure. Working tables begin with WK . They are populated by other stored procedures and are truncated at the end of the Snapshot computation. If we run the detail query unchanged, no rows will be raised.
Release | Yes/No |
---|---|
8.3.x | |
8.2.x | |
8.1.x | |
8.0.x | |
7.3.x |
RDBMS | Yes/No |
---|---|
Oracle Server | |
Microsoft SQL Server | |
CSS2 |
Perform the below actions
Get the procedures used to populate the working table
the Procedure used to populate the working table will be present at the beginning of the stored procedure.
Example - DIAG_SCOPE_JEEUB001
This has one working table - WK_DIA_INHPRSTCLS
The procedure used to populate the working table is - DIAG_HIBER_JAVA
-- Function: cb820_asd_sup_local.diag_scope_jeeub001(integer, integer, integer, integer) -- DROP FUNCTION cb820_asd_sup_local.diag_scope_jeeub001(integer, integer, integer, integer); CREATE OR REPLACE FUNCTION cb820_asd_sup_local.diag_scope_jeeub001(i_snapshot_id integer, i_metric_parent_id integer, i_metric_id integer, i_metric_child_id integer) RETURNS integer AS $BODY$ declare ERRORCODE INT := 0; L_PARAM_NUM INT := 0; Begin --<<NAME>>DIAG_SCOPE_JEEUB001<</NAME>> --<<COMMENT>> Template name = DSSGENERIC. <</COMMENT>> --<<COMMENT>> Diagnostic name = persistent class method equals() and hashCode() must access its fields through getter methods. <</COMMENT>> --<<COMMENT>> Definition = . <</COMMENT>> --<<COMMENT>> Action = List all equals or hashcode methods of persistence classes that rely on the attributes.. <</COMMENT>> --<<COMMENT>> Value = 1. <</COMMENT>> ERRORCODE := DIAG_HIBER_JAVA (I_SNAPSHOT_ID, I_METRIC_PARENT_ID, I_METRIC_ID) ; insert into DSS_METRIC_SCOPES (OBJECT_ID, METRIC_PARENT_ID, METRIC_ID, OBJECT_PARENT_ID, SNAPSHOT_ID, METRIC_NUM_VALUE, METRIC_CHAR_VALUE, METRIC_OBJECT_ID, COMPUTE_VALUE) Select distinct P1.OBJECT_ID, I_METRIC_ID, I_METRIC_CHILD_ID, SC.MODULE_ID, I_SNAPSHOT_ID, 0, Null, 0, 0 From WK_DIA_INHPRSTCLS T1 join DSSAPP_MODULES SC on T1.APPLICATION_ID = SC.MODULE_ID join DIAG_OBJECT_PARENTS P1 on T1.TARGET_OBJECT_ID = P1.PARENT_ID join CDT_OBJECTS TN on P1.OBJECT_ID = TN.OBJECT_ID join WK_DIA_INHPRSTCLS T2 on T1.HIBERNATE_ID = T2.HIBERNATE_ID --- T1 and T2 are in the same java class. and T1.SOURCE_OBJECT_ID = T2.SOURCE_OBJECT_ID and T1.TARGET_OBJECT_ID = T2.TARGET_OBJECT_ID and T1.APPLICATION_ID = T2.APPLICATION_ID join DIAG_OBJECT_PARENTS P2 on T2.TARGET_OBJECT_ID = P2.PARENT_ID join DIAG_CTV_LINKS_SIMPLE IL on IL.CALLER_ID = P1.OBJECT_ID and IL.CALLED_ID = P2.OBJECT_ID join CTV_OBJECTS co on co.OBJECT_ID = P2.OBJECT_ID and ( co.OBJECT_PROP & 80 ) != 80 /* Not Like '%STATIC%FINAL%' */ Where Not Exists ( Select 1 From DSS_OBJECT_EXCEPTIONS E Where E.METRIC_ID = I_METRIC_ID And E.OBJECT_ID = P1.OBJECT_ID ) and SC.TECHNO_TYPE = 140029 /* JEE Module */ and P1.OBJECT_TYPE IN (102,988) -- method, gen method and TN.OBJECT_NAME in ('equals', 'hashCode') and P2.OBJECT_TYPE = 103 -- field ; Return ERRORCODE; END; $BODY$ LANGUAGE plpgsql VOLATILE COST 100; ALTER FUNCTION cb820_asd_sup_local.diag_scope_jeeub001(integer, integer, integer, integer) OWNER TO operator;
Get the parameters of the procedures
The procedure used to populate working table cannot be run as it is since it contains parameters. Get the parameters used by executing the below query
select * from dss_history where LOWER(description) like '%Total_or_detail_procedure_name%'
Example
select * from dss_history where LOWER(description) like '%diag_scope_jeeub001%'Result -description;action_date;history_id"Start diag_scope_jeeub001 -3 61019 7468 2";"2017-12-05 05:50:08.785";3116
Query Result Interpretation
Stored procedure parameters - diag_scope_jeeub001(i_snapshot_id integer, i_metric_parent_id integer, i_metric_id integer, i_metric_child_id integer)
Sub procedure parameters - DIAG_HIBER_JAVA (I_SNAPSHOT_ID, I_METRIC_PARENT_ID, I_METRIC_ID) ;
Values returned by the query -
i_snapshot_id -3
i_metric_parent_id - 61019
i_metric_id - 7468
Run the procedures used to populate the working table
Substitute the parameters that are fetched from the above query. And run the procedure on KB
Select Procedure_name (parameters) ;
Example
Select DIAG_HIBER_JAVA (-3, 61019 , 7468 );
Confirm if the working tables are populated
Run the below query on the KB
Select * from <working_table> ;
Check that the query returns rows.