tidb
tidb copied to clipboard
ddl, planner: introduce a DDL notifier to allow the statistics module to subscribe DDL events
Background
In statistic module, we need all table information to rebuild the priority queue to do auto analyze every time, but in information schema v2, TiDB no longer stores all table information in memory(load as required), so we need a method to avoid traverse all tables as soon as possible, so we can try to keep the priority queue in memory to solve this problem.
In order to cooperate with the new priority queue we need a method to notify the statistics module handle DDL events.
Development tasks
- Introduce a new ddl change structure
SchemaChangeEventto replace the oldDDLEvent, use getters and setters to avoid direct access to the struct's fields.
- [ ] #55723
-
Add ddl notifier table and support ddl changes writing (write).
-
Implementation of the ddl notifier struct with subscription support (read).