Add new options modifiers to allow access control to system variables

Registered by George Ormond Lorch III

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:
milestone icon 5.5.27-28.0
Started by
George Ormond Lorch III
Completed by
Stewart Smith

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-<option name>=<TRUE/FALSE> : If set to TRUE, makes any
      system variable named in <option name> immutable to clients.
Some MySQL option modifiers may be used together in the same option
specification, example:
  --skip-loose-<name>
This set of option modifiers may not be combined together in the same
option specification, examples:
  OK --loose-readonly-<name>=<T/F>
  BAD --readonly-hidden-<name>=<T/F>
  BAD --minimum-maximum-<name>=<value>
  OK --readonly-<name>=<T/F> --hidden-<name>=<T/F>
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.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.