mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 20:36:16 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			91 lines
		
	
	
	
		
			3.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
	
		
			3.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*****************************************************************************
 | 
						|
 | 
						|
Copyright (c) 2007, 2015, Oracle and/or its affiliates. All Rights Reserved.
 | 
						|
Copyright (c) 2014, 2021, MariaDB Corporation.
 | 
						|
 | 
						|
This program is free software; you can redistribute it and/or modify it under
 | 
						|
the terms of the GNU General Public License as published by the Free Software
 | 
						|
Foundation; version 2 of the License.
 | 
						|
 | 
						|
This program is distributed in the hope that it will be useful, but WITHOUT
 | 
						|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 | 
						|
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 | 
						|
 | 
						|
You should have received a copy of the GNU General Public License along with
 | 
						|
this program; if not, write to the Free Software Foundation, Inc.,
 | 
						|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA
 | 
						|
 | 
						|
*****************************************************************************/
 | 
						|
 | 
						|
/**************************************************//**
 | 
						|
@file handler/i_s.h
 | 
						|
InnoDB INFORMATION SCHEMA tables interface to MySQL.
 | 
						|
 | 
						|
Created July 18, 2007 Vasil Dimov
 | 
						|
Modified Dec 29, 2014 Jan Lindström
 | 
						|
*******************************************************/
 | 
						|
 | 
						|
#ifndef i_s_h
 | 
						|
#define i_s_h
 | 
						|
#include "dict0types.h"
 | 
						|
 | 
						|
const char plugin_author[] = "Oracle Corporation";
 | 
						|
const char maria_plugin_author[] = "MariaDB Corporation";
 | 
						|
 | 
						|
extern struct st_maria_plugin	i_s_innodb_trx;
 | 
						|
extern struct st_maria_plugin	i_s_innodb_locks;
 | 
						|
extern struct st_maria_plugin	i_s_innodb_lock_waits;
 | 
						|
extern struct st_maria_plugin	i_s_innodb_cmp;
 | 
						|
extern struct st_maria_plugin	i_s_innodb_cmp_reset;
 | 
						|
extern struct st_maria_plugin	i_s_innodb_cmp_per_index;
 | 
						|
extern struct st_maria_plugin	i_s_innodb_cmp_per_index_reset;
 | 
						|
extern struct st_maria_plugin	i_s_innodb_cmpmem;
 | 
						|
extern struct st_maria_plugin	i_s_innodb_cmpmem_reset;
 | 
						|
extern struct st_maria_plugin   i_s_innodb_metrics;
 | 
						|
extern struct st_maria_plugin	i_s_innodb_ft_default_stopword;
 | 
						|
extern struct st_maria_plugin	i_s_innodb_ft_deleted;
 | 
						|
extern struct st_maria_plugin	i_s_innodb_ft_being_deleted;
 | 
						|
extern struct st_maria_plugin	i_s_innodb_ft_index_cache;
 | 
						|
extern struct st_maria_plugin	i_s_innodb_ft_index_table;
 | 
						|
extern struct st_maria_plugin	i_s_innodb_ft_config;
 | 
						|
extern struct st_maria_plugin	i_s_innodb_buffer_page;
 | 
						|
extern struct st_maria_plugin	i_s_innodb_buffer_page_lru;
 | 
						|
extern struct st_maria_plugin	i_s_innodb_buffer_stats;
 | 
						|
extern struct st_maria_plugin	i_s_innodb_sys_tables;
 | 
						|
extern struct st_maria_plugin	i_s_innodb_sys_tablestats;
 | 
						|
extern struct st_maria_plugin	i_s_innodb_sys_indexes;
 | 
						|
extern struct st_maria_plugin	i_s_innodb_sys_columns;
 | 
						|
extern struct st_maria_plugin	i_s_innodb_sys_fields;
 | 
						|
extern struct st_maria_plugin	i_s_innodb_sys_foreign;
 | 
						|
extern struct st_maria_plugin	i_s_innodb_sys_foreign_cols;
 | 
						|
extern struct st_maria_plugin	i_s_innodb_sys_tablespaces;
 | 
						|
extern struct st_maria_plugin	i_s_innodb_sys_virtual;
 | 
						|
extern struct st_maria_plugin	i_s_innodb_tablespaces_encryption;
 | 
						|
 | 
						|
/** The latest successfully looked up innodb_fts_aux_table */
 | 
						|
extern table_id_t innodb_ft_aux_table_id;
 | 
						|
 | 
						|
/** maximum number of buffer page info we would cache. */
 | 
						|
#define MAX_BUF_INFO_CACHED		10000
 | 
						|
 | 
						|
#define OK(expr)		\
 | 
						|
	if ((expr) != 0) {	\
 | 
						|
		DBUG_RETURN(1);	\
 | 
						|
	}
 | 
						|
 | 
						|
#define BREAK_IF(expr) if ((expr)) break
 | 
						|
 | 
						|
#define RETURN_IF_INNODB_NOT_STARTED(plugin_name)			\
 | 
						|
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)
 | 
						|
 | 
						|
#endif /* i_s_h */
 |