Details
-
Task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
None
-
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()
|