-
Marko Mäkelä authored
InnoDB needs to collect transactions from the persistent data files in trx_rseg_array_init() before trx_lists_init_at_db_start() is executed. But there is no need to create purge_sys->purge_queue separately from purge_sys. trx_sys_init_at_db_start(): Change the return type to void. Remove the direct call to trx_rseg_array_init(). It will be called by trx_lists_init_at_db_start(), which we are calling. Initialize the purge system read view. trx_lists_init_at_db_start(): Call trx_purge_sys_create(), which will invoke trx_rseg_array_init() to read the undo log segments. trx_purge_sys_create(): Remove the parameters. Do not initialize the purge system read view, because trx_sys->rw_trx_list has not been recovered yet. The purge_sys->view will be initialized at the end of trx_sys_init_at_db_start(). trx_rseg_array_init(): Remove the parameter. Use purge_sys->purge_queue directly. innobase_start_or_create_for_mysql(): Remove the local variable purge_queue. Do not call trx_purge_sys_create(), because it will be called by trx_sys_init_at_db_start().
7a30d86e