MySQL 9.1.0
Source Code Documentation
i_s.cc File Reference

InnoDB INFORMATION SCHEMA tables interface to MySQL. More...

#include "storage/innobase/handler/i_s.h"
#include <field.h>
#include <sql_acl.h>
#include <sql_show.h>
#include <sql_time.h>
#include <sys/types.h>
#include <time.h>
#include "auth_acls.h"
#include "btr0btr.h"
#include "btr0pcur.h"
#include "btr0types.h"
#include "buf0buddy.h"
#include "buf0buf.h"
#include "buf0stats.h"
#include "dict0crea.h"
#include "dict0dd.h"
#include "dict0dict.h"
#include "dict0load.h"
#include "dict0mem.h"
#include "dict0types.h"
#include "fsp0sysspace.h"
#include "fts0opt.h"
#include "fts0priv.h"
#include "fts0types.h"
#include "fut0fut.h"
#include "ha_prototypes.h"
#include "ibuf0ibuf.h"
#include "mysql/plugin.h"
#include "mysql/strings/m_ctype.h"
#include "page0zip.h"
#include "pars0pars.h"
#include "sql/sql_class.h"
#include "srv0mon.h"
#include "srv0start.h"
#include "srv0tmp.h"
#include "trx0i_s.h"
#include "trx0trx.h"
#include "ut0new.h"
#include "my_dbug.h"

Classes

struct  buf_page_desc_t
 structure associates a name string with a file page type and/or buffer page state. More...
 
struct  buf_page_info_t
 This structure defines information we will fetch from pages currently cached in the buffer pool. More...
 
struct  temp_table_info_t
 

Macros

#define OK(expr)
 
#define STRUCT_FLD(name, value)   value
 
#define END_OF_ST_FIELD_INFO
 
#define IDX_TRX_ID   0
 
#define IDX_TRX_STATE   1
 
#define IDX_TRX_STARTED   2
 
#define IDX_TRX_REQUESTED_LOCK_ID   3
 
#define IDX_TRX_WAIT_STARTED   4
 
#define IDX_TRX_WEIGHT   5
 
#define IDX_TRX_MYSQL_THREAD_ID   6
 
#define IDX_TRX_QUERY   7
 
#define IDX_TRX_OPERATION_STATE   8
 
#define IDX_TRX_TABLES_IN_USE   9
 
#define IDX_TRX_TABLES_LOCKED   10
 
#define IDX_TRX_LOCK_STRUCTS   11
 
#define IDX_TRX_LOCK_MEMORY_BYTES   12
 
#define IDX_TRX_ROWS_LOCKED   13
 
#define IDX_TRX_ROWS_MODIFIED   14
 
#define IDX_TRX_CONNCURRENCY_TICKETS   15
 
#define IDX_TRX_ISOLATION_LEVEL   16
 
#define IDX_TRX_UNIQUE_CHECKS   17
 
#define IDX_TRX_FOREIGN_KEY_CHECKS   18
 
#define IDX_TRX_LAST_FOREIGN_KEY_ERROR   19
 
#define IDX_TRX_ADAPTIVE_HASH_LATCHED   20
 
#define IDX_TRX_ADAPTIVE_HASH_TIMEOUT   21
 
#define IDX_TRX_READ_ONLY   22
 
#define IDX_TRX_AUTOCOMMIT_NON_LOCKING   23
 
#define IDX_TRX_SCHEDULE_WEIGHT   24
 
#define IDX_DATABASE_NAME   0
 
#define IDX_TABLE_NAME   1
 
#define IDX_INDEX_NAME   2
 
#define IDX_COMPRESS_OPS   3
 
#define IDX_COMPRESS_OPS_OK   4
 
#define IDX_COMPRESS_TIME   5
 
#define IDX_UNCOMPRESS_OPS   6
 
#define IDX_UNCOMPRESS_TIME   7
 
#define METRIC_NAME   0
 
#define METRIC_SUBSYS   1
 
#define METRIC_VALUE_START   2
 
#define METRIC_MAX_VALUE_START   3
 
#define METRIC_MIN_VALUE_START   4
 
#define METRIC_AVG_VALUE_START   5
 
#define METRIC_VALUE_RESET   6
 
#define METRIC_MAX_VALUE_RESET   7
 
#define METRIC_MIN_VALUE_RESET   8
 
#define METRIC_AVG_VALUE_RESET   9
 
#define METRIC_START_TIME   10
 
#define METRIC_STOP_TIME   11
 
#define METRIC_TIME_ELAPSED   12
 
#define METRIC_RESET_TIME   13
 
#define METRIC_STATUS   14
 
#define METRIC_TYPE   15
 
#define METRIC_DESC   16
 
#define STOPWORD_VALUE   0
 
#define I_S_FTS_DOC_ID   0
 
#define I_S_FTS_WORD   0
 
#define I_S_FTS_FIRST_DOC_ID   1
 
#define I_S_FTS_LAST_DOC_ID   2
 
#define I_S_FTS_DOC_COUNT   3
 
#define I_S_FTS_ILIST_DOC_ID   4
 
#define I_S_FTS_ILIST_DOC_POS   5
 
#define FTS_CONFIG_KEY   0
 
#define FTS_CONFIG_VALUE   1
 
#define IDX_TEMP_TABLE_ID   0
 
#define IDX_TEMP_TABLE_NAME   1
 
#define IDX_TEMP_TABLE_N_COLS   2
 
#define IDX_TEMP_TABLE_SPACE_ID   3
 
#define IDX_BUF_STATS_POOL_ID   0
 
#define IDX_BUF_STATS_POOL_SIZE   1
 
#define IDX_BUF_STATS_FREE_BUFFERS   2
 
#define IDX_BUF_STATS_LRU_LEN   3
 
#define IDX_BUF_STATS_OLD_LRU_LEN   4
 
#define IDX_BUF_STATS_FLUSH_LIST_LEN   5
 
#define IDX_BUF_STATS_PENDING_ZIP   6
 
#define IDX_BUF_STATS_PENDING_READ   7
 
#define IDX_BUF_STATS_FLUSH_LRU   8
 
#define IDX_BUF_STATS_FLUSH_LIST   9
 
#define IDX_BUF_STATS_PAGE_YOUNG   10
 
#define IDX_BUF_STATS_PAGE_NOT_YOUNG   11
 
#define IDX_BUF_STATS_PAGE_YOUNG_RATE   12
 
#define IDX_BUF_STATS_PAGE_NOT_YOUNG_RATE   13
 
#define IDX_BUF_STATS_PAGE_READ   14
 
#define IDX_BUF_STATS_PAGE_CREATED   15
 
#define IDX_BUF_STATS_PAGE_WRITTEN   16
 
#define IDX_BUF_STATS_PAGE_READ_RATE   17
 
#define IDX_BUF_STATS_PAGE_CREATE_RATE   18
 
#define IDX_BUF_STATS_PAGE_WRITTEN_RATE   19
 
#define IDX_BUF_STATS_GET   20
 
#define IDX_BUF_STATS_HIT_RATE   21
 
#define IDX_BUF_STATS_MADE_YOUNG_PCT   22
 
#define IDX_BUF_STATS_NOT_MADE_YOUNG_PCT   23
 
#define IDX_BUF_STATS_READ_AHREAD   24
 
#define IDX_BUF_STATS_READ_AHEAD_EVICTED   25
 
#define IDX_BUF_STATS_READ_AHEAD_RATE   26
 
#define IDX_BUF_STATS_READ_AHEAD_EVICT_RATE   27
 
#define IDX_BUF_STATS_LRU_IO_SUM   28
 
#define IDX_BUF_STATS_LRU_IO_CUR   29
 
#define IDX_BUF_STATS_UNZIP_SUM   30
 
#define IDX_BUF_STATS_UNZIP_CUR   31
 
#define IDX_BUFFER_POOL_ID   0
 
#define IDX_BUFFER_BLOCK_ID   1
 
#define IDX_BUFFER_PAGE_SPACE   2
 
#define IDX_BUFFER_PAGE_NUM   3
 
#define IDX_BUFFER_PAGE_TYPE   4
 
#define IDX_BUFFER_PAGE_FLUSH_TYPE   5
 
#define IDX_BUFFER_PAGE_FIX_COUNT   6
 
#define IDX_BUFFER_PAGE_HASHED   7
 
#define IDX_BUFFER_PAGE_NEWEST_MOD   8
 
#define IDX_BUFFER_PAGE_OLDEST_MOD   9
 
#define IDX_BUFFER_PAGE_ACCESS_TIME   10
 
#define IDX_BUFFER_PAGE_TABLE_NAME   11
 
#define IDX_BUFFER_PAGE_INDEX_NAME   12
 
#define IDX_BUFFER_PAGE_NUM_RECS   13
 
#define IDX_BUFFER_PAGE_DATA_SIZE   14
 
#define IDX_BUFFER_PAGE_ZIP_SIZE   15
 
#define IDX_BUFFER_PAGE_STATE   16
 
#define IDX_BUFFER_PAGE_IO_FIX   17
 
#define IDX_BUFFER_PAGE_IS_OLD   18
 
#define IDX_BUFFER_PAGE_FREE_CLOCK   19
 
#define IDX_BUFFER_PAGE_IS_STALE   20
 
#define IDX_BUF_LRU_POOL_ID   0
 
#define IDX_BUF_LRU_POS   1
 
#define IDX_BUF_LRU_PAGE_SPACE   2
 
#define IDX_BUF_LRU_PAGE_NUM   3
 
#define IDX_BUF_LRU_PAGE_TYPE   4
 
#define IDX_BUF_LRU_PAGE_FLUSH_TYPE   5
 
#define IDX_BUF_LRU_PAGE_FIX_COUNT   6
 
#define IDX_BUF_LRU_PAGE_HASHED   7
 
#define IDX_BUF_LRU_PAGE_NEWEST_MOD   8
 
#define IDX_BUF_LRU_PAGE_OLDEST_MOD   9
 
#define IDX_BUF_LRU_PAGE_ACCESS_TIME   10
 
#define IDX_BUF_LRU_PAGE_TABLE_NAME   11
 
#define IDX_BUF_LRU_PAGE_INDEX_NAME   12
 
#define IDX_BUF_LRU_PAGE_NUM_RECS   13
 
#define IDX_BUF_LRU_PAGE_DATA_SIZE   14
 
#define IDX_BUF_LRU_PAGE_ZIP_SIZE   15
 
#define IDX_BUF_LRU_PAGE_STATE   16
 
#define IDX_BUF_LRU_PAGE_IO_FIX   17
 
#define IDX_BUF_LRU_PAGE_IS_OLD   18
 
#define IDX_BUF_LRU_PAGE_FREE_CLOCK   19
 
#define INNODB_TABLES_ID   0
 
#define INNODB_TABLES_NAME   1
 
#define INNODB_TABLES_FLAG   2
 
#define INNODB_TABLES_NUM_COLUMN   3
 
#define INNODB_TABLES_SPACE   4
 
#define INNODB_TABLES_ROW_FORMAT   5
 
#define INNODB_TABLES_ZIP_PAGE_SIZE   6
 
#define INNODB_TABLES_SPACE_TYPE   7
 
#define INNODB_TABLES_INSTANT_COLS   8
 
#define INNODB_TABLES_TOTAL_ROW_VERSIONS   9
 
#define INNODB_TABLES_INITIAL_COLUMN_COUNTS   10
 
#define INNODB_TABLES_CURRENT_COLUMN_COUNTS   11
 
#define INNODB_TABLES_TOTAL_COLUMN_COUNTS   12
 
#define INNODB_TABLESTATS_ID   0
 
#define INNODB_TABLESTATS_NAME   1
 
#define INNODB_TABLESTATS_INIT   2
 
#define INNODB_TABLESTATS_NROW   3
 
#define INNODB_TABLESTATS_CLUST_SIZE   4
 
#define INNODB_TABLESTATS_INDEX_SIZE   5
 
#define INNODB_TABLESTATS_MODIFIED   6
 
#define INNODB_TABLESTATS_AUTONINC   7
 
#define INNODB_TABLESTATS_TABLE_REF_COUNT   8
 
#define SYS_INDEX_ID   0
 
#define SYS_INDEX_NAME   1
 
#define SYS_INDEX_TABLE_ID   2
 
#define SYS_INDEX_TYPE   3
 
#define SYS_INDEX_NUM_FIELDS   4
 
#define SYS_INDEX_PAGE_NO   5
 
#define SYS_INDEX_SPACE   6
 
#define SYS_INDEX_MERGE_THRESHOLD   7
 
#define SYS_COLUMN_TABLE_ID   0
 
#define SYS_COLUMN_NAME   1
 
#define SYS_COLUMN_POSITION   2
 
#define SYS_COLUMN_MTYPE   3
 
#define SYS_COLUMN__PRTYPE   4
 
#define SYS_COLUMN_COLUMN_LEN   5
 
#define SYS_COLUMN_HAS_DEFAULT   6
 
#define SYS_COLUMN_DEFAULT_VALUE   7
 
#define SYS_COLUMN_VERSION_ADDED   8
 
#define SYS_COLUMN_VERSION_DROPPED   9
 
#define SYS_COLUMN_PHYSICAL_POS   10
 
#define INNODB_VIRTUAL_TABLE_ID   0
 
#define INNODB_VIRTUAL_POS   1
 
