An extension object comprises one or more members. A member can be a
Python, or another extension object. You construct and register
extension objects using functions provided by the built-in global
shell. You can continue to extend the
object by adding further members to it after it has been registered
with MySQL Shell.
You can register an extension object containing functions directly as a MySQL Shell global object. However, for good management of your extension objects, it can be helpful to create one or a small number of top-level extension objects to act as entry points for all your extension objects, and to register these top-level extension objects as MySQL Shell global objects. You can then add your current and future extension objects as members of an appropriate top-level extension object. With this structure, a top-level extension object that is registered as a MySQL Shell global object provides a place for developers to add various extension objects created at different times and stored in different MySQL Shell plugins.