WL#4014: Extended and Improved Discovery

Affects: Server-9.x   —   Status: Un-Assigned

The current discovery (look for objects external to the MySQL server
transparently as they are used) is very limited in that:
1) It only looks for tables.
2) It requires that the MySQL internal .frm format structure be returned.

This should be extended so that:
1) More objects than just tables can be discovered.
    a) Tables
    b) Views
    c) Users  
2) The objects can be defined using SQL, not internal data structures.

View Discovery:

Being able to discover views is a natural extension of tables for external
storage engine. Often external storage engines can be very sophisticated and may
support their own views. Discovery on views as part of the table discovery
mechanism should allow the storage engine to return the view as either a table
or a view definition. That is, the storage engine can either return a table
object to MySQL to use the “virtualizes” the PSE view or it can return the view
definition to MySQL where MySQL will create the view in MySQL and access the
underlying tables though the MySQL view mechanism. 

User Discovery:

The current external Authentication and Authorization (A&A) plug-in design
requires that all users that MySQL can Authenticate be first defined in MySQL.
This is unacceptable for either system authentication of for complex storage
engines that have their own ecosystem that still supports A&A fully externally
to MySQL. These system require that MySQL support both a user discovery
mechanism and a full-time authorization push-down capability.