#define INNODB_VIRTUAL_BASE_POS   2
 
#define INNODB_TABLESPACES_SPACE   0
 
#define INNODB_TABLESPACES_NAME   1
 
#define INNODB_TABLESPACES_FLAGS   2
 
#define INNODB_TABLESPACES_ROW_FORMAT   3
 
#define INNODB_TABLESPACES_PAGE_SIZE   4
 
#define INNODB_TABLESPACES_ZIP_PAGE_SIZE   5
 
#define INNODB_TABLESPACES_SPACE_TYPE   6
 
#define INNODB_TABLESPACES_FS_BLOCK_SIZE   7
 
#define INNODB_TABLESPACES_FILE_SIZE   8
 
#define INNODB_TABLESPACES_ALLOC_SIZE   9
 
#define INNODB_TABLESPACES_AUTOEXTEND_SIZE   10
 
#define INNODB_TABLESPACES_SERVER_VERSION   11
 
#define INNODB_TABLESPACES_SPACE_VERSION   12
 
#define INNODB_TABLESPACES_ENCRYPTION   13
 
#define INNODB_TABLESPACES_STATE   14
 
#define CACHED_INDEXES_SPACE_ID   0
 
#define CACHED_INDEXES_INDEX_ID   1
 
#define CACHED_INDEXES_N_CACHED_PAGES   2
 
#define INNODB_SESSION_TEMP_TABLESPACES_ID   0
 
#define INNODB_SESSION_TEMP_TABLESPACES_SPACE   1
 
#define INNODB_SESSION_TEMP_TABLESPACES_PATH   2
 
#define INNODB_SESSION_TEMP_TABLESPACES_SIZE   3
 
#define INNODB_SESSION_TEMP_TABLESPACES_STATE   4
 
#define INNODB_SESSION_TEMP_TABLESPACES_PURPOSE   5
 

Typedefs

typedef std::vector< temp_table_info_t, ut::allocator< temp_table_info_t > > temp_table_info_cache_t
 

Functions

static int trx_i_s_common_fill_table (THD *thd, Table_ref *tables, Item *)
 Common function to fill any of the dynamic tables: INFORMATION_SCHEMA.innodb_trx. More...
 
static int i_s_common_deinit (void *p)
 Unbind a dynamic INFORMATION_SCHEMA table. More...
 
static int field_store_time_t (Field *field, time_t time)
 Auxiliary function to store time_t value in MYSQL_TYPE_DATETIME field. More...
 
static int field_store_string (Field *field, const char *str)
 Auxiliary function to store char* value in MYSQL_TYPE_STRING field. More...
 
static int field_store_index_name (Field *field, const char *index_name)
 Store the name of an index in a MYSQL_TYPE_VARCHAR field. More...
 
static int fill_innodb_trx_from_cache (trx_i_s_cache_t *cache, THD *thd, TABLE *table)
 Read data from cache buffer and fill the INFORMATION_SCHEMA.innodb_trx table with it. More...
 
static int innodb_trx_init (void *p)
 Bind the dynamic table INFORMATION_SCHEMA.innodb_trx. More...
 
static int i_s_cmp_fill_low (THD *thd, Table_ref *tables, Item *, bool reset)
 Fill the dynamic table information_schema.innodb_cmp or innodb_cmp_reset. More...
 
static int i_s_cmp_fill (THD *thd, Table_ref *tables, Item *cond)
 Fill the dynamic table information_schema.innodb_cmp. More...
 
static int i_s_cmp_reset_fill (THD *thd, Table_ref *tables, Item *cond)
 Fill the dynamic table information_schema.innodb_cmp_reset. More...
 
static int i_s_cmp_init (void *p)
 Bind the dynamic table information_schema.innodb_cmp. More...
 
static int i_s_cmp_reset_init (void *p)
 Bind the dynamic table information_schema.innodb_cmp_reset. More...
 
static int i_s_cmp_per_index_fill_low (THD *thd, Table_ref *tables, Item *, bool reset)
 Fill the dynamic table information_schema.innodb_cmp_per_index or information_schema.innodb_cmp_per_index_reset. More...
 
static int i_s_cmp_per_index_fill (THD *thd, Table_ref *tables, Item *cond)
 Fill the dynamic table information_schema.innodb_cmp_per_index. More...
 
static int i_s_cmp_per_index_reset_fill (THD *thd, Table_ref *tables, Item *cond)
 Fill the dynamic table information_schema.innodb_cmp_per_index_reset. More...
 
static int i_s_cmp_per_index_init (void *p)
 Bind the dynamic table information_schema.innodb_cmp_per_index. More...
 
static int i_s_cmp_per_index_reset_init (void *p)
 Bind the dynamic table information_schema.innodb_cmp_per_index_reset. More...
 
static int i_s_cmpmem_fill_low (THD *thd, Table_ref *tables, bool reset)
 Fill the dynamic table information_schema.innodb_cmpmem or innodb_cmpmem_reset. More...
 
static int i_s_cmpmem_fill (THD *thd, Table_ref *tables, Item *)
 Fill the dynamic table information_schema.innodb_cmpmem. More...
 
static int i_s_cmpmem_reset_fill (THD *thd, Table_ref *tables, Item *)
 Fill the dynamic table information_schema.innodb_cmpmem_reset. More...
 
static int i_s_cmpmem_init (void *p)
 Bind the dynamic table information_schema.innodb_cmpmem. More...
 
static int i_s_cmpmem_reset_init (void *p)
 Bind the dynamic table information_schema.innodb_cmpmem_reset. More...
 
static int i_s_metrics_fill (THD *thd, TABLE *table_to_fill)
 Fill the information schema metrics table. More...
 
static int i_s_metrics_fill_table (THD *thd, Table_ref *tables, Item *)
 Function to fill information schema metrics tables. More...
 
static int innodb_metrics_init (void *p)
 Bind the dynamic table INFORMATION_SCHEMA.innodb_metrics. More...
 
static int i_s_stopword_fill (THD *thd, Table_ref *tables, Item *)
 Fill the dynamic table information_schema.innodb_ft_default_stopword. More...
 
static int i_s_stopword_init (void *p)
 Bind the dynamic table information_schema.innodb_ft_default_stopword. More...
 
static int i_s_fts_deleted_generic_fill (THD *thd, Table_ref *tables, bool being_deleted)
 Fill the dynamic table INFORMATION_SCHEMA.INNODB_FT_DELETED or INFORMATION_SCHEMA.INNODB_FT_BEING_DELETED. More...
 
static int i_s_fts_deleted_fill (THD *thd, Table_ref *tables, Item *)
 Fill the dynamic table INFORMATION_SCHEMA.INNODB_FT_DELETED. More...
 
static int i_s_fts_deleted_init (void *p)
 Bind the dynamic table INFORMATION_SCHEMA.INNODB_FT_DELETED. More...
 
static int i_s_fts_being_deleted_fill (THD *thd, Table_ref *tables, Item *)
 Fill the dynamic table INFORMATION_SCHEMA.INNODB_FT_BEING_DELETED. More...
 
static int i_s_fts_being_deleted_init (void *p)
 Bind the dynamic table INFORMATION_SCHEMA.INNODB_FT_BEING_DELETED. More...
 
static int i_s_fts_index_cache_fill_one_index (fts_index_cache_t *index_cache, THD *thd, Table_ref *tables)
 Go through the Doc Node and its ilist, fill the dynamic table INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHED for one FTS index on the table. More...
 
static int i_s_fts_index_cache_fill (THD *thd, Table_ref *tables, Item *)
 Fill the dynamic table INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHED. More...
 
static int i_s_fts_index_cache_init (void *p)
 Bind the dynamic table INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHE. More...
 
static dberr_t i_s_fts_index_table_fill_selected (dict_index_t *index, ib_vector_t *words, ulint selected, fts_string_t *word)
 Go through a FTS index auxiliary table, fetch its rows and fill FTS word cache structure. More...
 
static void i_s_fts_index_table_free_one_fetch (ib_vector_t *words)
 Free words. More...
 
static int i_s_fts_index_table_fill_one_fetch (CHARSET_INFO *index_charset, THD *thd, Table_ref *tables, ib_vector_t *words, fts_string_t *conv_str, bool has_more)
 Go through words, fill INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE. More...
 
static int i_s_fts_index_table_fill_one_index (dict_index_t *index, THD *thd, Table_ref *tables)
 Go through a FTS index and its auxiliary tables, fetch rows in each table and fill INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE. More...
 
static int i_s_fts_index_table_fill (THD *thd, Table_ref *tables, Item *)
 Fill the dynamic table INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE. More...
 
static int i_s_fts_index_table_init (void *p)
 Bind the dynamic table INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE. More...
 
static int i_s_fts_config_fill (THD *thd, Table_ref *tables, Item *)
 Fill the dynamic table INFORMATION_SCHEMA.INNODB_FT_CONFIG. More...
 
static int i_s_fts_config_init (void *p)
 Bind the dynamic table INFORMATION_SCHEMA.INNODB_FT_CONFIG. More...
 
static int i_s_innodb_temp_table_info_fill (THD *thd, Table_ref *tables, const temp_table_info_t *info)
 Fill Information Schema table INNODB_TEMP_TABLE_INFO for a particular temp-table. More...
 
static void innodb_temp_table_populate_cache (const dict_table_t *table, temp_table_info_t *cache)
 Populate current table information to cache. More...
 
static int i_s_innodb_temp_table_info_fill_table (THD *thd, Table_ref *tables, Item *)
 This function will iterate over all available table and will fill stats for temp-tables to INNODB_TEMP_TABLE_INFO. More...
 
static int i_s_innodb_temp_table_info_init (void *p)
 Bind the dynamic table INFORMATION_SCHEMA.INNODB_TEMP_TABLE_INFO. More...
 
static int i_s_innodb_stats_fill (THD *thd, Table_ref *tables, const buf_pool_info_t *info)
 Fill Information Schema table INNODB_BUFFER_POOL_STATS for a particular buffer pool. More...
 
static int i_s_innodb_buffer_stats_fill_table (THD *thd, Table_ref *tables, Item *)
 This is the function that loops through each buffer pool and fetch buffer pool stats to information schema table: I_S_INNODB_BUFFER_POOL_STATS. More...
 
static int i_s_innodb_buffer_pool_stats_init (void *p)
 Bind the dynamic table INFORMATION_SCHEMA.INNODB_BUFFER_POOL_STATS. More...
 
static int i_s_innodb_buffer_page_fill (THD *thd, Table_ref *tables, const buf_page_info_t *info_array, ulint num_page)
 Fill Information Schema table INNODB_BUFFER_PAGE with information cached in the buf_page_info_t array. More...
 
static void i_s_innodb_set_page_type (buf_page_info_t *page_info, ulint page_type, const byte *frame)
 Set appropriate page type to a buf_page_info_t structure. More...
 
static void i_s_innodb_buffer_page_get_info (const buf_page_t *bpage, ulint pool_id, ulint pos, buf_page_info_t *page_info)
 Scans pages in the buffer cache, and collect their general information into the buf_page_info_t array which is zero-filled. More...
 
static int i_s_innodb_fill_buffer_pool (THD *thd, Table_ref *tables, buf_pool_t *buf_pool, const ulint pool_id)
 This is the function that goes through each block of the buffer pool and fetch information to information schema tables: INNODB_BUFFER_PAGE. More...
 
static int i_s_innodb_buffer_page_fill_table (THD *thd, Table_ref *tables, Item *)
 Fill page information for pages in InnoDB buffer pool to the dynamic table INFORMATION_SCHEMA.INNODB_BUFFER_PAGE. More...
 
static int i_s_innodb_buffer_page_init (void *p)
 Bind the dynamic table INFORMATION_SCHEMA.INNODB_BUFFER_PAGE. More...
 
static int i_s_innodb_buf_page_lru_fill (THD *thd, Table_ref *tables, const buf_page_info_t *info_array, ulint num_page)
 Fill Information Schema table INNODB_BUFFER_PAGE_LRU with information cached in the buf_page_info_t array. More...
 
static int i_s_innodb_fill_buffer_lru (THD *thd, Table_ref *tables, buf_pool_t *buf_pool, const ulint pool_id)
 This is the function that goes through buffer pool's LRU list and fetch information to INFORMATION_SCHEMA.INNODB_BUFFER_PAGE_LRU. More...
 
static int i_s_innodb_buf_page_lru_fill_table (THD *thd, Table_ref *tables, Item *)
 Fill page information for pages in InnoDB buffer pool to the dynamic table INFORMATION_SCHEMA.INNODB_BUFFER_PAGE_LRU. More...
 
static int i_s_innodb_buffer_page_lru_init (void *p)
 Bind the dynamic table INFORMATION_SCHEMA.INNODB_BUFFER_PAGE_LRU. More...
 
static int i_s_dict_fill_innodb_tables (THD *thd, dict_table_t *table, TABLE *table_to_fill)
 Populate information_schema.innodb_tables table with information from INNODB_TABLES. More...
 
static int i_s_innodb_tables_fill_table (THD *thd, Table_ref *tables, Item *)
 Function to go through each record in INNODB_TABLES table, and fill the information_schema.innodb_tables table with related table information. More...
 
static int innodb_tables_init (void *p)
 Bind the dynamic table INFORMATION_SCHEMA.innodb_tables. More...
 
