From 5570b3796b5c020ff40aa29230c224e21429e152 Mon Sep 17 00:00:00 2001 From: Kirill Solomko Date: Wed, 4 May 2016 16:50:27 +0200 Subject: [PATCH] MT#16491 drop index src_dst_stime_idx ON accounting.cdr Change-Id: I3d0d53e0fb54c0142f18c2b4adffd7d12a21bc50 --- db_scripts/diff/15241.down | 6 ++++++ db_scripts/diff/15241.up | 28 ++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 db_scripts/diff/15241.down create mode 100644 db_scripts/diff/15241.up diff --git a/db_scripts/diff/15241.down b/db_scripts/diff/15241.down new file mode 100644 index 00000000..48f9d657 --- /dev/null +++ b/db_scripts/diff/15241.down @@ -0,0 +1,6 @@ +use accounting; +set autocommit=0; + +CREATE INDEX src_dst_stime_idx ON accounting.cdr(source_cli, destination_user_in, start_time); + +commit; diff --git a/db_scripts/diff/15241.up b/db_scripts/diff/15241.up new file mode 100644 index 00000000..dcc3e246 --- /dev/null +++ b/db_scripts/diff/15241.up @@ -0,0 +1,28 @@ +use accounting; + +DROP PROCEDURE IF EXISTS drop_index_if_exists_proc; +DELIMITER ;; +CREATE PROCEDURE drop_index_if_exists_proc(IN idx_db varchar(64), + IN idx_table varchar(64), + IN idx_name varchar(64)) +BEGIN + + DECLARE idx_exists int default 0; + SELECT count(INDEX_NAME) INTO idx_exists + FROM INFORMATION_SCHEMA.STATISTICS + WHERE TABLE_SCHEMA = idx_db + AND TABLE_NAME = idx_table + AND INDEX_NAME = idx_name; + + IF idx_exists > 0 THEN + SET @q = CONCAT('DROP INDEX `', idx_name, '` ON `', idx_db, '`.`', idx_table, '`'); + PREPARE stmt FROM @q; + EXECUTE stmt; + END IF; + +END ;; +DELIMITER ; + +CALL drop_index_if_exists_proc('accounting','cdr','src_dst_stime_idx'); +DROP PROCEDURE drop_index_if_exists_proc; +