summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorRobert Bindar <robert@mariadb.org>2021-03-08 17:51:33 +0200
committerRobert Bindar <robert@mariadb.org>2021-03-08 18:02:45 +0200
commit1d762ee8fe6b2e2b031cfaa95429408479f7eb67 (patch)
treeca558acd7efb4ab90a06e870fdbb52c91b4faec3 /scripts
parent01a0d739c8f9dca99301e550ab36c032ca8c6c0e (diff)
downloadmariadb-git-1d762ee8fe6b2e2b031cfaa95429408479f7eb67.tar.gz
MDEV-24363 (followup fix) mysql.user view should
not be dropped if the DEFINER is custom. Revert changes to MDEV-23102 tests as they were designed to catch this corner case. The explanation for this corner case is that users historically used to tweak the mysql.user table and probably still do even though mysql.user is now a view. Thus, if the DEFINER of the view is not default, i.e. root@localhost or mariadb.sys@localhost, we should avoid dropping the view during upgrade process to not discard potential custom changes.
Diffstat (limited to 'scripts')
-rw-r--r--scripts/mysql_system_tables_fix.sql2
1 files changed, 1 insertions, 1 deletions
diff --git a/scripts/mysql_system_tables_fix.sql b/scripts/mysql_system_tables_fix.sql
index ac71edccae9..9dd775aaf30 100644
--- a/scripts/mysql_system_tables_fix.sql
+++ b/scripts/mysql_system_tables_fix.sql
@@ -824,7 +824,7 @@ IF 'BASE TABLE' = (select table_type from information_schema.tables where table_
DROP TABLE user;
END IF//
-IF 1 = (SELECT count(*) FROM information_schema.VIEWS WHERE TABLE_CATALOG = 'def' and TABLE_SCHEMA = 'mysql' and TABLE_NAME='user' and (DEFINER = 'root@localhost' or VIEW_DEFINITION LIKE "%'N' AS `password_expired`%")) THEN
+IF 1 = (SELECT count(*) FROM information_schema.VIEWS WHERE TABLE_CATALOG = 'def' and TABLE_SCHEMA = 'mysql' and TABLE_NAME='user' and (DEFINER = 'root@localhost' or (DEFINER = 'mariadb.sys@localhost' and VIEW_DEFINITION LIKE "%'N' AS `password_expired`%"))) THEN
DROP VIEW IF EXISTS mysql.user;
END IF//