static int i_s_dict_fill_innodb_tablestats (THD *thd, dict_table_t *table, ulint ref_count, TABLE *table_to_fill)
 Populate information_schema.innodb_tablestats table with information from INNODB_TABLES. More...
 
static int i_s_innodb_tables_fill_table_stats (THD *thd, Table_ref *tables, Item *)
 Function to go through each record in INNODB_TABLES table, and fill the information_schema.innodb_tablestats table with table statistics related information. More...
 
static int innodb_tablestats_init (void *p)
 Bind the dynamic table INFORMATION_SCHEMA.innodb_tablestats. More...
 
static int i_s_dict_fill_innodb_indexes (THD *thd, const dict_index_t *index, TABLE *table_to_fill)
 Function to populate the information_schema.innodb_indexes table with collected index information. More...
 
static int i_s_innodb_indexes_fill_table (THD *thd, Table_ref *tables, Item *)
 Function to go through each record in INNODB_INDEXES table, and fill the information_schema.innodb_indexes table with related index information. More...
 
static int innodb_indexes_init (void *p)
 Bind the dynamic table INFORMATION_SCHEMA.innodb_indexes. More...
 
static int field_blob_store (Field *field, dict_col_default_t *default_val)
 Function to fill the BLOB value for column default value. More...
 
static int i_s_dict_fill_innodb_columns (THD *thd, table_id_t table_id, const char *col_name, dict_col_t *column, ulint nth_v_col, TABLE *table_to_fill)
 Function to populate the information_schema.innodb_columns with related column information. More...
 
static void process_rows (THD *thd, Table_ref *tables, const rec_t *rec, dict_table_t *dd_table, btr_pcur_t &pcur, mtr_t &mtr, mem_heap_t *heap, bool is_partition)
 
static int i_s_innodb_columns_fill_table (THD *thd, Table_ref *tables, Item *)
 Function to fill information_schema.innodb_columns with information collected by scanning INNODB_COLUMNS table. More...
 
static int innodb_columns_init (void *p)
 Bind the dynamic table INFORMATION_SCHEMA.innodb_columns. More...
 
static int i_s_dict_fill_innodb_virtual (THD *thd, table_id_t table_id, ulint pos, ulint base_pos, TABLE *table_to_fill)
 Function to populate the information_schema.innodb_virtual with related information param[in] thd thread param[in] table_id table ID param[in] pos virtual column position param[in] base_pos base column position param[in,out] table_to_fill fill this table. More...
 
static int i_s_innodb_virtual_fill_table (THD *thd, Table_ref *tables, Item *)
 Function to fill information_schema.innodb_virtual with information collected by scanning INNODB_VIRTUAL table. More...
 
static int innodb_virtual_init (void *p)
 Bind the dynamic table INFORMATION_SCHEMA.innodb_virtual param[in,out] p table schema object. More...
 
static int i_s_dict_fill_innodb_tablespaces (THD *thd, space_id_t space_id, const char *name, uint32_t flags, uint32_t server_version, uint32_t space_version, bool is_encrypted, uint64_t autoextend_size, const char *state, TABLE *table_to_fill)
 Function to fill INFORMATION_SCHEMA.INNODB_TABLESPACES with information collected by scanning INNODB_TABLESPACESS table. More...
 
static int i_s_innodb_tablespaces_fill_table (THD *thd, Table_ref *tables, Item *)
 Function to populate INFORMATION_SCHEMA.INNODB_TABLESPACES table. More...
 
static int innodb_tablespaces_init (void *p)
 Bind the dynamic table INFORMATION_SCHEMA.INNODB_TABLESPACES. More...
 
static int i_s_fill_innodb_cached_indexes_row (THD *thd, space_id_t space_id, ulint index_id, TABLE *table_to_fill)
 Populate INFORMATION_SCHEMA.INNODB_CACHED_INDEXES. More...
 
static int i_s_innodb_cached_indexes_fill_table (THD *thd, Table_ref *tables, Item *)
 Go through each record in INNODB_INDEXES, and fill INFORMATION_SCHEMA.INNODB_CACHED_INDEXES. More...
 
static int innodb_cached_indexes_init (void *p)
 Bind the dynamic table INFORMATION_SCHEMA.INNODB_CACHED_INDEXES. More...
 
static int i_s_innodb_session_temp_tablespaces_fill_one (THD *thd, const ibt::Tablespace *ts, TABLE *table_to_fill)
 Function to fill INFORMATION_SCHEMA.INNODB_SESSION_TEMPORARY_TABLESPACES. More...
 
static int i_s_innodb_session_temp_tablespaces_fill (THD *thd, Table_ref *tables, Item *)
 Function to populate INFORMATION_SCHEMA.INNODB_SESSION_TEMPORARY_TABLESPACES table. More...
 
static int innodb_session_temp_tablespaces_init (void *p)
 Bind the dynamic table INFORMATION_SCHEMA.INNODB_SESSION_TEMPORARY_TABLESPACES. More...
 

Variables

mysql_mutex_t LOCK_global_system_variables
 
constexpr char plugin_author [] = PLUGIN_AUTHOR_ORACLE
 
constexpr size_t I_S_PAGE_TYPE_INDEX = 1
 We also define I_S_PAGE_TYPE_INDEX as the Index Page's position in i_s_page_type[] array. More...
 
constexpr auto I_S_PAGE_TYPE_UNKNOWN = FIL_PAGE_TYPE_UNKNOWN
 Any unassigned FIL_PAGE_TYPE will be treated as unknown. More...
 
constexpr auto I_S_PAGE_TYPE_RTREE = (FIL_PAGE_TYPE_LAST + 1)
 R-tree index page. More...
 
constexpr auto I_S_PAGE_TYPE_IBUF = (FIL_PAGE_TYPE_LAST + 2)
 Change buffer B-tree page. More...
 
constexpr auto I_S_PAGE_TYPE_SDI = (FIL_PAGE_TYPE_LAST + 3)
 SDI B-tree page. More...
 
constexpr auto I_S_PAGE_TYPE_LAST = I_S_PAGE_TYPE_SDI
 
constexpr auto I_S_PAGE_TYPE_BITS = 6
 
constexpr uint8_t i_s_innodb_plugin_version_postfix = 2
 I_S.innodb_* views version postfix. More...
 
constexpr uint64_t i_s_innodb_plugin_version
 I_S.innodb_* views version. More...
 
static buf_page_desc_t i_s_page_type []
 Name string for File Page Types. More...
 
const ulint MAX_BUF_INFO_CACHED = 10000
 Maximum number of buffer page info we would cache. More...
 
static ST_FIELD_INFO innodb_trx_fields_info []
 
static struct st_mysql_information_schema i_s_info
 
struct st_mysql_plugin i_s_innodb_trx
 
static ST_FIELD_INFO i_s_cmp_fields_info []
 
struct st_mysql_plugin i_s_innodb_cmp
 
struct st_mysql_plugin i_s_innodb_cmp_reset
 
static ST_FIELD_INFO i_s_cmp_per_index_fields_info []
 
struct st_mysql_plugin i_s_innodb_cmp_per_index
 
struct st_mysql_plugin i_s_innodb_cmp_per_index_reset
 
static ST_FIELD_INFO i_s_cmpmem_fields_info []
 
struct st_mysql_plugin i_s_innodb_cmpmem
 
struct st_mysql_plugin i_s_innodb_cmpmem_reset
 
static ST_FIELD_INFO innodb_metrics_fields_info []
 
struct st_mysql_plugin i_s_innodb_metrics
 
static ST_FIELD_INFO i_s_stopword_fields_info []
 
struct st_mysql_plugin i_s_innodb_ft_default_stopword
 
static ST_FIELD_INFO i_s_fts_doc_fields_info []
 
struct st_mysql_plugin i_s_innodb_ft_deleted
 
struct st_mysql_plugin i_s_innodb_ft_being_deleted
 
static ST_FIELD_INFO i_s_fts_index_fields_info []
 
struct st_mysql_plugin i_s_innodb_ft_index_cache
 
struct st_mysql_plugin i_s_innodb_ft_index_table
 
static ST_FIELD_INFO i_s_fts_config_fields_info []
 
static const char * fts_config_key []
 
struct st_mysql_plugin i_s_innodb_ft_config
 
static ST_FIELD_INFO i_s_innodb_temp_table_info_fields_info []
 
struct st_mysql_plugin i_s_innodb_temp_table_info
 
static ST_FIELD_INFO i_s_innodb_buffer_stats_fields_info []
 
struct st_mysql_plugin i_s_innodb_buffer_stats
 
static ST_FIELD_INFO i_s_innodb_buffer_page_fields_info []
 
struct st_mysql_plugin i_s_innodb_buffer_page
 
static ST_FIELD_INFO i_s_innodb_buf_page_lru_fields_info []
 
struct st_mysql_plugin i_s_innodb_buffer_page_lru
 
static ST_FIELD_INFO innodb_tables_fields_info []
 INNODB_TABLES
More...
 
struct st_mysql_plugin i_s_innodb_tables
 
static ST_FIELD_INFO innodb_tablestats_fields_info []
 INNODB_TABLESTATS
More...
 
struct st_mysql_plugin i_s_innodb_tablestats
 
static ST_FIELD_INFO innodb_sysindex_fields_info []
 INNODB_INDEXES
More...
 
struct st_mysql_plugin i_s_innodb_indexes
 
static ST_FIELD_INFO innodb_columns_fields_info []
 INNODB_COLUMNS
More...
 
struct st_mysql_plugin i_s_innodb_columns
 
static ST_FIELD_INFO innodb_virtual_fields_info []
 INNODB_VIRTUAL. More...
 
struct st_mysql_plugin i_s_innodb_virtual
 
static ST_FIELD_INFO innodb_tablespaces_fields_info []
 INNODB_TABLESPACES
More...
 
struct st_mysql_plugin i_s_innodb_tablespaces
 
static ST_FIELD_INFO innodb_cached_indexes_fields_info []
 INFORMATION_SCHEMA.INNODB_CACHED_INDEXES. More...
 
struct st_mysql_plugin i_s_innodb_cached_indexes
 
static ST_FIELD_INFO innodb_session_temp_tablespaces_fields_info []
 INNODB_SESSION_TEMPORARY TABLESPACES
More...
 
struct st_mysql_plugin i_s_innodb_session_temp_tablespaces
 

Detailed Description

InnoDB INFORMATION SCHEMA tables interface to MySQL.

Created July 18, 2007 Vasil Dimov

Macro Definition Documentation

◆ CACHED_INDEXES_INDEX_ID

#define CACHED_INDEXES_INDEX_ID   1

◆ CACHED_INDEXES_N_CACHED_PAGES

#define CACHED_INDEXES_N_CACHED_PAGES   2

◆ CACHED_INDEXES_SPACE_ID

#define CACHED_INDEXES_SPACE_ID   0

◆ END_OF_ST_FIELD_INFO

#define END_OF_ST_FIELD_INFO
Value:
{ \
STRUCT_FLD(field_name, NULL), STRUCT_FLD(field_length, 0), \
STRUCT_FLD(field_type, MYSQL_TYPE_NULL), STRUCT_FLD(value, 0), \
STRUCT_FLD(field_flags, 0), STRUCT_FLD(old_name, ""), \
STRUCT_FLD(open_method, 0) \
}
@ MYSQL_TYPE_NULL
Definition: field_types.h:62
#define STRUCT_FLD(name, value)
Definition: i_s.cc:225
#define NULL
Definition: types.h:55

◆ FTS_CONFIG_KEY

#define FTS_CONFIG_KEY   0

◆ FTS_CONFIG_VALUE

#define FTS_CONFIG_VALUE   1

◆ I_S_FTS_DOC_COUNT

#define I_S_FTS_DOC_COUNT   3

◆ I_S_FTS_DOC_ID

#define I_S_FTS_DOC_ID   0

◆ I_S_FTS_FIRST_DOC_ID

#define I_S_FTS_FIRST_DOC_ID   1

◆ I_S_FTS_ILIST_DOC_ID

#define I_S_FTS_ILIST_DOC_ID   4

◆ I_S_FTS_ILIST_DOC_POS

#define I_S_FTS_ILIST_DOC_POS   5

◆ I_S_FTS_LAST_DOC_ID

#define I_S_FTS_LAST_DOC_ID   2

◆ I_S_FTS_WORD

#define I_S_FTS_WORD   0

◆ IDX_BUF_LRU_PAGE_ACCESS_TIME

#define IDX_BUF_LRU_PAGE_ACCESS_TIME   10

◆ IDX_BUF_LRU_PAGE_DATA_SIZE

#define IDX_BUF_LRU_PAGE_DATA_SIZE   14

◆ IDX_BUF_LRU_PAGE_FIX_COUNT

#define IDX_BUF_LRU_PAGE_FIX_COUNT   6

◆ IDX_BUF_LRU_PAGE_FLUSH_TYPE

#define IDX_BUF_LRU_PAGE_FLUSH_TYPE   5

◆ IDX_BUF_LRU_PAGE_FREE_CLOCK

#define IDX_BUF_LRU_PAGE_FREE_CLOCK   19

◆ IDX_BUF_LRU_PAGE_HASHED

#define IDX_BUF_LRU_PAGE_HASHED   7

◆ IDX_BUF_LRU_PAGE_INDEX_NAME

#define IDX_BUF_LRU_PAGE_INDEX_NAME   12

