Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
10.4.17
-
None
Description
since MDEV-7597 this should be a JSON expression.
also missing from MDEV-13095 account_locked
So from:
mysql-8.0 mysql.user |
`password_expired` enum('N','Y') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'N',
|
`password_last_changed` timestamp NULL DEFAULT NULL,
|
`password_lifetime` smallint unsigned DEFAULT NULL,
|
`account_locked` enum('N','Y') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'N',
|
So these columns should be in the mysql.user view too.
> mysql_fix_privilege_tables_sql.c
Thanks for the explanation.
> But it seems to me that we need to drop the view unconditionally for every mysql_upgrade to make this patch work on current 10.4+ versions. I need to check with Vicentiu or Sergei
See the 3rd comment.
> Or of course, drop the view conditionally based on parsing the value of the query view from SHOW CREATE VIEW, but this is very very ugly IMO.
Its very very practical IMO. There is no ALTER VIEW, a view's existence is parsed. As a system VIEW its definition is rather fixed and providing you're are matching something fairly strict there should be a low change of failure. And the consequence of a mismatch - the view gets recreated.