@@ -62,9 +62,43 @@ WHERE (aqs.query_hash = aq.query_hash) AND
6262aqs .query_hash = $1 ;
6363$func$ LANGUAGE SQL;
6464
65+ CREATE FUNCTION public .aqo_enable_query(hashint )
66+ RETURNS VOID
67+ AS $func$
68+ UPDATE aqo_queriesSET
69+ learn_aqo= ' true' ,
70+ use_aqo= ' true'
71+ WHERE query_hash= $1 ;
72+ $func$ LANGUAGE SQL;
73+
74+ CREATE FUNCTION public .aqo_disable_query(hashint )
75+ RETURNS VOID
76+ AS $func$
77+ UPDATE aqo_queriesSET
78+ learn_aqo= ' false' ,
79+ use_aqo= ' false' ,
80+ auto_tuning= ' false'
81+ WHERE query_hash= $1 ;
82+ $func$ LANGUAGE SQL;
83+
84+ CREATE FUNCTION public .aqo_clear_hist(hashint )
85+ RETURNS VOID
86+ AS $func$
87+ DELETE FROM aqo_dataWHERE fspace_hash= $1 ;
88+ $func$ LANGUAGE SQL;
89+
6590-- Show queries that contains 'Never executed' nodes at the plan.
6691CREATE FUNCTION public .aqo_ne_queries()
6792RETURNS SETOFint
6893AS $func$
6994SELECT query_hashFROM aqo_query_stat aqsWHERE - 1 = ANY (cardinality_error_with_aqo::double precision []);
7095$func$ LANGUAGE SQL;
96+
97+ CREATE FUNCTION public .aqo_drop(hashint )
98+ RETURNS VOID
99+ AS $func$
100+ DELETE FROM aqo_queries aqWHERE (aq .query_hash = $1 );
101+ DELETE FROM aqo_data adWHERE (ad .fspace_hash = $1 );
102+ DELETE FROM aqo_query_stat aqWHERE (aq .query_hash = $1 );
103+ DELETE FROM aqo_query_texts aqWHERE (aq .query_hash = $1 );
104+ $func$ LANGUAGE SQL;