◆ IDX_BUF_LRU_PAGE_IO_FIX

#define IDX_BUF_LRU_PAGE_IO_FIX   17

◆ IDX_BUF_LRU_PAGE_IS_OLD

#define IDX_BUF_LRU_PAGE_IS_OLD   18

◆ IDX_BUF_LRU_PAGE_NEWEST_MOD

#define IDX_BUF_LRU_PAGE_NEWEST_MOD   8

◆ IDX_BUF_LRU_PAGE_NUM

#define IDX_BUF_LRU_PAGE_NUM   3

◆ IDX_BUF_LRU_PAGE_NUM_RECS

#define IDX_BUF_LRU_PAGE_NUM_RECS   13

◆ IDX_BUF_LRU_PAGE_OLDEST_MOD

#define IDX_BUF_LRU_PAGE_OLDEST_MOD   9

◆ IDX_BUF_LRU_PAGE_SPACE

#define IDX_BUF_LRU_PAGE_SPACE   2

◆ IDX_BUF_LRU_PAGE_STATE

#define IDX_BUF_LRU_PAGE_STATE   16

◆ IDX_BUF_LRU_PAGE_TABLE_NAME

#define IDX_BUF_LRU_PAGE_TABLE_NAME   11

◆ IDX_BUF_LRU_PAGE_TYPE

#define IDX_BUF_LRU_PAGE_TYPE   4

◆ IDX_BUF_LRU_PAGE_ZIP_SIZE

#define IDX_BUF_LRU_PAGE_ZIP_SIZE   15

◆ IDX_BUF_LRU_POOL_ID

#define IDX_BUF_LRU_POOL_ID   0

◆ IDX_BUF_LRU_POS

#define IDX_BUF_LRU_POS   1

◆ IDX_BUF_STATS_FLUSH_LIST

#define IDX_BUF_STATS_FLUSH_LIST   9

◆ IDX_BUF_STATS_FLUSH_LIST_LEN

#define IDX_BUF_STATS_FLUSH_LIST_LEN   5

◆ IDX_BUF_STATS_FLUSH_LRU

#define IDX_BUF_STATS_FLUSH_LRU   8

◆ IDX_BUF_STATS_FREE_BUFFERS

#define IDX_BUF_STATS_FREE_BUFFERS   2

◆ IDX_BUF_STATS_GET

#define IDX_BUF_STATS_GET   20

◆ IDX_BUF_STATS_HIT_RATE

#define IDX_BUF_STATS_HIT_RATE   21

◆ IDX_BUF_STATS_LRU_IO_CUR

#define IDX_BUF_STATS_LRU_IO_CUR   29

◆ IDX_BUF_STATS_LRU_IO_SUM

#define IDX_BUF_STATS_LRU_IO_SUM   28

◆ IDX_BUF_STATS_LRU_LEN

#define IDX_BUF_STATS_LRU_LEN   3

◆ IDX_BUF_STATS_MADE_YOUNG_PCT

#define IDX_BUF_STATS_MADE_YOUNG_PCT   22

◆ IDX_BUF_STATS_NOT_MADE_YOUNG_PCT

#define IDX_BUF_STATS_NOT_MADE_YOUNG_PCT   23

◆ IDX_BUF_STATS_OLD_LRU_LEN

#define IDX_BUF_STATS_OLD_LRU_LEN   4

◆ IDX_BUF_STATS_PAGE_CREATE_RATE

#define IDX_BUF_STATS_PAGE_CREATE_RATE   18

◆ IDX_BUF_STATS_PAGE_CREATED

#define IDX_BUF_STATS_PAGE_CREATED   15

◆ IDX_BUF_STATS_PAGE_NOT_YOUNG

#define IDX_BUF_STATS_PAGE_NOT_YOUNG   11

◆ IDX_BUF_STATS_PAGE_NOT_YOUNG_RATE

#define IDX_BUF_STATS_PAGE_NOT_YOUNG_RATE   13

◆ IDX_BUF_STATS_PAGE_READ

#define IDX_BUF_STATS_PAGE_READ   14

◆ IDX_BUF_STATS_PAGE_READ_RATE

#define IDX_BUF_STATS_PAGE_READ_RATE   17

◆ IDX_BUF_STATS_PAGE_WRITTEN

#define IDX_BUF_STATS_PAGE_WRITTEN   16

◆ IDX_BUF_STATS_PAGE_WRITTEN_RATE

#define IDX_BUF_STATS_PAGE_WRITTEN_RATE   19

◆ IDX_BUF_STATS_PAGE_YOUNG

#define IDX_BUF_STATS_PAGE_YOUNG   10

◆ IDX_BUF_STATS_PAGE_YOUNG_RATE

#define IDX_BUF_STATS_PAGE_YOUNG_RATE   12

◆ IDX_BUF_STATS_PENDING_READ

#define IDX_BUF_STATS_PENDING_READ   7

◆ IDX_BUF_STATS_PENDING_ZIP

#define IDX_BUF_STATS_PENDING_ZIP   6

◆ IDX_BUF_STATS_POOL_ID

#define IDX_BUF_STATS_POOL_ID   0

◆ IDX_BUF_STATS_POOL_SIZE

#define IDX_BUF_STATS_POOL_SIZE   1

◆ IDX_BUF_STATS_READ_AHEAD_EVICT_RATE

#define IDX_BUF_STATS_READ_AHEAD_EVICT_RATE   27

◆ IDX_BUF_STATS_READ_AHEAD_EVICTED

#define IDX_BUF_STATS_READ_AHEAD_EVICTED   25

◆ IDX_BUF_STATS_READ_AHEAD_RATE

#define IDX_BUF_STATS_READ_AHEAD_RATE   26

◆ IDX_BUF_STATS_READ_AHREAD

#define IDX_BUF_STATS_READ_AHREAD   24

◆ IDX_BUF_STATS_UNZIP_CUR

#define IDX_BUF_STATS_UNZIP_CUR   31

◆ IDX_BUF_STATS_UNZIP_SUM

#define IDX_BUF_STATS_UNZIP_SUM   30

◆ IDX_BUFFER_BLOCK_ID

#define IDX_BUFFER_BLOCK_ID   1

◆ IDX_BUFFER_PAGE_ACCESS_TIME

#define IDX_BUFFER_PAGE_ACCESS_TIME   10

◆ IDX_BUFFER_PAGE_DATA_SIZE

#define IDX_BUFFER_PAGE_DATA_SIZE   14

◆ IDX_BUFFER_PAGE_FIX_COUNT

#define IDX_BUFFER_PAGE_FIX_COUNT   6

◆ IDX_BUFFER_PAGE_FLUSH_TYPE

#define IDX_BUFFER_PAGE_FLUSH_TYPE   5

◆ IDX_BUFFER_PAGE_FREE_CLOCK

#define IDX_BUFFER_PAGE_FREE_CLOCK   19

◆ IDX_BUFFER_PAGE_HASHED

#define IDX_BUFFER_PAGE_HASHED   7

◆ IDX_BUFFER_PAGE_INDEX_NAME

#define IDX_BUFFER_PAGE_INDEX_NAME   12

◆ IDX_BUFFER_PAGE_IO_FIX

#define IDX_BUFFER_PAGE_IO_FIX   17

◆ IDX_BUFFER_PAGE_IS_OLD

#define IDX_BUFFER_PAGE_IS_OLD   18

◆ IDX_BUFFER_PAGE_IS_STALE

#define IDX_BUFFER_PAGE_IS_STALE   20

◆ IDX_BUFFER_PAGE_NEWEST_MOD

#define IDX_BUFFER_PAGE_NEWEST_MOD   8

◆ IDX_BUFFER_PAGE_NUM

#define IDX_BUFFER_PAGE_NUM   3

◆ IDX_BUFFER_PAGE_NUM_RECS

#define IDX_BUFFER_PAGE_NUM_RECS   13

◆ IDX_BUFFER_PAGE_OLDEST_MOD

#define IDX_BUFFER_PAGE_OLDEST_MOD   9

◆ IDX_BUFFER_PAGE_SPACE

#define IDX_BUFFER_PAGE_SPACE   2

◆ IDX_BUFFER_PAGE_STATE

#define IDX_BUFFER_PAGE_STATE   16

◆ IDX_BUFFER_PAGE_TABLE_NAME

#define IDX_BUFFER_PAGE_TABLE_NAME   11

◆ IDX_BUFFER_PAGE_TYPE

#define IDX_BUFFER_PAGE_TYPE   4

◆ IDX_BUFFER_PAGE_ZIP_SIZE

#define IDX_BUFFER_PAGE_ZIP_SIZE   15

◆ IDX_BUFFER_POOL_ID

#define IDX_BUFFER_POOL_ID   0

◆ IDX_COMPRESS_OPS

#define IDX_COMPRESS_OPS   3

◆ IDX_COMPRESS_OPS_OK

#define IDX_COMPRESS_OPS_OK   4

◆ IDX_COMPRESS_TIME

#define IDX_COMPRESS_TIME   5

◆ IDX_DATABASE_NAME

#define IDX_DATABASE_NAME   0

◆ IDX_INDEX_NAME

#define IDX_INDEX_NAME   2

◆ IDX_TABLE_NAME

#define IDX_TABLE_NAME   1

◆ IDX_TEMP_TABLE_ID

#define IDX_TEMP_TABLE_ID   0

◆ IDX_TEMP_TABLE_N_COLS

#define IDX_TEMP_TABLE_N_COLS   2

◆ IDX_TEMP_TABLE_NAME

#define IDX_TEMP_TABLE_NAME   1

◆ IDX_TEMP_TABLE_SPACE_ID

#define IDX_TEMP_TABLE_SPACE_ID   3

◆ IDX_TRX_ADAPTIVE_HASH_LATCHED

#define IDX_TRX_ADAPTIVE_HASH_LATCHED   20

◆ IDX_TRX_ADAPTIVE_HASH_TIMEOUT

#define IDX_TRX_ADAPTIVE_HASH_TIMEOUT   21

◆ IDX_TRX_AUTOCOMMIT_NON_LOCKING

#define IDX_TRX_AUTOCOMMIT_NON_LOCKING   23

◆ IDX_TRX_CONNCURRENCY_TICKETS

#define IDX_TRX_CONNCURRENCY_TICKETS   15

◆ IDX_TRX_FOREIGN_KEY_CHECKS

#define IDX_TRX_FOREIGN_KEY_CHECKS   18

◆ IDX_TRX_ID

#define IDX_TRX_ID   0

◆ IDX_TRX_ISOLATION_LEVEL

#define IDX_TRX_ISOLATION_LEVEL   16

◆ IDX_TRX_LAST_FOREIGN_KEY_ERROR

#define IDX_TRX_LAST_FOREIGN_KEY_ERROR   19

◆ IDX_TRX_LOCK_MEMORY_BYTES

#define IDX_TRX_LOCK_MEMORY_BYTES   12

◆ IDX_TRX_LOCK_STRUCTS

#define IDX_TRX_LOCK_STRUCTS   11

◆ IDX_TRX_MYSQL_THREAD_ID

#define IDX_TRX_MYSQL_THREAD_ID   6

◆ IDX_TRX_OPERATION_STATE

#define IDX_TRX_OPERATION_STATE   8

◆ IDX_TRX_QUERY

#define IDX_TRX_QUERY   7

◆ IDX_TRX_READ_ONLY

#define IDX_TRX_READ_ONLY   22

◆ IDX_TRX_REQUESTED_LOCK_ID

#define IDX_TRX_REQUESTED_LOCK_ID   3

◆ IDX_TRX_ROWS_LOCKED

#define IDX_TRX_ROWS_LOCKED   13

◆ IDX_TRX_ROWS_MODIFIED

#define IDX_TRX_ROWS_MODIFIED   14

◆ IDX_TRX_SCHEDULE_WEIGHT

#define IDX_TRX_SCHEDULE_WEIGHT   24

◆ IDX_TRX_STARTED

#define IDX_TRX_STARTED   2

◆ IDX_TRX_STATE

#define IDX_TRX_STATE   1

◆ IDX_TRX_TABLES_IN_USE

#define IDX_TRX_TABLES_IN_USE   9

◆ IDX_TRX_TABLES_LOCKED

#define IDX_TRX_TABLES_LOCKED   10

◆ IDX_TRX_UNIQUE_CHECKS

#define IDX_TRX_UNIQUE_CHECKS   17

◆ IDX_TRX_WAIT_STARTED

#define IDX_TRX_WAIT_STARTED   4

◆ IDX_TRX_WEIGHT

#define IDX_TRX_WEIGHT   5

◆ IDX_UNCOMPRESS_OPS

#define IDX_UNCOMPRESS_OPS   6

◆ IDX_UNCOMPRESS_TIME

#define IDX_UNCOMPRESS_TIME   7

◆ INNODB_SESSION_TEMP_TABLESPACES_ID

#define INNODB_SESSION_TEMP_TABLESPACES_ID   0

◆ INNODB_SESSION_TEMP_TABLESPACES_PATH

#define INNODB_SESSION_TEMP_TABLESPACES_PATH   2

◆ INNODB_SESSION_TEMP_TABLESPACES_PURPOSE

#define INNODB_SESSION_TEMP_TABLESPACES_PURPOSE   5

◆ INNODB_SESSION_TEMP_TABLESPACES_SIZE

