| Bug #93277 | NON_PERSIST flags doesn't work without READ_ONLY | ||
|---|---|---|---|
| Submitted: | 21 Nov 2018 15:11 | Modified: | 3 Jan 2019 11:49 | 
| Reporter: | Przemysław Skibiński (OCA) | Email Updates: | |
| Status: | Can't repeat | Impact on me: | |
| Category: | MySQL Server: Options | Severity: | S3 (Non-critical) | 
| Version: | 8.0.13 | OS: | Any | 
| Assigned to: | CPU Architecture: | Any | |
   [22 Nov 2018 5:55]
   MySQL Verification Team        
  Hello Przemysław, Thank you for the report and feedback! regards, Umesh
   [3 Jan 2019 11:49]
   Erlend Dahl        
  No longer repeatable on 8.0.15.


Description: I found that `NON_PERSIST` doesn't work without `READ_ONLY`. `Sys_keyring_operations` is `NON_PERSIST GLOBAL_VAR` and the following should return error: `SET @@persist_only.keyring_operations = "Shoudn't work";` But there is no error. How to repeat: SET @@persist_only.keyring_operations= "Shoudn't work"; Suggested fix: set_var::resolve should also detect "non persistent". Currently there is only: if (var->is_readonly()) { if (type != OPT_PERSIST_ONLY) { my_error(ER_INCORRECT_GLOBAL_LOCAL_VAR, MYF(0), var->name.str, "read only"); DBUG_RETURN(-1); } if (type == OPT_PERSIST_ONLY && var->is_non_persistent()) { my_error(ER_INCORRECT_GLOBAL_LOCAL_VAR, MYF(0), var->name.str, "non persistent read only"); DBUG_RETURN(-1); } }