MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
i_s.cc File Reference
#include <mysqld_error.h>
#include <sql_acl.h>
#include <m_ctype.h>
#include <hash.h>
#include <myisampack.h>
#include <mysys_err.h>
#include <my_sys.h>
#include "i_s.h"
#include <sql_plugin.h>
#include <mysql/innodb_priv.h>
#include "btr0pcur.h"
#include "btr0types.h"
#include "dict0dict.h"
#include "dict0load.h"
#include "buf0buddy.h"
#include "buf0buf.h"
#include "ibuf0ibuf.h"
#include "dict0mem.h"
#include "dict0types.h"
#include "ha_prototypes.h"
#include "srv0start.h"
#include "trx0i_s.h"
#include "trx0trx.h"
#include "srv0mon.h"
#include "fut0fut.h"
#include "pars0pars.h"
#include "fts0types.h"
#include "fts0opt.h"
#include "fts0priv.h"
#include "btr0btr.h"
#include "page0zip.h"
Include dependency graph for i_s.cc:

Go to the source code of this file.

Classes

struct  buf_page_desc_t
struct  buf_page_info_t

Macros

#define I_S_PAGE_TYPE_IBUF   (FIL_PAGE_TYPE_LAST + 1)
#define I_S_PAGE_TYPE_UNKNOWN   (I_S_PAGE_TYPE_IBUF + 1)
#define I_S_PAGE_TYPE_INDEX   1
#define MAX_BUF_INFO_CACHED   10000
#define OK(expr)
#define RETURN_IF_INNODB_NOT_STARTED(plugin_name)
#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_LOCK_ID   0
#define IDX_LOCK_TRX_ID   1
#define IDX_LOCK_MODE   2
#define IDX_LOCK_TYPE   3
#define IDX_LOCK_TABLE   4
#define IDX_LOCK_INDEX   5
#define IDX_LOCK_SPACE   6
#define IDX_LOCK_PAGE   7
#define IDX_LOCK_REC   8
#define IDX_LOCK_DATA   9
#define IDX_REQUESTING_TRX_ID   0
#define IDX_REQUESTED_LOCK_ID   1
#define IDX_BLOCKING_TRX_ID   2
#define IDX_BLOCKING_LOCK_ID   3
#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_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_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 SYS_TABLES_ID   0
#define SYS_TABLES_NAME   1
#define SYS_TABLES_FLAG   2
#define SYS_TABLES_NUM_COLUMN   3
#define SYS_TABLES_SPACE   4
#define SYS_TABLES_FILE_FORMAT   5
#define SYS_TABLES_ROW_FORMAT   6
#define SYS_TABLES_ZIP_PAGE_SIZE   7
#define SYS_TABLESTATS_ID   0
#define SYS_TABLESTATS_NAME   1
#define SYS_TABLESTATS_INIT   2
#define SYS_TABLESTATS_NROW   3
#define SYS_TABLESTATS_CLUST_SIZE   4
#define SYS_TABLESTATS_INDEX_SIZE   5
#define SYS_TABLESTATS_MODIFIED   6
#define SYS_TABLESTATS_AUTONINC   7
#define SYS_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_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_FIELD_INDEX_ID   0
#define SYS_FIELD_NAME   1
#define SYS_FIELD_POS   2
#define SYS_FOREIGN_ID   0
#define SYS_FOREIGN_FOR_NAME   1
#define SYS_FOREIGN_REF_NAME   2
#define SYS_FOREIGN_NUM_COL   3
#define SYS_FOREIGN_TYPE   4
#define SYS_FOREIGN_COL_ID   0
#define SYS_FOREIGN_COL_FOR_NAME   1
#define SYS_FOREIGN_COL_REF_NAME   2
#define SYS_FOREIGN_COL_POS   3
#define SYS_TABLESPACES_SPACE   0
#define SYS_TABLESPACES_NAME   1
#define SYS_TABLESPACES_FLAGS   2
#define SYS_TABLESPACES_FILE_FORMAT   3
#define SYS_TABLESPACES_ROW_FORMAT   4
#define SYS_TABLESPACES_PAGE_SIZE   5
#define SYS_TABLESPACES_ZIP_PAGE_SIZE   6
#define SYS_DATAFILES_SPACE   0
#define SYS_DATAFILES_PATH   1