#define INNODB_SESSION_TEMP_TABLESPACES_SIZE   3

◆ INNODB_SESSION_TEMP_TABLESPACES_SPACE

#define INNODB_SESSION_TEMP_TABLESPACES_SPACE   1

◆ INNODB_SESSION_TEMP_TABLESPACES_STATE

#define INNODB_SESSION_TEMP_TABLESPACES_STATE   4

◆ INNODB_TABLES_CURRENT_COLUMN_COUNTS

#define INNODB_TABLES_CURRENT_COLUMN_COUNTS   11

◆ INNODB_TABLES_FLAG

#define INNODB_TABLES_FLAG   2

◆ INNODB_TABLES_ID

#define INNODB_TABLES_ID   0

◆ INNODB_TABLES_INITIAL_COLUMN_COUNTS

#define INNODB_TABLES_INITIAL_COLUMN_COUNTS   10

◆ INNODB_TABLES_INSTANT_COLS

#define INNODB_TABLES_INSTANT_COLS   8

◆ INNODB_TABLES_NAME

#define INNODB_TABLES_NAME   1

◆ INNODB_TABLES_NUM_COLUMN

#define INNODB_TABLES_NUM_COLUMN   3

◆ INNODB_TABLES_ROW_FORMAT

#define INNODB_TABLES_ROW_FORMAT   5

◆ INNODB_TABLES_SPACE

#define INNODB_TABLES_SPACE   4

◆ INNODB_TABLES_SPACE_TYPE

#define INNODB_TABLES_SPACE_TYPE   7

◆ INNODB_TABLES_TOTAL_COLUMN_COUNTS

#define INNODB_TABLES_TOTAL_COLUMN_COUNTS   12

◆ INNODB_TABLES_TOTAL_ROW_VERSIONS

#define INNODB_TABLES_TOTAL_ROW_VERSIONS   9

◆ INNODB_TABLES_ZIP_PAGE_SIZE

#define INNODB_TABLES_ZIP_PAGE_SIZE   6

◆ INNODB_TABLESPACES_ALLOC_SIZE

#define INNODB_TABLESPACES_ALLOC_SIZE   9

◆ INNODB_TABLESPACES_AUTOEXTEND_SIZE

#define INNODB_TABLESPACES_AUTOEXTEND_SIZE   10

◆ INNODB_TABLESPACES_ENCRYPTION

#define INNODB_TABLESPACES_ENCRYPTION   13

◆ INNODB_TABLESPACES_FILE_SIZE

#define INNODB_TABLESPACES_FILE_SIZE   8

◆ INNODB_TABLESPACES_FLAGS

#define INNODB_TABLESPACES_FLAGS   2

◆ INNODB_TABLESPACES_FS_BLOCK_SIZE

#define INNODB_TABLESPACES_FS_BLOCK_SIZE   7

◆ INNODB_TABLESPACES_NAME

#define INNODB_TABLESPACES_NAME   1

◆ INNODB_TABLESPACES_PAGE_SIZE

#define INNODB_TABLESPACES_PAGE_SIZE   4

◆ INNODB_TABLESPACES_ROW_FORMAT

#define INNODB_TABLESPACES_ROW_FORMAT   3

◆ INNODB_TABLESPACES_SERVER_VERSION

#define INNODB_TABLESPACES_SERVER_VERSION   11

◆ INNODB_TABLESPACES_SPACE

#define INNODB_TABLESPACES_SPACE   0

◆ INNODB_TABLESPACES_SPACE_TYPE

#define INNODB_TABLESPACES_SPACE_TYPE   6

◆ INNODB_TABLESPACES_SPACE_VERSION

#define INNODB_TABLESPACES_SPACE_VERSION   12

◆ INNODB_TABLESPACES_STATE

#define INNODB_TABLESPACES_STATE   14

◆ INNODB_TABLESPACES_ZIP_PAGE_SIZE

#define INNODB_TABLESPACES_ZIP_PAGE_SIZE   5

◆ INNODB_TABLESTATS_AUTONINC

#define INNODB_TABLESTATS_AUTONINC   7

◆ INNODB_TABLESTATS_CLUST_SIZE

#define INNODB_TABLESTATS_CLUST_SIZE   4

◆ INNODB_TABLESTATS_ID

#define INNODB_TABLESTATS_ID   0

◆ INNODB_TABLESTATS_INDEX_SIZE

#define INNODB_TABLESTATS_INDEX_SIZE   5

◆ INNODB_TABLESTATS_INIT

#define INNODB_TABLESTATS_INIT   2

◆ INNODB_TABLESTATS_MODIFIED

#define INNODB_TABLESTATS_MODIFIED   6

◆ INNODB_TABLESTATS_NAME

#define INNODB_TABLESTATS_NAME   1

◆ INNODB_TABLESTATS_NROW

#define INNODB_TABLESTATS_NROW   3

◆ INNODB_TABLESTATS_TABLE_REF_COUNT

#define INNODB_TABLESTATS_TABLE_REF_COUNT   8

◆ INNODB_VIRTUAL_BASE_POS

#define INNODB_VIRTUAL_BASE_POS   2

◆ INNODB_VIRTUAL_POS

#define INNODB_VIRTUAL_POS   1

◆ INNODB_VIRTUAL_TABLE_ID

#define INNODB_VIRTUAL_TABLE_ID   0

◆ METRIC_AVG_VALUE_RESET

#define METRIC_AVG_VALUE_RESET   9

◆ METRIC_AVG_VALUE_START

#define METRIC_AVG_VALUE_START   5

◆ METRIC_DESC

#define METRIC_DESC   16

◆ METRIC_MAX_VALUE_RESET

#define METRIC_MAX_VALUE_RESET   7

◆ METRIC_MAX_VALUE_START

#define METRIC_MAX_VALUE_START   3

◆ METRIC_MIN_VALUE_RESET

#define METRIC_MIN_VALUE_RESET   8

◆ METRIC_MIN_VALUE_START

#define METRIC_MIN_VALUE_START   4

◆ METRIC_NAME

#define METRIC_NAME   0

◆ METRIC_RESET_TIME

#define METRIC_RESET_TIME   13

◆ METRIC_START_TIME

#define METRIC_START_TIME   10

◆ METRIC_STATUS

#define METRIC_STATUS   14

◆ METRIC_STOP_TIME

#define METRIC_STOP_TIME   11

◆ METRIC_SUBSYS

#define METRIC_SUBSYS   1

◆ METRIC_TIME_ELAPSED

#define METRIC_TIME_ELAPSED   12

◆ METRIC_TYPE

#define METRIC_TYPE   15

◆ METRIC_VALUE_RESET

#define METRIC_VALUE_RESET   6

◆ METRIC_VALUE_START

#define METRIC_VALUE_START   2

◆ OK

#define OK (   expr)
Value:
if ((expr) != 0) { \
return 1; \
}

◆ STOPWORD_VALUE

#define STOPWORD_VALUE   0

◆ STRUCT_FLD

#define STRUCT_FLD (   name,
  value 
)    value

◆ SYS_COLUMN__PRTYPE

#define SYS_COLUMN__PRTYPE   4

◆ SYS_COLUMN_COLUMN_LEN

#define SYS_COLUMN_COLUMN_LEN   5

◆ SYS_COLUMN_DEFAULT_VALUE

#define SYS_COLUMN_DEFAULT_VALUE   7

◆ SYS_COLUMN_HAS_DEFAULT

#define SYS_COLUMN_HAS_DEFAULT   6

◆ SYS_COLUMN_MTYPE

#define SYS_COLUMN_MTYPE   3

◆ SYS_COLUMN_NAME

#define SYS_COLUMN_NAME   1

◆ SYS_COLUMN_PHYSICAL_POS

#define SYS_COLUMN_PHYSICAL_POS   10

◆ SYS_COLUMN_POSITION

#define SYS_COLUMN_POSITION   2

◆ SYS_COLUMN_TABLE_ID

#define SYS_COLUMN_TABLE_ID   0

◆ SYS_COLUMN_VERSION_ADDED

#define SYS_COLUMN_VERSION_ADDED   8

◆ SYS_COLUMN_VERSION_DROPPED

#define SYS_COLUMN_VERSION_DROPPED   9

◆ SYS_INDEX_ID

#define SYS_INDEX_ID   0

◆ SYS_INDEX_MERGE_THRESHOLD

#define SYS_INDEX_MERGE_THRESHOLD   7

◆ SYS_INDEX_NAME

#define SYS_INDEX_NAME   1

◆ SYS_INDEX_NUM_FIELDS

#define SYS_INDEX_NUM_FIELDS   4

◆ SYS_INDEX_PAGE_NO

#define SYS_INDEX_PAGE_NO   5

◆ SYS_INDEX_SPACE

#define SYS_INDEX_SPACE   6

◆ SYS_INDEX_TABLE_ID

#define SYS_INDEX_TABLE_ID   2

◆ SYS_INDEX_TYPE

#define SYS_INDEX_TYPE   3

Typedef Documentation

◆ temp_table_info_cache_t

Function Documentation

◆ field_blob_store()

static int field_blob_store ( Field field,
dict_col_default_t default_val 
)
static

Function to fill the BLOB value for column default value.

Parameters
[in,out]fieldfield to store default value
[in]default_valdefault value to fill
Returns
0 on success

◆ field_store_index_name()

static int field_store_index_name ( Field field,
const char *  index_name 
)
static

Store the name of an index in a MYSQL_TYPE_VARCHAR field.

Handles the names of incomplete secondary indexes.

Returns
0 on success
Parameters
fieldin/out: target field for storage
index_namein: NUL-terminated utf-8 index name, possibly starting with TEMP_INDEX_PREFIX

◆ field_store_string()

static int field_store_string ( Field field,
const char *  str 
)
static

Auxiliary function to store char* value in MYSQL_TYPE_STRING field.

Returns
0 on success
Parameters
fieldin/out: target field for storage
strin: NUL-terminated utf-8 string, or NULL

◆ field_store_time_t()

static int field_store_time_t ( Field field,
time_t  time 
)
static

Auxiliary function to store time_t value in MYSQL_TYPE_DATETIME field.

Returns
0 on success
Parameters
fieldin/out: target field for storage
timein: value to store

◆ fill_innodb_trx_from_cache()

static int fill_innodb_trx_from_cache ( trx_i_s_cache_t cache,
THD thd,
TABLE table 
)
static

Read data from cache buffer and fill the INFORMATION_SCHEMA.innodb_trx table with it.

Returns
0 on success
Parameters
cachein: cache to read from
thdin: used to call schema_table_store_record()
tablein/out: fill this table

◆ i_s_cmp_fill()

static int i_s_cmp_fill ( THD thd,
Table_ref tables,
Item cond 
)
static

Fill the dynamic table information_schema.innodb_cmp.

Returns
0 on success, 1 on failure
Parameters
thdin: thread
tablesin/out: tables to fill
condin: condition (ignored)

◆ i_s_cmp_fill_low()

static int i_s_cmp_fill_low ( THD thd,
Table_ref tables,
Item ,
bool  reset 
)
static

Fill the dynamic table information_schema.innodb_cmp or innodb_cmp_reset.

Returns
0 on success, 1 on failure
Parameters
thdin: thread
tablesin/out: tables to fill
resetin: true=reset cumulated counts

◆ i_s_cmp_init()

static int i_s_cmp_init ( void *  p)
static

Bind the dynamic table information_schema.innodb_cmp.

Returns
0 on success
Parameters
pin/out: table schema object

◆ i_s_cmp_per_index_fill()

static int i_s_cmp_per_index_fill ( THD thd,
Table_ref tables,
Item cond 
)
static

Fill the dynamic table information_schema.innodb_cmp_per_index.

Returns
0 on success, 1 on failure
Parameters
thdin: thread
tablesin/out: tables to fill
condin: condition (ignored)

◆ i_s_cmp_per_index_fill_low()

static int i_s_cmp_per_index_fill_low ( THD thd,
Table_ref tables,
Item ,
bool  reset 
)
static

Fill the dynamic table information_schema.innodb_cmp_per_index or information_schema.innodb_cmp_per_index_reset.

Returns
0 on success, 1 on failure
Parameters
thdin: thread
tablesin/out: tables to fill
resetin: true=reset cumulated counts

◆ i_s_cmp_per_index_init()

static int i_s_cmp_per_index_init ( void *  p)
static

Bind the dynamic table information_schema.innodb_cmp_per_index.

Returns
0 on success
Parameters
pin/out: table schema object

◆ i_s_cmp_per_index_reset_fill()

static int i_s_cmp_per_index_reset_fill ( THD thd,
Table_ref tables,
Item cond 
)
static

Fill the dynamic table information_schema.innodb_cmp_per_index_reset.

Returns
0 on success, 1 on failure
Parameters
thdin: thread
tablesin/out: tables to fill
condin: condition (ignored)

◆ i_s_cmp_per_index_reset_init()

static int i_s_cmp_per_index_reset_init ( void *  p)
static

Bind the dynamic table information_schema.innodb_cmp_per_index_reset.

Returns
0 on success
Parameters
pin/out: table schema object

◆ i_s_cmp_reset_fill()

static int i_s_cmp_reset_fill ( THD thd,
Table_ref tables,
Item cond 
)
static

Fill the dynamic table information_schema.innodb_cmp_reset.

