@@ -20,62 +20,6 @@ CREATE TABLE public.aqo_data (
2020);
2121CREATE UNIQUE INDEX aqo_fss_access_idx ON public .aqo_data (fspace_hash, fsspace_hash);
2222
23-
24- --
25- -- Remove rows from the AQO ML knowledge base, related to previously dropped
26- -- tables of the database.
27- --
28- CREATE OR REPLACE FUNCTION public .clean_aqo_data() RETURNS voidAS $$
29- DECLARE
30- aqo_data_row aqo_data%ROWTYPE;
31- aqo_queries_row aqo_queries%ROWTYPE;
32- aqo_query_texts_row aqo_query_texts%ROWTYPE;
33- aqo_query_stat_row aqo_query_stat%ROWTYPE;
34- oid_varoid ;
35- fspace_hash_varbigint ;
36- delete_rowboolean DEFAULT false;
37- BEGIN
38- FOR aqo_data_rowIN (SELECT * FROM aqo_data)
39- LOOP
40- delete_row= false;
41- SELECT aqo_data_row .fspace_hash INTO fspace_hash_varFROM aqo_data;
42-
43- IF (aqo_data_row .oids IS NOT NULL ) THEN
44- FOREACH oid_varIN ARRAYaqo_data_row .oids
45- LOOP
46- IF NOT EXISTS (SELECT relnameFROM pg_classWHERE oid = oid_var) THEN
47- delete_row= true;
48- END IF;
49- END LOOP;
50- END IF;
51-
52- FOR aqo_queries_rowIN (SELECT * FROM public .aqo_queries )
53- LOOP
54- IF (delete_row= trueAND fspace_hash_var<> 0 AND
55- fspace_hash_var= aqo_queries_row .fspace_hash AND
56- aqo_queries_row .fspace_hash = aqo_queries_row .query_hash ) THEN
57- DELETE FROM aqo_dataWHERE aqo_data= aqo_data_row;
58- DELETE FROM aqo_queriesWHERE aqo_queries= aqo_queries_row;
59-
60- FOR aqo_query_texts_rowIN (SELECT * FROM aqo_query_texts)
61- LOOP
62- DELETE FROM aqo_query_texts
63- WHERE aqo_query_texts_row .query_hash = fspace_hash_varAND
64- aqo_query_texts= aqo_query_texts_row;
65- END LOOP;
66-
67- FOR aqo_query_stat_rowIN (SELECT * FROM aqo_query_stat)
68- LOOP
69- DELETE FROM aqo_query_stat
70- WHERE aqo_query_stat_row .query_hash = fspace_hash_varAND
71- aqo_query_stat= aqo_query_stat_row;
72- END LOOP;
73- END IF;
74- END LOOP;
75- END LOOP;
76- END;
77- $$ LANGUAGE plpgsql;
78-
7923DROP FUNCTION public .top_time_queries ;
8024DROP FUNCTION public .aqo_drop ;
8125DROP FUNCTION public .clean_aqo_data ;