| | 1056 | |
|---|
| | 1057 | -- Remove Metric based on UUID and Metric_Name |
|---|
| | 1058 | |
|---|
| | 1059 | CREATE OR REPLACE FUNCTION stratcon.remove_metric (in_uuid uuid, |
|---|
| | 1060 | in_metric_name text, |
|---|
| | 1061 | v_debug text, |
|---|
| | 1062 | OUT v_out text) |
|---|
| | 1063 | RETURNS text |
|---|
| | 1064 | AS $$ |
|---|
| | 1065 | DECLARE |
|---|
| | 1066 | v_del_sid INT; |
|---|
| | 1067 | v_del_metric_name TEXT; |
|---|
| | 1068 | v_del_metric_type TEXT; |
|---|
| | 1069 | deleted_t INT; |
|---|
| | 1070 | deleted_tc INT; |
|---|
| | 1071 | deleted_n INT; |
|---|
| | 1072 | deleted_5 INT; |
|---|
| | 1073 | deleted_20 INT; |
|---|
| | 1074 | deleted_60 INT; |
|---|
| | 1075 | deleted_6h INT; |
|---|
| | 1076 | deleted_12h INT; |
|---|
| | 1077 | deleted_sum INT; |
|---|
| | 1078 | |
|---|
| | 1079 | BEGIN |
|---|
| | 1080 | SELECT s.sid,m.metric_name,m.metric_type |
|---|
| | 1081 | FROM |
|---|
| | 1082 | stratcon.map_uuid_to_sid s, |
|---|
| | 1083 | stratcon.metric_name_summary m |
|---|
| | 1084 | WHERE s.id=in_uuid |
|---|
| | 1085 | and s.sid=m.sid |
|---|
| | 1086 | and m.metric_name=in_metric_name |
|---|
| | 1087 | INTO v_del_sid,v_del_metric_name,v_del_metric_type; |
|---|
| | 1088 | IF NOT FOUND THEN |
|---|
| | 1089 | IF v_debug = 'DEBUG' THEN |
|---|
| | 1090 | RAISE NOTICE 'Given UUID can not map to SID,Metric Name: %,%',in_uuid,in_metric_name; |
|---|
| | 1091 | END IF; |
|---|
| | 1092 | v_out:='Please Supply Valid UUID,Metric Name Combination :'||in_uuid||','||in_metric_name; |
|---|
| | 1093 | RETURN; |
|---|
| | 1094 | END IF; |
|---|
| | 1095 | IF v_debug = 'DEBUG' THEN |
|---|
| | 1096 | RAISE NOTICE 'Delete In Progress For: %,%,%',v_del_sid,v_del_metric_name,v_del_metric_type; |
|---|
| | 1097 | END IF; |
|---|
| | 1098 | |
|---|
| | 1099 | -- Check of Text or Numeric Type |
|---|
| | 1100 | IF v_del_metric_type ='text' THEN |
|---|
| | 1101 | -- Delete from Metrix Tex table |
|---|
| | 1102 | DELETE FROM stratcon.loading_dock_metric_text_s WHERE sid=v_del_sid AND name=v_del_metric_name; |
|---|
| | 1103 | GET DIAGNOSTICS deleted_t = ROW_COUNT; |
|---|
| | 1104 | IF v_debug = 'DEBUG' THEN |
|---|
| | 1105 | RAISE NOTICE 'DELELTED ROWS FROM loading_dock_metric_text_s : %',deleted; |
|---|
| | 1106 | END IF; |
|---|
| | 1107 | -- Delete from Metrix Change Log table |
|---|
| | 1108 | DELETE FROM stratcon.loading_dock_metric_text_s_change_log WHERE sid=v_del_sid AND name=v_del_metric_name; |
|---|
| | 1109 | GET DIAGNOSTICS deleted_tc = ROW_COUNT; |
|---|
| | 1110 | IF v_debug = 'DEBUG' THEN |
|---|
| | 1111 | RAISE NOTICE 'DELELTED ROWS FROM loading_dock_metric_text_s_change_log : %',deleted; |
|---|
| | 1112 | END IF; |
|---|
| | 1113 | ELSE |
|---|
| | 1114 | -- Delete from Metrix Numeric table |
|---|
| | 1115 | DELETE FROM stratcon.loading_dock_metric_numeric_s WHERE sid=v_del_sid AND name=v_del_metric_name; |
|---|
| | 1116 | GET DIAGNOSTICS deleted_n = ROW_COUNT; |
|---|
| | 1117 | IF v_debug = 'DEBUG' THEN |
|---|
| | 1118 | RAISE NOTICE 'DELELTED ROWS FROM loading_dock_metric_numeric_s : %',deleted; |
|---|
| | 1119 | END IF; |
|---|
| | 1120 | -- Delete from Rollup tables |
|---|
| | 1121 | DELETE FROM stratcon.rollup_matrix_numeric_5m WHERE sid=v_del_sid AND name=v_del_metric_name; |
|---|
| | 1122 | GET DIAGNOSTICS deleted_5 = ROW_COUNT; |
|---|
| | 1123 | IF v_debug = 'DEBUG' THEN |
|---|
| | 1124 | RAISE NOTICE 'DELELTED ROWS FROM rollup_matrix_numeric_5m : %',deleted; |
|---|
| | 1125 | END IF; |
|---|
| | 1126 | DELETE FROM stratcon.rollup_matrix_numeric_20m WHERE sid=v_del_sid AND name=v_del_metric_name; |
|---|
| | 1127 | GET DIAGNOSTICS deleted_20= ROW_COUNT; |
|---|
| | 1128 | IF v_debug = 'DEBUG' THEN |
|---|
| | 1129 | RAISE NOTICE 'DELELTED ROWS FROM rollup_matrix_numeric_20m : %',deleted; |
|---|
| | 1130 | END IF; |
|---|
| | 1131 | DELETE FROM stratcon.rollup_matrix_numeric_60m WHERE sid=v_del_sid AND name=v_del_metric_name; |
|---|
| | 1132 | GET DIAGNOSTICS deleted_60 = ROW_COUNT; |
|---|
| | 1133 | IF v_debug = 'DEBUG' THEN |
|---|
| | 1134 | RAISE NOTICE 'DELELTED ROWS FROM rollup_matrix_numeric_60m : %',deleted; |
|---|
| | 1135 | END IF; |
|---|
| | 1136 | DELETE FROM stratcon.rollup_matrix_numeric_6hours WHERE sid=v_del_sid AND name=v_del_metric_name; |
|---|
| | 1137 | GET DIAGNOSTICS deleted_6h = ROW_COUNT; |
|---|
| | 1138 | IF v_debug = 'DEBUG' THEN |
|---|
| | 1139 | RAISE NOTICE 'DELELTED ROWS FROM rollup_matrix_numeric_6hours : %',deleted; |
|---|
| | 1140 | END IF; |
|---|
| | 1141 | DELETE FROM stratcon.rollup_matrix_numeric_12hours WHERE sid=v_del_sid AND name=v_del_metric_name; |
|---|
| | 1142 | GET DIAGNOSTICS deleted_12h = ROW_COUNT; |
|---|
| | 1143 | IF v_debug = 'DEBUG' THEN |
|---|
| | 1144 | RAISE NOTICE 'DELELTED ROWS FROM rollup_matrix_numeric_12hours : %',deleted; |
|---|
| | 1145 | END IF; |
|---|
| | 1146 | END IF; |
|---|
| | 1147 | -- Delete from metrix summary table |
|---|
| | 1148 | DELETE FROM stratcon.metrix_name_summary WHERE sid=v_del_sid AND metric_name=v_del_metric_name; |
|---|
| | 1149 | GET DIAGNOSTICS deleted_sum= ROW_COUNT; |
|---|
| | 1150 | IF v_debug = 'DEBUG' THEN |
|---|
| | 1151 | RAISE NOTICE 'DELELTED ROWS FROM metric_name_summary : %',deleted; |
|---|
| | 1152 | END IF; |
|---|
| | 1153 | v_out:='Deleted Rows for Metric_Text, Metrix_Text_change_log,Metric_Numeric,Rollup_5m,Rollup_20m,Rollup_1hour,Rollup_6hours,Rollup_12hours,Metric_Summary:'||deleted_t||','||deleted_tc||','||deleted_n||','||deleted_5||','||deleted_20||','||deleted_60||','||deleted_6h||','||deleted_12h||','||deleted_sum; |
|---|
| | 1154 | RETURN; |
|---|
| | 1155 | EXCEPTION |
|---|
| | 1156 | WHEN RAISE_EXCEPTION THEN |
|---|
| | 1157 | RAISE EXCEPTION '%', SQLERRM; |
|---|
| | 1158 | WHEN OTHERS THEN |
|---|
| | 1159 | RAISE NOTICE '%', SQLERRM; |
|---|
| | 1160 | END |
|---|
| | 1161 | $$ LANGUAGE plpgsql; |
|---|
| | 1162 | |
|---|