Returns
0 on success, 1 on failure
Parameters
thdin: thread
tablesin/out: tables to fill
condin: condition (ignored)

◆ i_s_cmp_reset_init()

static int i_s_cmp_reset_init ( void *  p)
static

Bind the dynamic table information_schema.innodb_cmp_reset.

Returns
0 on success
Parameters
pin/out: table schema object

◆ i_s_cmpmem_fill()

static int i_s_cmpmem_fill ( THD thd,
Table_ref tables,
Item  
)
static

Fill the dynamic table information_schema.innodb_cmpmem.

Returns
0 on success, 1 on failure
Parameters
thdin: thread
tablesin/out: tables to fill

◆ i_s_cmpmem_fill_low()

static int i_s_cmpmem_fill_low ( THD thd,
Table_ref tables,
bool  reset 
)
static

Fill the dynamic table information_schema.innodb_cmpmem or innodb_cmpmem_reset.

Parameters
[in]thdthread
[in,out]tablestables to fill
[in]resettrue=reset cumulated counts
Returns
0 on success, 1 on failure

◆ i_s_cmpmem_init()

static int i_s_cmpmem_init ( void *  p)
static

Bind the dynamic table information_schema.innodb_cmpmem.

Returns
0 on success
Parameters
pin/out: table schema object

◆ i_s_cmpmem_reset_fill()

static int i_s_cmpmem_reset_fill ( THD thd,
Table_ref tables,
Item  
)
static

Fill the dynamic table information_schema.innodb_cmpmem_reset.

Returns
0 on success, 1 on failure
Parameters
thdin: thread
tablesin/out: tables to fill

◆ i_s_cmpmem_reset_init()

static int i_s_cmpmem_reset_init ( void *  p)
static

Bind the dynamic table information_schema.innodb_cmpmem_reset.

Returns
0 on success
Parameters
pin/out: table schema object

◆ i_s_common_deinit()

static int i_s_common_deinit ( void *  p)
static

Unbind a dynamic INFORMATION_SCHEMA table.

Returns
0 on success in/out: table schema object
0 on success
Parameters
pin/out: table schema object

◆ i_s_dict_fill_innodb_columns()

static int i_s_dict_fill_innodb_columns ( THD thd,
table_id_t  table_id,
const char *  col_name,
dict_col_t column,
ulint  nth_v_col,
TABLE table_to_fill 
)
static

Function to populate the information_schema.innodb_columns with related column information.

Parameters
[in]thdthread
[in]table_idtable id
[in]col_namecolumn name
[in]columndict_col_t obj
[in]nth_v_colvirtual column, its sequence number
[in,out]table_to_fillfill this table
Returns
0 on success

◆ i_s_dict_fill_innodb_indexes()

static int i_s_dict_fill_innodb_indexes ( THD thd,
const dict_index_t index,
TABLE table_to_fill 
)
static

Function to populate the information_schema.innodb_indexes table with collected index information.

Parameters
[in]thdthread
[in]indexdict_index_t obj
[in,out]table_to_fillfill this table
Returns
0 on success

◆ i_s_dict_fill_innodb_tables()

static int i_s_dict_fill_innodb_tables ( THD thd,
dict_table_t table,
TABLE table_to_fill 
)
static

Populate information_schema.innodb_tables table with information from INNODB_TABLES.

Parameters
[in]thdthread
[in]tabletable obj
[in,out]table_to_fillfill this table
Returns
0 on success

◆ i_s_dict_fill_innodb_tablespaces()

static int i_s_dict_fill_innodb_tablespaces ( THD thd,
space_id_t  space_id,
const char *  name,
uint32_t  flags,
uint32_t  server_version,
uint32_t  space_version,
bool  is_encrypted,
uint64_t  autoextend_size,
const char *  state,
TABLE table_to_fill 
)
static

Function to fill INFORMATION_SCHEMA.INNODB_TABLESPACES with information collected by scanning INNODB_TABLESPACESS table.

Parameters
[in]thdthread
[in]space_idspace ID
[in]nametablespace name
[in]flagstablespace flags
[in]server_versionserver version
[in]space_versiontablespace version
[in]is_encryptedtrue if tablespace is encrypted
[in]autoextend_sizeautoextend_size attribute value
[in]statetablespace state
[in,out]table_to_fillfill this table
Returns
0 on success

◆ i_s_dict_fill_innodb_tablestats()

static int i_s_dict_fill_innodb_tablestats ( THD thd,
dict_table_t table,
ulint  ref_count,
TABLE table_to_fill 
)
static

Populate information_schema.innodb_tablestats table with information from INNODB_TABLES.

Parameters
[in]thdthread ID
[in,out]tabletable
[in]ref_counttable reference count
[in,out]table_to_fillfill this table
Returns
0 on success

◆ i_s_dict_fill_innodb_virtual()

static int i_s_dict_fill_innodb_virtual ( THD thd,
table_id_t  table_id,
ulint  pos,
ulint  base_pos,
TABLE table_to_fill 
)
static

Function to populate the information_schema.innodb_virtual with related information param[in] thd thread param[in] table_id table ID param[in] pos virtual column position param[in] base_pos base column position param[in,out] table_to_fill fill this table.

Returns
0 on success

◆ i_s_fill_innodb_cached_indexes_row()

static int i_s_fill_innodb_cached_indexes_row ( THD thd,
space_id_t  space_id,
ulint  index_id,
TABLE table_to_fill 
)
static

Populate INFORMATION_SCHEMA.INNODB_CACHED_INDEXES.

Parameters
[in]thduser thread
[in]space_idspace id
[in]index_idindex id
[in,out]table_to_fillfill this table
Returns
0 on success

◆ i_s_fts_being_deleted_fill()

static int i_s_fts_being_deleted_fill ( THD thd,
Table_ref tables,
Item  
)
static

Fill the dynamic table INFORMATION_SCHEMA.INNODB_FT_BEING_DELETED.

Returns
0 on success, 1 on failure
Parameters
thdin: thread
tablesin/out: tables to fill

◆ i_s_fts_being_deleted_init()

static int i_s_fts_being_deleted_init ( void *  p)
static

Bind the dynamic table INFORMATION_SCHEMA.INNODB_FT_BEING_DELETED.

Returns
0 on success
Parameters
pin/out: table schema object

◆ i_s_fts_config_fill()

static int i_s_fts_config_fill ( THD thd,
Table_ref tables,
Item  
)
static

Fill the dynamic table INFORMATION_SCHEMA.INNODB_FT_CONFIG.

Returns
0 on success, 1 on failure
Parameters
thdin: thread
tablesin/out: tables to fill

◆ i_s_fts_config_init()

static int i_s_fts_config_init ( void *  p)
static

Bind the dynamic table INFORMATION_SCHEMA.INNODB_FT_CONFIG.

Returns
0 on success
Parameters
pin/out: table schema object

◆ i_s_fts_deleted_fill()

static int i_s_fts_deleted_fill ( THD thd,
Table_ref tables,
Item  
)
static

Fill the dynamic table INFORMATION_SCHEMA.INNODB_FT_DELETED.

Returns
0 on success, 1 on failure
Parameters
thdin: thread
tablesin/out: tables to fill

◆ i_s_fts_deleted_generic_fill()

static int i_s_fts_deleted_generic_fill ( THD thd,
Table_ref tables,
bool  being_deleted 
)
static

Fill the dynamic table INFORMATION_SCHEMA.INNODB_FT_DELETED or INFORMATION_SCHEMA.INNODB_FT_BEING_DELETED.

Returns
0 on success, 1 on failure
Parameters
thdin: thread
tablesin/out: tables to fill
being_deletedin: BEING_DELTED table

◆ i_s_fts_deleted_init()

static int i_s_fts_deleted_init ( void *  p)
static

Bind the dynamic table INFORMATION_SCHEMA.INNODB_FT_DELETED.

Returns
0 on success
Parameters
pin/out: table schema object

◆ i_s_fts_index_cache_fill()

static int i_s_fts_index_cache_fill ( THD thd,
Table_ref tables,
Item  
)
static

Fill the dynamic table INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHED.

Returns
0 on success, 1 on failure
Parameters
thdin: thread
tablesin/out: tables to fill

◆ i_s_fts_index_cache_fill_one_index()

static int i_s_fts_index_cache_fill_one_index ( fts_index_cache_t index_cache,
THD thd,
Table_ref tables 
)
static

Go through the Doc Node and its ilist, fill the dynamic table INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHED for one FTS index on the table.

Returns
0 on success, 1 on failure
Parameters
index_cachein: FTS index cache
thdin: thread
tablesin/out: tables to fill

◆ i_s_fts_index_cache_init()

static int i_s_fts_index_cache_init ( void *  p)
static

Bind the dynamic table INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHE.

Returns
0 on success
Parameters
pin/out: table schema object

◆ i_s_fts_index_table_fill()

static int i_s_fts_index_table_fill ( THD thd,
Table_ref tables,
Item  
)
static

Fill the dynamic table INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE.

Returns
0 on success, 1 on failure
Parameters
thdin: thread
tablesin/out: tables to fill

◆ i_s_fts_index_table_fill_one_fetch()

static int i_s_fts_index_table_fill_one_fetch ( CHARSET_INFO index_charset,
THD thd,
Table_ref tables,
ib_vector_t words,
fts_string_t conv_str,
bool  has_more 
)
static

Go through words, fill INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE.

Returns
0 on success, 1 on failure
Parameters
index_charsetin: FTS index charset
thdin: thread
tablesin/out: tables to fill
wordsin: words fetched
conv_strin: string for conversion
has_morein: has more to fetch

◆ i_s_fts_index_table_fill_one_index()

static int i_s_fts_index_table_fill_one_index ( dict_index_t index,
THD thd,
Table_ref tables 
)
static

Go through a FTS index and its auxiliary tables, fetch rows in each table and fill INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE.

Returns
0 on success, 1 on failure
Parameters
indexin: FTS index
thdin: thread
tablesin/out: tables to fill

◆ i_s_fts_index_table_fill_selected()

static dberr_t i_s_fts_index_table_fill_selected ( dict_index_t index,
ib_vector_t words,
ulint  selected,
fts_string_t word 
)
static

Go through a FTS index auxiliary table, fetch its rows and fill FTS word cache structure.

Returns
DB_SUCCESS on success, otherwise error code
Parameters
indexin: FTS index
wordsin/out: vector to hold fetched words
selectedin: selected FTS index
wordin: word to select

◆ i_s_fts_index_table_free_one_fetch()

static void i_s_fts_index_table_free_one_fetch ( ib_vector_t words)
static

Free words.

Parameters
wordsin: words fetched

◆ i_s_fts_index_table_init()

static int i_s_fts_index_table_init ( void *  p)
static

Bind the dynamic table INFORMATION_SCHEMA.INNODB_FT_INDEX_TABLE.

Returns
0 on success
Parameters
pin/out: table schema object

◆ i_s_innodb_buf_page_lru_fill()

static int i_s_innodb_buf_page_lru_fill ( THD thd,
Table_ref tables,
const buf_page_info_t info_array,
ulint  num_page 
)
static

Fill Information Schema table INNODB_BUFFER_PAGE_LRU with information cached in the buf_page_info_t array.

Returns
0 on success, 1 on failure
Parameters
thdin: thread
tablesin/out: tables to fill
info_arrayin: array cached page info
num_pagein: number of page info cached

◆ i_s_innodb_buf_page_lru_fill_table()

static int i_s_innodb_buf_page_lru_fill_table ( THD thd,
Table_ref tables,
Item  
)
static

Fill page information for pages in InnoDB buffer pool to the dynamic table INFORMATION_SCHEMA.INNODB_BUFFER_PAGE_LRU.

Returns
0 on success, 1 on failure
Parameters
thdin: thread
tablesin/out: tables to fill

◆ i_s_innodb_buffer_page_fill()

static int i_s_innodb_buffer_page_fill ( THD thd,
Table_ref tables,
const buf_page_info_t info_array,
ulint  num_page 
)
static

Fill Information Schema table INNODB_BUFFER_PAGE with information cached in the buf_page_info_t array.

Returns
0 on success, 1 on failure
Parameters
thdin: thread
tablesin/out: tables to fill
info_arrayin: array cached page info
num_pagein: number of page info cached

◆ i_s_innodb_buffer_page_fill_table()

static int i_s_innodb_buffer_page_fill_table ( THD thd,
Table_ref tables,
Item  
)
static

Fill page information for pages in InnoDB buffer pool to the dynamic table INFORMATION_SCHEMA.INNODB_BUFFER_PAGE.

Returns
0 on success, 1 on failure
Parameters
thdin: thread
tablesin/out: tables to fill

◆ i_s_innodb_buffer_page_get_info()

static void i_s_innodb_buffer_page_get_info ( const buf_page_t bpage,
ulint  pool_id,
ulint  pos,
buf_page_info_t page_info 
)
static

Scans pages in the buffer cache, and collect their general information into the buf_page_info_t array which is zero-filled.

So any fields that are not initialized in the function will default to 0

Parameters
bpagein: buffer pool page to scan
pool_idin: buffer pool id
posin: buffer block position in buffer pool or in the LRU list
page_infoin: zero filled info structure; out: structure filled with scanned info

◆ i_s_innodb_buffer_page_init()

static int i_s_innodb_buffer_page_init ( void *  p)
static

