MySQL 8.3.0
Source Code Documentation
s_mysql_mysql_page_track Struct Reference

#include <page_track_service.h>

Public Attributes

int(* start )(THD *opaque_thd, Page_Track_SE se_type, uint64_t *start_id)
 Service API to start page tracking. More...
 
int(* stop )(THD *opaque_thd, Page_Track_SE se_type, uint64_t *stop_id)
 Service API to stop page tracking. More...
 
int(* purge )(THD *opaque_thd, Page_Track_SE se_type, uint64_t *purge_id)
 Service API to purge page tracking data. More...
 
int(* get_page_ids )(THD *opaque_thd, Page_Track_SE se_type, uint64_t *start_id, uint64_t *stop_id, unsigned char *buffer, size_t buffer_len, Page_Track_Callback cbk_func, void *cbk_ctx)
 Service API to get tracked pages. More...
 
int(* get_num_page_ids )(THD *opaque_thd, Page_Track_SE se_type, uint64_t *start_id, uint64_t *stop_id, uint64_t *num_pages)
 Service API to get approximate number of pages tracked in the given range. More...
 
int(* get_status )(THD *opaque_thd, Page_Track_SE se_type, uint64_t *initial_start_id, uint64_t *last_start_id)
 API to check if the page tracking is active or not and to return start id if it's active. More...
 

Member Data Documentation

◆ get_num_page_ids

int(* s_mysql_mysql_page_track::get_num_page_ids) (THD *opaque_thd, Page_Track_SE se_type, uint64_t *start_id, uint64_t *stop_id, uint64_t *num_pages)

Service API to get approximate number of pages tracked in the given range.

Parameters
[in]opaque_thdCurrent thread context.
[in]se_typeSE for which to enable tracking
[in,out]start_idSE specific sequence number [LSN for InnoDB] from where the pages tracked would be returned.
Note
the range might get expanded and the actual start_id used for the querying will be updated.
Parameters
[in,out]stop_idSE specific sequence number [LSN for InnoDB] until where the pages tracked would be returned.
Note
the range might get expanded and the actual stop_id used for the querying will be updated.
Parameters
[out]num_pagesnumber of pages tracked
Returns
Operation status.
Return values
0Success
otherER_* mysql error. Get error details from THD.

◆ get_page_ids

int(* s_mysql_mysql_page_track::get_page_ids) (THD *opaque_thd, Page_Track_SE se_type, uint64_t *start_id, uint64_t *stop_id, unsigned char *buffer, size_t buffer_len, Page_Track_Callback cbk_func, void *cbk_ctx)

Service API to get tracked pages.

Parameters
[in]opaque_thdCurrent thread context.
[in]se_typeSE for which to enable tracking
[in,out]start_idSE specific sequence number [LSN for InnoDB] from where the pages tracked would be returned.
Note
The range might get expanded and the actual start_id used for the querying will be updated.
Parameters
[in,out]stop_idSE specific sequence number [LSN for InnoDB] until where the pages tracked would be returned.
Note
The range might get expanded and the actual stop_id used for the querying will be updated.
Parameters
[out]bufferallocated buffer to copy page IDs
[in]buffer_lenlength of buffer in bytes
[in]cbk_funccallback function return page IDs
[in]cbk_ctxcaller's context for callback
Returns
Operation status.
Return values
0Success
otherER_* mysql error. Get error details from THD.

◆ get_status

int(* s_mysql_mysql_page_track::get_status) (THD *opaque_thd, Page_Track_SE se_type, uint64_t *initial_start_id, uint64_t *last_start_id)

API to check if the page tracking is active or not and to return start id if it's active.

Parameters
[in]opaque_thdCurrent thread context.
[in]se_typeSE for which to enable tracking
[out]initial_start_idSE specific sequence number [LSN for InnoDB] which denotes the start id at which page tracking was started if it's active
[out]last_start_idSE specific sequence number [LSN for InnoDB] which denotes the start id the last time the start request was issued
Returns
if page tracking is active or not
Return values
trueif page tracking is active
falseif page tracking is not active

◆ purge

int(* s_mysql_mysql_page_track::purge) (THD *opaque_thd, Page_Track_SE se_type, uint64_t *purge_id)

Service API to purge page tracking data.

Parameters
[in]opaque_thdCurrent thread context.
[in]se_typeSE for which to enable tracking
[in,out]purge_idSE specific sequence number [LSN for InnoDB] initially indicating till where the data needs to be purged and finally updated to until where it was actually purged
Returns
Operation status.
Return values
0Success
otherER_* mysql error. Get error details from THD.

◆ start

int(* s_mysql_mysql_page_track::start) (THD *opaque_thd, Page_Track_SE se_type, uint64_t *start_id)

Service API to start page tracking.

Parameters
[in]opaque_thdCurrent thread context.
[in]se_typeSE for which to enable tracking
[out]start_idSE specific sequence number [LSN for InnoDB] indicating when the tracking was started
Returns
Operation status.
Return values
0Success
otherER_* mysql error. Get error details from THD.

◆ stop

int(* s_mysql_mysql_page_track::stop) (THD *opaque_thd, Page_Track_SE se_type, uint64_t *stop_id)

Service API to stop page tracking.

Parameters
[in]opaque_thdCurrent thread context.
[in]se_typeSE for which to enable tracking
[out]stop_idSE specific sequence number [LSN for InnoDB] indicating when the tracking was stopped
Returns
Operation status.
Return values
0Success
otherER_* mysql error. Get error details from THD.

The documentation for this struct was generated from the following file: