Show
Ignore:
Timestamp:
05/22/08 21:08:22 (6 years ago)
Author:
Denish Patel <denish@omniti.com>
git-committer:
Denish Patel <denish@omniti.com> 1211490502 +0000
git-parent:

[e7e6b89902c5db31aaaab043f4ae2a67a3211a36]

git-author:
Denish Patel <denish@omniti.com> 1211490502 +0000
Message:

Added Remove_mtric function;

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • sql/schema.sql

    r3b875de r809b898  
    10541054$$ language 'plpgsql'; 
    10551055 
     1056 
     1057-- Remove Metric based on UUID and Metric_Name 
     1058 
     1059CREATE OR REPLACE FUNCTION stratcon.remove_metric   (in_uuid uuid, 
     1060                                                     in_metric_name text, 
     1061                                                     v_debug text, 
     1062                                                     OUT v_out text) 
     1063RETURNS text 
     1064AS $$ 
     1065DECLARE 
     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 
     1079BEGIN 
     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; 
     1095IF v_debug = 'DEBUG' THEN 
     1096        RAISE NOTICE 'Delete In Progress For: %,%,%',v_del_sid,v_del_metric_name,v_del_metric_type; 
     1097END IF; 
     1098 
     1099-- Check of Text or Numeric Type 
     1100IF 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; 
     1146END 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; 
     1154RETURN; 
     1155   EXCEPTION 
     1156            WHEN RAISE_EXCEPTION THEN 
     1157                    RAISE EXCEPTION '%', SQLERRM; 
     1158            WHEN OTHERS THEN 
     1159                    RAISE NOTICE '%', SQLERRM; 
     1160END 
     1161$$ LANGUAGE plpgsql; 
     1162 
    10561163COMMIT;