Bind the dynamic table INFORMATION_SCHEMA.INNODB_BUFFER_PAGE.

Returns
0 on success, 1 on failure
Parameters
pin/out: table schema object

◆ i_s_innodb_buffer_page_lru_init()

static int i_s_innodb_buffer_page_lru_init ( void *  p)
static

Bind the dynamic table INFORMATION_SCHEMA.INNODB_BUFFER_PAGE_LRU.

Returns
0 on success, 1 on failure
Parameters
pin/out: table schema object

◆ i_s_innodb_buffer_pool_stats_init()

static int i_s_innodb_buffer_pool_stats_init ( void *  p)
static

Bind the dynamic table INFORMATION_SCHEMA.INNODB_BUFFER_POOL_STATS.

Returns
0 on success, 1 on failure
Parameters
pin/out: table schema object

◆ i_s_innodb_buffer_stats_fill_table()

static int i_s_innodb_buffer_stats_fill_table ( THD thd,
Table_ref tables,
Item  
)
static

This is the function that loops through each buffer pool and fetch buffer pool stats to information schema table: I_S_INNODB_BUFFER_POOL_STATS.

Returns
0 on success, 1 on failure
Parameters
thdin: thread
tablesin/out: tables to fill

◆ i_s_innodb_cached_indexes_fill_table()

static int i_s_innodb_cached_indexes_fill_table ( THD thd,
Table_ref tables,
Item  
)
static

Go through each record in INNODB_INDEXES, and fill INFORMATION_SCHEMA.INNODB_CACHED_INDEXES.

Parameters
[in]thdthread
[in,out]tablestables to fill
Returns
0 on success

◆ i_s_innodb_columns_fill_table()

static int i_s_innodb_columns_fill_table ( THD thd,
Table_ref tables,
Item  
)
static

Function to fill information_schema.innodb_columns with information collected by scanning INNODB_COLUMNS table.

Parameters
[in]thdthread
[in,out]tablestables to fill
Returns
0 on success

◆ i_s_innodb_fill_buffer_lru()

static int i_s_innodb_fill_buffer_lru ( THD thd,
Table_ref tables,
buf_pool_t buf_pool,
const ulint  pool_id 
)
static

This is the function that goes through buffer pool's LRU list and fetch information to INFORMATION_SCHEMA.INNODB_BUFFER_PAGE_LRU.

Parameters
[in]thdthread
[in,out]tablestables to fill
[in]buf_poolbuffer pool to scan
[in]pool_idbuffer pool id
Returns
0 on success, 1 on failure

◆ i_s_innodb_fill_buffer_pool()

static int i_s_innodb_fill_buffer_pool ( THD thd,
Table_ref tables,
buf_pool_t buf_pool,
const ulint  pool_id 
)
static

This is the function that goes through each block of the buffer pool and fetch information to information schema tables: INNODB_BUFFER_PAGE.

Returns
0 on success, 1 on failure
Parameters
thdin: thread
tablesin/out: tables to fill
buf_poolin: buffer pool to scan
pool_idin: buffer pool id

◆ i_s_innodb_indexes_fill_table()

static int i_s_innodb_indexes_fill_table ( THD thd,
Table_ref tables,
Item  
)
static

Function to go through each record in INNODB_INDEXES table, and fill the information_schema.innodb_indexes table with related index information.

Parameters
[in]thdthread
[in,out]tablestables to fill
Returns
0 on success

◆ i_s_innodb_session_temp_tablespaces_fill()

static int i_s_innodb_session_temp_tablespaces_fill ( THD thd,
Table_ref tables,
Item  
)
static

Function to populate INFORMATION_SCHEMA.INNODB_SESSION_TEMPORARY_TABLESPACES table.

Iterate over the in-memory structure and fill the table

Parameters
[in]thdthread
[in,out]tablestables to fill
Returns
0 on success

◆ i_s_innodb_session_temp_tablespaces_fill_one()

static int i_s_innodb_session_temp_tablespaces_fill_one ( THD thd,
const ibt::Tablespace ts,
TABLE table_to_fill 
)
static

Function to fill INFORMATION_SCHEMA.INNODB_SESSION_TEMPORARY_TABLESPACES.

Parameters
[in]thdthread
[in]tstemp tablespace object
[in,out]table_to_fillfill this table
Returns
0 on success

◆ i_s_innodb_set_page_type()

static void i_s_innodb_set_page_type ( buf_page_info_t page_info,
ulint  page_type,
const byte frame 
)
static

Set appropriate page type to a buf_page_info_t structure.

Parameters
page_infoin/out: structure to fill with scanned info
page_typein: page type
framein: buffer frame

◆ i_s_innodb_stats_fill()

static int i_s_innodb_stats_fill ( THD thd,
Table_ref tables,
const buf_pool_info_t info 
)
static

Fill Information Schema table INNODB_BUFFER_POOL_STATS for a particular buffer pool.

Returns
0 on success, 1 on failure
Parameters
thdin: thread
tablesin/out: tables to fill
infoin: buffer pool information

◆ i_s_innodb_tables_fill_table()

static int i_s_innodb_tables_fill_table ( THD thd,
Table_ref tables,
Item  
)
static

Function to go through each record in INNODB_TABLES table, and fill the information_schema.innodb_tables table with related table information.

Parameters
[in]thdthread
[in,out]tablestables to fill
Returns
0 on success

◆ i_s_innodb_tables_fill_table_stats()

static int i_s_innodb_tables_fill_table_stats ( THD thd,
Table_ref tables,
Item  
)
static

Function to go through each record in INNODB_TABLES table, and fill the information_schema.innodb_tablestats table with table statistics related information.

Parameters
[in]thdthread
[in,out]tablestables to fill
Returns
0 on success

◆ i_s_innodb_tablespaces_fill_table()

static int i_s_innodb_tablespaces_fill_table ( THD thd,
Table_ref tables,
Item  
)
static

Function to populate INFORMATION_SCHEMA.INNODB_TABLESPACES table.

Loop through each record in INNODB_TABLESPACES, and extract the column information and fill the INFORMATION_SCHEMA.INNODB_TABLESPACES table.

Parameters
[in]thdthread
[in,out]tablestables to fill
Returns
0 on success

◆ i_s_innodb_temp_table_info_fill()

static int i_s_innodb_temp_table_info_fill ( THD thd,
Table_ref tables,
const temp_table_info_t info 
)
static

Fill Information Schema table INNODB_TEMP_TABLE_INFO for a particular temp-table.

Returns
0 on success, 1 on failure
Parameters
thdin: thread
tablesin/out: tables to fill
infoin: temp-table information

◆ i_s_innodb_temp_table_info_fill_table()

static int i_s_innodb_temp_table_info_fill_table ( THD thd,
Table_ref tables,
Item  
)
static

This function will iterate over all available table and will fill stats for temp-tables to INNODB_TEMP_TABLE_INFO.

Returns
0 on success, 1 on failure
Parameters
thdin: thread
tablesin/out: tables to fill

◆ i_s_innodb_temp_table_info_init()

static int i_s_innodb_temp_table_info_init ( void *  p)
static

Bind the dynamic table INFORMATION_SCHEMA.INNODB_TEMP_TABLE_INFO.

Returns
0 on success, 1 on failure
Parameters
pin/out: table schema object

◆ i_s_innodb_virtual_fill_table()

static int i_s_innodb_virtual_fill_table ( THD thd,
Table_ref tables,
Item  
)
static

Function to fill information_schema.innodb_virtual with information collected by scanning INNODB_VIRTUAL table.

param[in] thd thread param[in,out] tables tables to fill param[in] item condition (not used)

Returns
0 on success

◆ i_s_metrics_fill()

static int i_s_metrics_fill ( THD thd,
TABLE table_to_fill 
)
static

Fill the information schema metrics table.

Returns
0 on success
Parameters
thdin: thread
table_to_fillin/out: fill this table

◆ i_s_metrics_fill_table()

static int i_s_metrics_fill_table ( THD thd,
Table_ref tables,
Item  
)
static

Function to fill information schema metrics tables.

Returns
0 on success
Parameters
thdin: thread
tablesin/out: tables to fill

◆ i_s_stopword_fill()

static int i_s_stopword_fill ( THD thd,
Table_ref tables,
Item  
)
static

Fill the dynamic table information_schema.innodb_ft_default_stopword.

Returns
0 on success, 1 on failure
Parameters
thdin: thread
tablesin/out: tables to fill

◆ i_s_stopword_init()

static int i_s_stopword_init ( void *  p)
static

Bind the dynamic table information_schema.innodb_ft_default_stopword.

Returns
0 on success
Parameters
pin/out: table schema object

◆ innodb_cached_indexes_init()

static int innodb_cached_indexes_init ( void *  p)
static

Bind the dynamic table INFORMATION_SCHEMA.INNODB_CACHED_INDEXES.

Parameters
[in,out]ptable schema object
Returns
0 on success

◆ innodb_columns_init()

static int innodb_columns_init ( void *  p)
static

Bind the dynamic table INFORMATION_SCHEMA.innodb_columns.

Parameters
[in,out]ptable schema object
Returns
0 on success

◆ innodb_indexes_init()

static int innodb_indexes_init ( void *  p)
static

Bind the dynamic table INFORMATION_SCHEMA.innodb_indexes.

Parameters
[in,out]ptable schema object
Returns
0 on success

◆ innodb_metrics_init()

static int innodb_metrics_init ( void *  p)
static

Bind the dynamic table INFORMATION_SCHEMA.innodb_metrics.

Returns
0 on success
Parameters
pin/out: table schema object

◆ innodb_session_temp_tablespaces_init()

static int innodb_session_temp_tablespaces_init ( void *  p)
static

Bind the dynamic table INFORMATION_SCHEMA.INNODB_SESSION_TEMPORARY_TABLESPACES.

Parameters
[in,out]ptable schema object
Returns
0 on success

◆ innodb_tables_init()

static int innodb_tables_init ( void *  p)
static

Bind the dynamic table INFORMATION_SCHEMA.innodb_tables.

Parameters
[in,out]ptable schema object
Returns
0 on success

◆ innodb_tablespaces_init()

static int innodb_tablespaces_init ( void *  p)
static

Bind the dynamic table INFORMATION_SCHEMA.INNODB_TABLESPACES.

Parameters
[in,out]ptable schema object
Returns
0 on success

◆ innodb_tablestats_init()

static int innodb_tablestats_init ( void *  p)
static

Bind the dynamic table INFORMATION_SCHEMA.innodb_tablestats.

Parameters
[in,out]ptable schema object
Returns
0 on success

◆ innodb_temp_table_populate_cache()

static void innodb_temp_table_populate_cache ( const dict_table_t table,
temp_table_info_t cache 
)
static

Populate current table information to cache.

Parameters
[in]tabletable
[in,out]cachepopulate data in this cache

◆ innodb_trx_init()

static int innodb_trx_init ( void *  p)
static

Bind the dynamic table INFORMATION_SCHEMA.innodb_trx.

Returns
0 on success
Parameters
pin/out: table schema object

◆ innodb_virtual_init()

static int innodb_virtual_init ( void *  p)
static

Bind the dynamic table INFORMATION_SCHEMA.innodb_virtual param[in,out] p table schema object.

Returns
0 on success

◆ process_rows()

static void process_rows ( THD thd,
Table_ref tables,
const rec_t rec,
dict_table_t dd_table,
btr_pcur_t pcur,
mtr_t mtr,
mem_heap_t heap,
bool  is_partition 
)
static

◆ trx_i_s_common_fill_table()

static int trx_i_s_common_fill_table ( THD thd,
Table_ref tables,
Item  
)
static

Common function to fill any of the dynamic tables: INFORMATION_SCHEMA.innodb_trx.

Returns
0 on success in: condition (not used)
0 on success
Parameters
thdin: thread
tablesin/out: tables to fill

Variable Documentation

◆ fts_config_key

const char* fts_config_key[]
static
Initial value:
= {
FTS_USE_STOPWORD, nullptr}
#define FTS_STOPWORD_TABLE_NAME
User specified stopword table name.
Definition: fts0priv.h:103
#define FTS_SYNCED_DOC_ID
The next doc id.
Definition: fts0priv.h:84
#define FTS_OPTIMIZE_LIMIT_IN_SECS
FTS config table name parameters.
Definition: fts0priv.h:81
#define FTS_USE_STOPWORD
Whether to use (turn on/off) stopword.
Definition: fts0priv.h:106

◆ i_s_cmp_fields_info

ST_FIELD_INFO i_s_cmp_fields_info[]
static

◆ i_s_cmp_per_index_fields_info

ST_FIELD_INFO i_s_cmp_per_index_fields_info[]
static

◆ i_s_cmpmem_fields_info

ST_FIELD_INFO i_s_cmpmem_fields_info[]
static

◆ i_s_fts_config_fields_info

