The following lines contain the word 'select', 'insert', 'update' or 'delete':
This procedure inserts a row into the pa_perf_object_rules table.
==================================================================*/
PROCEDURE create_rule_object(
P_OBJECT_RULE_ID IN NUMBER,
P_OBJECT_TYPE IN VARCHAR2,
P_OBJECT_ID IN NUMBER,
P_RULE_ID IN NUMBER,
P_RECORD_VERSION_NUMBER IN NUMBER,
P_CREATION_DATE IN DATE,
P_CREATED_BY IN NUMBER,
P_LAST_UPDATE_DATE IN DATE,
P_LAST_UPDATED_BY IN NUMBER,
P_LAST_UPDATE_LOGIN IN NUMBER,
X_RETURN_STATUS OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
X_MSG_COUNT OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
X_MSG_DATA OUT NOCOPY VARCHAR2 ) --File.Sql.39 bug 4440895
IS
l_msg_count NUMBER := 0;
SELECT object_rule_id
INTO dummy
FROM pa_perf_object_rules
WHERE object_id = P_OBJECT_ID
AND rule_id = P_RULE_ID;
SELECT 1
INTO dummy
FROM PA_PERF_RULES_V perfrule
WHERE perfrule.rule_id = P_RULE_ID
AND (perfrule.measure_name,perfrule.period_type) in (
SELECT objrule.measure_name,objrule.period_type
FROM PA_PERF_OBJECT_RULES_V objrule
WHERE objrule.object_id = P_OBJECT_ID ) ;
SELECT 1
INTO dummy
FROM PA_PERF_RULES_v perfrule
WHERE perfrule.rule_id = P_RULE_ID
AND perfrule.measure_name in (
SELECT objrule.measure_name
FROM PA_PERF_OBJECT_RULES_V objrule
WHERE objrule.object_id = P_OBJECT_ID ) ;
PA_PERF_OBJECT_RULES_PKG.insert_row(
X_ROWID => l_rowid,
X_OBJECT_RULE_ID => P_OBJECT_RULE_ID,
X_OBJECT_TYPE => P_OBJECT_TYPE,
X_OBJECT_ID => P_OBJECT_ID,
X_RULE_ID => P_RULE_ID,
X_RECORD_VERSION_NUMBER => P_RECORD_VERSION_NUMBER,
X_CREATION_DATE => P_CREATION_DATE,
X_CREATED_BY => P_CREATED_BY,
X_LAST_UPDATE_DATE => P_LAST_UPDATE_DATE,
X_LAST_UPDATED_BY => P_LAST_UPDATED_BY,
X_LAST_UPDATE_LOGIN => P_LAST_UPDATE_LOGIN
);
update_rule_object
PURPOSE
This procedure updates a row in the pa_perf_object_rules table.
==================================================================*/
PROCEDURE update_rule_object(
P_OBJECT_RULE_ID IN NUMBER,
P_OBJECT_TYPE IN VARCHAR2,
P_OBJECT_ID IN NUMBER,
P_RULE_ID IN NUMBER,
P_RECORD_VERSION_NUMBER IN NUMBER,
P_CREATION_DATE IN DATE,
P_CREATED_BY IN NUMBER,
P_LAST_UPDATE_DATE IN DATE,
P_LAST_UPDATED_BY IN NUMBER,
P_LAST_UPDATE_LOGIN IN NUMBER,
X_RETURN_STATUS OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
X_MSG_COUNT OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
X_MSG_DATA OUT NOCOPY VARCHAR2 ) --File.Sql.39 bug 4440895
IS
Invalid_Ret_Status EXCEPTION;
PA_DEBUG.init_err_stack('PA_PERF_OBJECT_RULES_PVT.update_rule_object');
pa_debug.set_curr_function( p_function => 'PA_PERF_OBJECT_RULES_PVT.update_rule_object',
p_debug_mode => l_debug_mode );
pa_debug.g_err_stage:= 'Entered PA_PERF_OBJECT_RULES_PVT.update_rule_object';
pa_debug.g_err_stage:= 'about to call PA_PERF_RULES_PKG.update_rule_object';
PA_PERF_OBJECT_RULES_PKG.UPDATE_ROW(
X_OBJECT_RULE_ID => P_OBJECT_RULE_ID,
X_OBJECT_TYPE => P_OBJECT_TYPE,
X_OBJECT_ID => P_OBJECT_ID,
X_RULE_ID => P_RULE_ID,
X_RECORD_VERSION_NUMBER => P_RECORD_VERSION_NUMBER,
X_LAST_UPDATE_DATE => P_LAST_UPDATE_DATE,
X_LAST_UPDATED_BY => P_LAST_UPDATED_BY,
X_LAST_UPDATE_LOGIN => P_LAST_UPDATE_LOGIN );
pa_debug.g_err_stage:= 'Exiting PA_PERF_OBJECT_RULES_PVT.update_rule_object';
END update_rule_object;
delete_rule_object
PURPOSE
This procedure deletes a row from the pa_perf_object_rules table.
==================================================================*/
PROCEDURE delete_rule_object (
P_OBJECT_RULE_ID IN NUMBER,
P_RECORD_VERSION_NUMBER IN NUMBER,
X_RETURN_STATUS OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
X_MSG_COUNT OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
X_MSG_DATA OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
X_RULE_NAME OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
)
IS
Invalid_Ret_Status EXCEPTION;
PA_DEBUG.init_err_stack('PA_PERF_OBJECT_RULES_PVT.Delete_Rule_object');
pa_debug.set_curr_function( p_function => 'PA_PERF_OBJECT_RULES_PVT.Delete_Rule_object',
p_debug_mode => l_debug_mode );
pa_debug.g_err_stage:= 'Entered PA_PERF_OBJECT_RULES_PVT.Delete_Rule_object';
SELECT RULE_NAME
INTO X_RULE_NAME
FROM PA_PERF_RULES
WHERE RULE_ID=(SELECT RULE_ID
FROM PA_PERF_OBJECT_RULES
WHERE OBJECT_RULE_ID=P_OBJECT_RULE_ID);
pa_debug.g_err_stage:= 'about to call PA_PERF_THRESHOLDS_PKG.delete_row';
PA_PERF_OBJECT_RULES_PKG.DELETE_ROW
(X_OBJECT_RULE_ID => P_OBJECT_RULE_ID);
pa_debug.g_err_stage:= 'Exiting PA_PERF_OBJECT_RULES_PVT.Delete_Rule_object';
END Delete_Rule_object;
SELECT objrule.measure_name,objrule.period_type,count(*),
objrule.measure_id --Added for the bug# 3639474
FROM PA_PERF_OBJECT_RULES_V objrule
WHERE objrule.object_id = P_OBJECT_ID
AND objrule.rule_type='PERF_RULE'
GROUP BY objrule.measure_name,objrule.period_type, objrule.measure_id
HAVING count(*) >1;
SELECT objrule.RULE_NAME
FROM PA_PERF_OBJECT_RULES_V objrule
WHERE objrule.object_id = P_OBJECT_ID
--AND objrule.measure_name = l_measure_name --commented for the bug# 3639474
AND objrule.measure_id = l_measure_id --Added for the bug# 3639474
AND objrule.period_type =l_period_type;
SELECT objrule.measure_name,count(*),
objrule.measure_id ----Added for the bug# 3639474
FROM PA_PERF_OBJECT_RULES_V objrule
WHERE objrule.object_id = P_OBJECT_ID
AND objrule.rule_type='PERF_RULE'
AND EXISTS (select 1 from PA_PERF_OBJECT_RULES rule
where rule.record_version_number = 1 -- Changed hardcoded value from 2 to 1
and rule.rule_id in (select rule_id from PA_PERF_OBJECT_RULES_V objrule1
where objrule1.rule_id = rule.rule_id
and objrule1.measure_name=objrule.measure_name)
and rule.object_id=P_OBJECT_ID)
GROUP BY objrule.measure_name, objrule.measure_id
HAVING count(*) >1;
SELECT objrule.RULE_NAME
FROM PA_PERF_OBJECT_RULES_V objrule
WHERE objrule.object_id = P_OBJECT_ID
--AND objrule.measure_name = l_measure_name; --commented for the bug# 3639474
/* New rows are created with record_version_number=2 .Update them back to 1 */
UPDATE PA_PERF_OBJECT_RULES
SET RECORD_VERSION_NUMBER = 1
WHERE RECORD_VERSION_NUMBER =2;