Variables

UNIV_INTERN struct st_mysql_plugin i_s_innodb_trx
UNIV_INTERN struct st_mysql_plugin i_s_innodb_locks
UNIV_INTERN struct st_mysql_plugin i_s_innodb_lock_waits
UNIV_INTERN struct st_mysql_plugin i_s_innodb_cmp
UNIV_INTERN struct st_mysql_plugin i_s_innodb_cmp_reset
UNIV_INTERN struct st_mysql_plugin i_s_innodb_cmp_per_index
UNIV_INTERN struct st_mysql_plugin i_s_innodb_cmp_per_index_reset
UNIV_INTERN struct st_mysql_plugin i_s_innodb_cmpmem
UNIV_INTERN struct st_mysql_plugin i_s_innodb_cmpmem_reset
UNIV_INTERN struct st_mysql_plugin i_s_innodb_metrics
UNIV_INTERN struct st_mysql_plugin i_s_innodb_ft_default_stopword
UNIV_INTERN struct st_mysql_plugin i_s_innodb_ft_deleted
UNIV_INTERN struct st_mysql_plugin i_s_innodb_ft_being_deleted
UNIV_INTERN struct st_mysql_plugin i_s_innodb_ft_index_cache
UNIV_INTERN struct st_mysql_plugin i_s_innodb_ft_index_table
UNIV_INTERN struct st_mysql_plugin i_s_innodb_ft_config
UNIV_INTERN struct st_mysql_plugin i_s_innodb_buffer_stats
UNIV_INTERN struct st_mysql_plugin i_s_innodb_buffer_page
UNIV_INTERN struct st_mysql_plugin i_s_innodb_buffer_page_lru
UNIV_INTERN struct st_mysql_plugin i_s_innodb_sys_tables
UNIV_INTERN struct st_mysql_plugin i_s_innodb_sys_tablestats
UNIV_INTERN struct st_mysql_plugin i_s_innodb_sys_indexes
UNIV_INTERN struct st_mysql_plugin i_s_innodb_sys_columns
UNIV_INTERN struct st_mysql_plugin i_s_innodb_sys_fields
UNIV_INTERN struct st_mysql_plugin i_s_innodb_sys_foreign
UNIV_INTERN struct st_mysql_plugin i_s_innodb_sys_foreign_cols
UNIV_INTERN struct st_mysql_plugin i_s_innodb_sys_tablespaces
UNIV_INTERN struct st_mysql_plugin i_s_innodb_sys_datafiles

Detailed Description

InnoDB INFORMATION SCHEMA tables interface to MySQL.

Created July 18, 2007 Vasil Dimov

Definition in file i_s.cc.

Macro Definition Documentation

#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, SKIP_OPEN_TABLE)}

Definition at line 169 of file i_s.cc.

#define I_S_PAGE_TYPE_IBUF   (FIL_PAGE_TYPE_LAST + 1)

Change buffer B-tree page

Definition at line 69 of file i_s.cc.

#define 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

Definition at line 77 of file i_s.cc.

#define I_S_PAGE_TYPE_UNKNOWN   (I_S_PAGE_TYPE_IBUF + 1)
Any states greater than I_S_PAGE_TYPE_IBUF would be treated as

unknown.

Definition at line 73 of file i_s.cc.

#define MAX_BUF_INFO_CACHED   10000

maximum number of buffer page info we would cache.

Definition at line 140 of file i_s.cc.

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

Definition at line 142 of file i_s.cc.

#define RETURN_IF_INNODB_NOT_STARTED (   plugin_name)
Value:
do { \
if (!srv_was_started) { \
push_warning_printf(thd, Sql_condition::WARN_LEVEL_WARN, \
ER_CANT_FIND_SYSTEM_REC, \
"InnoDB: SELECTing from " \
"INFORMATION_SCHEMA.%s but " \
"the InnoDB storage engine " \
"is not installed", plugin_name); \
DBUG_RETURN(0); \
} \
} while (0)

Definition at line 147 of file i_s.cc.