ST_FIELD_INFO i_s_fts_config_fields_info[]
static
Initial value:
= {
#define FTS_CONFIG_KEY
{STRUCT_FLD(field_name, "KEY"), STRUCT_FLD(field_length, NAME_LEN + 1),
STRUCT_FLD(field_type, MYSQL_TYPE_STRING), STRUCT_FLD(value, 0),
STRUCT_FLD(field_flags, 0), STRUCT_FLD(old_name, ""),
STRUCT_FLD(open_method, 0)},
#define FTS_CONFIG_VALUE
{STRUCT_FLD(field_name, "VALUE"), STRUCT_FLD(field_length, NAME_LEN + 1),
STRUCT_FLD(field_type, MYSQL_TYPE_STRING), STRUCT_FLD(value, 0),
STRUCT_FLD(field_flags, 0), STRUCT_FLD(old_name, ""),
STRUCT_FLD(open_method, 0)},
@ MYSQL_TYPE_STRING
Definition: field_types.h:89
#define END_OF_ST_FIELD_INFO
Definition: i_s.cc:230
#define NAME_LEN
Definition: mysql_com.h:67

◆ i_s_fts_doc_fields_info

ST_FIELD_INFO i_s_fts_doc_fields_info[]
static
Initial value:
= {
#define I_S_FTS_DOC_ID
{STRUCT_FLD(field_name, "DOC_ID"),
STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), STRUCT_FLD(value, 0),
STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), STRUCT_FLD(old_name, ""),
STRUCT_FLD(open_method, 0)},
@ MYSQL_TYPE_LONGLONG
Definition: field_types.h:64
#define MY_INT64_NUM_DECIMAL_DIGITS
Definition: my_inttypes.h:103
#define MY_I_S_UNSIGNED
Definition: table.h:2531

◆ i_s_fts_index_fields_info

ST_FIELD_INFO i_s_fts_index_fields_info[]
static

◆ i_s_info

struct st_mysql_information_schema i_s_info
static
Initial value:
= {
#define MYSQL_INFORMATION_SCHEMA_INTERFACE_VERSION
Definition: plugin.h:688

◆ i_s_innodb_buf_page_lru_fields_info

ST_FIELD_INFO i_s_innodb_buf_page_lru_fields_info[]
static

◆ i_s_innodb_buffer_page

struct st_mysql_plugin i_s_innodb_buffer_page

◆ i_s_innodb_buffer_page_fields_info

ST_FIELD_INFO i_s_innodb_buffer_page_fields_info[]
static

◆ i_s_innodb_buffer_page_lru

struct st_mysql_plugin i_s_innodb_buffer_page_lru

◆ i_s_innodb_buffer_stats

struct st_mysql_plugin i_s_innodb_buffer_stats

◆ i_s_innodb_buffer_stats_fields_info

ST_FIELD_INFO i_s_innodb_buffer_stats_fields_info[]
static

◆ i_s_innodb_cached_indexes

struct st_mysql_plugin i_s_innodb_cached_indexes

◆ i_s_innodb_cmp

struct st_mysql_plugin i_s_innodb_cmp

◆ i_s_innodb_cmp_per_index

struct st_mysql_plugin i_s_innodb_cmp_per_index

◆ i_s_innodb_cmp_per_index_reset

struct st_mysql_plugin i_s_innodb_cmp_per_index_reset

◆ i_s_innodb_cmp_reset

struct st_mysql_plugin i_s_innodb_cmp_reset

◆ i_s_innodb_cmpmem

struct st_mysql_plugin i_s_innodb_cmpmem

◆ i_s_innodb_cmpmem_reset

struct st_mysql_plugin i_s_innodb_cmpmem_reset

◆ i_s_innodb_columns

struct st_mysql_plugin i_s_innodb_columns

◆ i_s_innodb_ft_being_deleted

struct st_mysql_plugin i_s_innodb_ft_being_deleted

◆ i_s_innodb_ft_config

struct st_mysql_plugin i_s_innodb_ft_config

◆ i_s_innodb_ft_default_stopword

struct st_mysql_plugin i_s_innodb_ft_default_stopword

◆ i_s_innodb_ft_deleted

struct st_mysql_plugin i_s_innodb_ft_deleted

◆ i_s_innodb_ft_index_cache

struct st_mysql_plugin i_s_innodb_ft_index_cache

◆ i_s_innodb_ft_index_table

struct st_mysql_plugin i_s_innodb_ft_index_table

◆ i_s_innodb_indexes

struct st_mysql_plugin i_s_innodb_indexes

◆ i_s_innodb_metrics

struct st_mysql_plugin i_s_innodb_metrics

◆ i_s_innodb_plugin_version

constexpr uint64_t i_s_innodb_plugin_version
constexpr
Initial value:
=
constexpr uint8_t i_s_innodb_plugin_version_postfix
I_S.innodb_* views version postfix.
Definition: i_s.cc:111
#define INNODB_VERSION_MAJOR
Definition: univ.i:54

I_S.innodb_* views version.

It would be X.Y and X should be the server major version while Y is the InnoDB I_S views version, starting from 1

◆ i_s_innodb_plugin_version_postfix

constexpr uint8_t i_s_innodb_plugin_version_postfix = 2
constexpr

I_S.innodb_* views version postfix.

Every time the define of any InnoDB I_S table is changed, this value has to be increased accordingly

◆ i_s_innodb_session_temp_tablespaces

struct st_mysql_plugin i_s_innodb_session_temp_tablespaces

◆ i_s_innodb_tables

struct st_mysql_plugin i_s_innodb_tables

◆ i_s_innodb_tablespaces

struct st_mysql_plugin i_s_innodb_tablespaces

◆ i_s_innodb_tablestats

struct st_mysql_plugin i_s_innodb_tablestats

◆ i_s_innodb_temp_table_info

struct st_mysql_plugin i_s_innodb_temp_table_info

◆ i_s_innodb_temp_table_info_fields_info

ST_FIELD_INFO i_s_innodb_temp_table_info_fields_info[]
static
Initial value:
= {
#define IDX_TEMP_TABLE_ID
{STRUCT_FLD(field_name, "TABLE_ID"),
STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), STRUCT_FLD(value, 0),
STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), STRUCT_FLD(old_name, ""),
STRUCT_FLD(open_method, 0)},
#define IDX_TEMP_TABLE_NAME
{STRUCT_FLD(field_name, "NAME"), STRUCT_FLD(field_length, NAME_CHAR_LEN),
STRUCT_FLD(field_type, MYSQL_TYPE_STRING), STRUCT_FLD(value, 0),
STRUCT_FLD(field_flags, MY_I_S_MAYBE_NULL), STRUCT_FLD(old_name, ""),
STRUCT_FLD(open_method, 0)},
#define IDX_TEMP_TABLE_N_COLS
{STRUCT_FLD(field_name, "N_COLS"),
STRUCT_FLD(field_type, MYSQL_TYPE_LONG), STRUCT_FLD(value, 0),
STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), STRUCT_FLD(old_name, ""),
STRUCT_FLD(open_method, 0)},
#define IDX_TEMP_TABLE_SPACE_ID
{STRUCT_FLD(field_name, "SPACE"),
STRUCT_FLD(field_type, MYSQL_TYPE_LONG), STRUCT_FLD(value, 0),
STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), STRUCT_FLD(old_name, ""),
STRUCT_FLD(open_method, 0)},
@ MYSQL_TYPE_LONG
Definition: field_types.h:59
#define MY_INT32_NUM_DECIMAL_DIGITS
Definition: my_inttypes.h:100
#define NAME_CHAR_LEN
Field/table name length.
Definition: mysql_com.h:60
#define MY_I_S_MAYBE_NULL
Definition: table.h:2530

◆ i_s_innodb_trx

struct st_mysql_plugin i_s_innodb_trx

◆ i_s_innodb_virtual

struct st_mysql_plugin i_s_innodb_virtual

◆ i_s_page_type

buf_page_desc_t i_s_page_type[]
static

Name string for File Page Types.

◆ I_S_PAGE_TYPE_BITS

constexpr auto I_S_PAGE_TYPE_BITS = 6
constexpr

◆ I_S_PAGE_TYPE_IBUF

constexpr auto I_S_PAGE_TYPE_IBUF = (FIL_PAGE_TYPE_LAST + 2)
constexpr

Change buffer B-tree page.

◆ I_S_PAGE_TYPE_INDEX

constexpr size_t I_S_PAGE_TYPE_INDEX = 1
constexpr

We also define I_S_PAGE_TYPE_INDEX as the Index Page's position in i_s_page_type[] array.

◆ I_S_PAGE_TYPE_LAST

constexpr auto I_S_PAGE_TYPE_LAST = I_S_PAGE_TYPE_SDI
constexpr

◆ I_S_PAGE_TYPE_RTREE

constexpr auto I_S_PAGE_TYPE_RTREE = (FIL_PAGE_TYPE_LAST + 1)
constexpr

R-tree index page.

◆ I_S_PAGE_TYPE_SDI

constexpr auto I_S_PAGE_TYPE_SDI = (FIL_PAGE_TYPE_LAST + 3)
constexpr

SDI B-tree page.

◆ I_S_PAGE_TYPE_UNKNOWN

constexpr auto I_S_PAGE_TYPE_UNKNOWN = FIL_PAGE_TYPE_UNKNOWN
constexpr

Any unassigned FIL_PAGE_TYPE will be treated as unknown.

◆ i_s_stopword_fields_info

ST_FIELD_INFO i_s_stopword_fields_info[]
static
Initial value:
= {
#define STOPWORD_VALUE
{STRUCT_FLD(field_name, "value"), STRUCT_FLD(field_length, 18),
STRUCT_FLD(field_type, MYSQL_TYPE_STRING), STRUCT_FLD(value, 0),
STRUCT_FLD(field_flags, 0), STRUCT_FLD(old_name, ""),
STRUCT_FLD(open_method, 0)},

◆ innodb_cached_indexes_fields_info

ST_FIELD_INFO innodb_cached_indexes_fields_info[]
static
Initial value:
= {
#define CACHED_INDEXES_SPACE_ID
{STRUCT_FLD(field_name, "SPACE_ID"),
STRUCT_FLD(field_type, MYSQL_TYPE_LONG), STRUCT_FLD(value, 0),
STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), STRUCT_FLD(old_name, ""),
STRUCT_FLD(open_method, 0)},
#define CACHED_INDEXES_INDEX_ID
{STRUCT_FLD(field_name, "INDEX_ID"),
STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), STRUCT_FLD(value, 0),
STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), STRUCT_FLD(old_name, ""),
STRUCT_FLD(open_method, 0)},
#define CACHED_INDEXES_N_CACHED_PAGES
{STRUCT_FLD(field_name, "N_CACHED_PAGES"),
STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), STRUCT_FLD(value, 0),
STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), STRUCT_FLD(old_name, ""),
STRUCT_FLD(open_method, 0)},

INFORMATION_SCHEMA.INNODB_CACHED_INDEXES.

◆ innodb_columns_fields_info

ST_FIELD_INFO innodb_columns_fields_info[]
static

INNODB_COLUMNS

◆ innodb_metrics_fields_info

ST_FIELD_INFO innodb_metrics_fields_info[]
static

◆ innodb_session_temp_tablespaces_fields_info

ST_FIELD_INFO innodb_session_temp_tablespaces_fields_info[]
static

INNODB_SESSION_TEMPORARY TABLESPACES

◆ innodb_sysindex_fields_info

ST_FIELD_INFO innodb_sysindex_fields_info[]
static

INNODB_INDEXES

◆ innodb_tables_fields_info

ST_FIELD_INFO innodb_tables_fields_info[]
static

INNODB_TABLES

◆ innodb_tablespaces_fields_info

ST_FIELD_INFO innodb_tablespaces_fields_info[]
static

INNODB_TABLESPACES

◆ innodb_tablestats_fields_info

ST_FIELD_INFO innodb_tablestats_fields_info[]
static

INNODB_TABLESTATS

◆ innodb_trx_fields_info

ST_FIELD_INFO innodb_trx_fields_info[]
static

◆ innodb_virtual_fields_info

ST_FIELD_INFO innodb_virtual_fields_info[]
static
Initial value:
= {
#define INNODB_VIRTUAL_TABLE_ID
{STRUCT_FLD(field_name, "TABLE_ID"),
STRUCT_FLD(field_type, MYSQL_TYPE_LONGLONG), STRUCT_FLD(value, 0),
STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), STRUCT_FLD(old_name, ""),
STRUCT_FLD(open_method, 0)},
#define INNODB_VIRTUAL_POS
{STRUCT_FLD(field_name, "POS"),
STRUCT_FLD(field_type, MYSQL_TYPE_LONG), STRUCT_FLD(value, 0),
STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), STRUCT_FLD(old_name, ""),
STRUCT_FLD(open_method, 0)},
#define INNODB_VIRTUAL_BASE_POS
{STRUCT_FLD(field_name, "BASE_POS"),
STRUCT_FLD(field_type, MYSQL_TYPE_LONG), STRUCT_FLD(value, 0),
STRUCT_FLD(field_flags, MY_I_S_UNSIGNED), STRUCT_FLD(old_name, ""),
STRUCT_FLD(open_method, 0)},

INNODB_VIRTUAL.

Fields of the dynamic table INFORMATION_SCHEMA.INNODB_VIRTUAL Every time any column gets changed, added or removed, please remember to change i_s_innodb_plugin_version_postfix accordingly, so that the change can be propagated to server

◆ LOCK_global_system_variables

mysql_mutex_t LOCK_global_system_variables
extern

◆ MAX_BUF_INFO_CACHED

const ulint MAX_BUF_INFO_CACHED = 10000

Maximum number of buffer page info we would cache.

◆ plugin_author

constexpr char plugin_author[] = PLUGIN_AUTHOR_ORACLE
constexpr