This is a feature proposed by Boaz Ben-Zvi.
Currently all the options are accessible by the user in sys.options. We would like to add internal options which can be altered, but are not visible in the sys.options table. These internal options could be seen by another alias select * from internal.options. The intention would be to put new options we weren't comfortable with exposing to the end user in this table.
After the options and their corresponding features are considered stable they could be changed to appear in the sys.option table.
A bunch of other fixes to the Option system have been clubbed into this:
- OptionValidators no longer hold default values. Default values are contained in the SystemOptionManager
- Options have an OptionDefinition. The option definition includes:
- A validator
- Metadata about the options visibility, required permissions, and the scope in which it can be set.
- The Option Manager interface has been cleaned up so that a Type is not required to be passed in in order to set and delete options