Details
-
Type:
Task
-
Status: Closed (View Workflow)
-
Priority:
Major
-
Resolution: Fixed
-
Fix Version/s: 10.2.0
-
Component/s: Plugins
-
Labels:None
-
Sprint:10.2.0-7
Description
Currently audit event dispatching looks like:
mysql_audit_notify_connection_connect() -> mysql_audit_notify() -> connection_class_handler() -> event_class_dispatch() -> plugins_dispatch() -> plugin->event_notify()
|
This construct:
- adds unnecessary complexity when adding new event types
- performance overhead: 6 functions in chains, at least 3 can't be inlined
- shown to be vulnerable to programming mistakes
We should strive for:
mysql_audit_notify_connection_connect() -> plugin->event_notify()
|
If the latter is complex, at least the following should be trivial to implement:
mysql_audit_notify_connection_connect() -> event_class_dispatch() -> plugins_dispatch() -> plugin->event_notify()
|