AnonSec Shell
Server IP : 185.86.78.101  /  Your IP : 216.73.216.124
Web Server : Apache
System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64
User : www ( 1000)
PHP Version : 7.4.33
Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /www/server/mysql/mysql-test/t/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /www/server/mysql/mysql-test/t/table_definition_cache_functionality.test
###############################################################################
#                                                                             #
# Variable Name: table_definition_cache                                       #
# Scope: Global                                                               #
# Access Type: Dynamic                                                        #
# Data Type: numeric                                                          #
#                                                                             #
#                                                                             #
# Creation Date: 2012-08-31                                                   #
# Author : Tanjot Singh Uppal                                                 #
#                                                                             #
#                                                                             #
# Description:Test Cases of Dynamic System Variable table_definition_cache    #
#             that checks the behavior of this variable in the following ways #
#              * Value Check                                                  #
#              * Scope Check                                                  #
#              * Functionality Check                                          #
#              * Accessability Check                                          #
#                                                                             #               
# This test does not perform the crash recovery on this variable              # 
# For crash recovery test on default change please run the ibtest             #
###############################################################################

-- source include/have_innodb.inc
-- source include/not_embedded.inc
-- source include/have_innodb_16k.inc

echo '#________________________VAR_05_table_definition_cache__________________#'
echo '##'
--echo '#---------------------WL6372_VAR_5_01----------------------#'
####################################################################
#   Checking default value                                         #
####################################################################
SELECT COUNT(@@GLOBAL.table_definition_cache);
--echo 1 Expected

SET @@GLOBAL.table_definition_cache=DEFAULT;
SELECT IF (@@open_files_limit < 5000, 1400, @@GLOBAL.table_definition_cache);
--echo 1400 Expected


--echo '#---------------------WL6372_VAR_5_02----------------------#'
#################################################################################
# Checking the Default value post starting the server with other value          #
#################################################################################
--echo # Restart server with table_definition_cache 1

let $restart_file= $MYSQLTEST_VARDIR/tmp/mysqld.1.expect;
--exec echo "wait" > $restart_file
--shutdown_server 
--source include/wait_until_disconnected.inc
-- exec echo "restart:--table_definition_cache=2000  " > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
-- enable_reconnect
-- source include/wait_until_connected_again.inc

SELECT @@GLOBAL.table_definition_cache;
--echo 2000 Expected

SET @@GLOBAL.table_definition_cache=DEFAULT;
SELECT IF (@@open_files_limit < 5000, 1400, @@GLOBAL.table_definition_cache);
--echo 1400 Expected


--echo '#---------------------WL6372_VAR_5_03----------------------#'
####################################################################
#   Checking Value can be set - Dynamic                            #
####################################################################

--error ER_GLOBAL_VARIABLE
SET @@local.table_definition_cache=1;
--echo Expected error 'Global variable'

--error ER_GLOBAL_VARIABLE
SET @@session.table_definition_cache=1;
--echo Expected error 'Global variable'

--disable_warnings
SET @@GLOBAL.table_definition_cache=1;
--enable_warnings

SET @@GLOBAL.table_definition_cache=DEFAULT;


SELECT IF (@@open_files_limit < 5000, 1400, @@GLOBAL.table_definition_cache);
--echo 1400 Expected

--echo '#---------------------WL6372_VAR_5_04----------------------#'
#################################################################
# Check if the value in GLOBAL Table matches value in variable  #
#################################################################
--disable_warnings
SELECT @@GLOBAL.table_definition_cache = VARIABLE_VALUE
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='table_definition_cache';
--enable_warnings
--echo 1 Expected

SELECT COUNT(@@GLOBAL.table_definition_cache);
--echo 1 Expected

--disable_warnings
SELECT COUNT(VARIABLE_VALUE)
FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES 
WHERE VARIABLE_NAME='table_definition_cache';
--enable_warnings
--echo 1 Expected



--echo '#---------------------WL6372_VAR_5_05----------------------#'
################################################################################
#  Checking Variable Scope                                                     #
################################################################################
SELECT @@table_definition_cache = @@GLOBAL.table_definition_cache;
--echo 1 Expected

--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@local.table_definition_cache);
--echo Expected error 'Variable is a GLOBAL variable'

--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
SELECT COUNT(@@SESSION.table_definition_cache);
--echo Expected error 'Variable is a GLOBAL variable'

SELECT COUNT(@@GLOBAL.table_definition_cache);
--echo 1 Expected

--Error ER_BAD_FIELD_ERROR
SELECT table_definition_cache = @@SESSION.table_definition_cache;
--echo Expected error 'Unknown column table_definition_cache in field list'



--echo '#---------------------WL6372_VAR_5_06----------------------#'
###############################################################################
# Checking the /Var  directory size                                           #
###############################################################################
-- source include/vardir_size_check.inc
--echo TRUE Expected

--echo '#---------------------WL6372_VAR_5_07----------------------#'
#################################################################################
# Checking the size of table definition cache functionality                     #
#################################################################################
flush tables;
flush status;

--disable_warnings
set @Open_table_definitions = (select variable_value from information_schema.session_status where variable_name ='Open_table_definitions');
set @Opened_table_definitions = (select variable_value from information_schema.session_status where variable_name ='Opened_table_definitions');
--enable_warnings

--echo # create 2 tables 

--disable_warnings
DROP TABLE IF EXISTS tab1;
DROP TABLE IF EXISTS tab2;
--enable_warnings

let $table = tab1;
--source include/create_table.inc

let $table = tab2;
--source include/create_table.inc

--disable_warnings
select (select variable_value from information_schema.session_status where variable_name ='Open_table_definitions') = @Open_table_definitions;
--echo 1 Expected

select (select variable_value from information_schema.session_status where variable_name ='Opened_table_definitions') = @Opened_table_definitions + 2;
--enable_warnings
--echo 1 Expected

--echo # open two tables

select 1 from tab1;
--echo 1 Expected

--disable_warnings
select (select variable_value from information_schema.session_status where variable_name ='Open_table_definitions') = @Open_table_definitions + 1;
--echo 1 Expected

select (select variable_value from information_schema.session_status where variable_name ='Opened_table_definitions') = @Opened_table_definitions + 3;
--enable_warnings
--echo 1 Expected

select 1 from tab2;
--echo 1 Expected

--disable_warnings
select (select variable_value from information_schema.session_status where variable_name ='Open_table_definitions') = @Open_table_definitions + 2;
--echo 1 Expected

select (select variable_value from information_schema.session_status where variable_name ='Opened_table_definitions') = @Opened_table_definitions + 4;
--enable_warnings
--echo 1 Expected

DROP TABLE IF EXISTS tab1;

--disable_warnings
select (select variable_value from information_schema.session_status where variable_name ='Open_table_definitions') = @Open_table_definitions + 1;
--echo 1 Expected

select (select variable_value from information_schema.session_status where variable_name ='Opened_table_definitions') = @Opened_table_definitions + 4;
--enable_warnings
--echo 1 Expected


DROP TABLE IF EXISTS tab2;

--disable_warnings
select (select variable_value from information_schema.session_status where variable_name ='Open_table_definitions') = @Open_table_definitions;
--echo 1 Expected

select (select variable_value from information_schema.session_status where variable_name ='Opened_table_definitions') = @Opened_table_definitions + 4;
--enable_warnings
--echo 1 Expected




--echo #cleanup
set @@GLOBAL.table_definition_cache=DEFAULT;

Anon7 - 2022
AnonSec Team