Add new options modifiers to allow access control to system variables
In order to offer more control over option visibility, access and range limits, the following new option modifiers will be added:
* minimum-= : indicates that clients can not set the value of option_name to less than value. If the client does attempt to set the value of option_name lesser than value, the value of option_name will simply be set to value.
* range-= : indicates that clients may only set the value of option_name to a value between min_value and max_value. If the client does attempt to set the value of option_name lesser than min_value or greater than max_value, the value of option_name will simply be set to either min_value or max_value respectively.
* hidden- : indicates that clients can not see or modify the value of option_name.
* readonly- : indicates that clients can see the value of option_name but can not modify the value.
See also internal #23598
Blueprint information
- Status:
- Complete
- Approver:
- Alexey Kopytov
- Priority:
- Undefined
- Drafter:
- George Ormond Lorch III
- Direction:
- Approved
- Assignee:
- George Ormond Lorch III
- Definition:
- Approved
- Series goal:
- Proposed for 5.5
- Implementation:
-
Implemented
- Milestone target:
-
5.5.27-28.0
- Started by
- George Ormond Lorch III
- Completed by
- Stewart Smith
Related branches
Related bugs
Sprints
Whiteboard
In order to offer more control over option visibility, access and range
limits, the following new option modifiers have been added:
minimum-<option name>=<value> : Sets the minimum value that clients
may set <option name> to. If a client does attempt to set the value
of <option name> lesser than <value>, a warning will be issued and
the value of <option name> will be set to <value>.
hidden-<option name>=<TRUE/FALSE> : If set to TRUE, makes any system
variable named in <option name> invisible and immutable to clients.
readonly-
system variable named in <option name> immutable to clients.
Some MySQL option modifiers may be used together in the same option
specification, example:
--skip-
This set of option modifiers may not be combined together in the same
option specification, examples:
OK --loose-
BAD --readonly-
BAD --minimum-
OK --readonly-
If an option value has a minimum limit applied and is set to a value
lesser than the minimum limit through an option specifier, the value
will specified value be kept as the default value. The minimum limit will
still apply if a client attempts to set the value lesser than the
specified limit. If a client sets an option value to a valid value and
the attempts to re-set the value to the out-of-range default, the set
limit enforcement will apply and the value will be set to the specified
minimum allowed threshold.