403Webshell
Server IP : 88.99.149.37  /  Your IP : 216.73.216.141
Web Server : nginx/1.31.2
System : Linux server-88-99-149-37 6.12.0-124.56.5.el10_1.x86_64 #1 SMP PREEMPT_DYNAMIC Fri May 15 06:12:08 EDT 2026 x86_64
User : muralimurth ( 1015)
PHP Version : 8.4.23
Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/local/mysql/mysql-test/suite/sys_vars/t/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/local/mysql/mysql-test/suite/sys_vars/t/query_cache_wlock_invalidate_func.test
######################################################################################
#                                                                                    #
# Variable Name: query_cache_wlock_invalidate                                        #
# Scope: GLOBAL & SESSION                                                            #
# Access Type: Dynamic                                                               #
# Data Type: boolean                                                                 #
# Default Value: FALSE                                                               #
# Values: TRUE / 1, FALSE / 0                                                        #
#                                                                                    #
#                                                                                    #
# Creation Date: 2008-02-21                                                          #
# Author:  Sharique Abdullah                                                         #
# Modified: HHunger 2009-02-27 Replaced sleeps, beautifications                      #
#                                                                                    #
# Description: Test Cases of Dynamic System Variable "query_cache_wlock_invalidate"  #
#              that checks behavior of this variable in the following ways           #
#              * Default Value                                                       #
#              * Valid & Invalid values                                              #
#              * Scope & Access method                                               #
#              * Cache behaviors                                                     #
#                                                                                    #
# Reference:                                                                         #
# http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html                #
#                                                                                    #
######################################################################################

--echo ** Setup **
--echo
#
# Setup
#

--source include/not_embedded.inc

# disabled due to differences in the result
--disable_ps_protocol
#
# Save initial value
#
connect (con0,localhost,root,,);
connect (con1, localhost, root,,);
connection con0;

SET @start_global_value = @@GLOBAL.query_cache_wlock_invalidate;
SET @start_session_value = @@SESSION.query_cache_wlock_invalidate;

SET @old_cache_size = @@GLOBAL.query_cache_size;
SET @old_cache_type = @@GLOBAL.query_cache_type;
SET GLOBAL query_cache_type= ON;
SET LOCAL query_cache_type= ON;
connection con1;
SET LOCAL query_cache_type= ON;
connection con0;

#
# Creating test table
#

CREATE TABLE t1(id int, value varchar(10));

INSERT INTO t1 VALUES(1, 'val1');
INSERT INTO t1 VALUES(2, 'val2');
INSERT INTO t1 VALUES(3, 'val3');

#
# Clearing the query cache and setting up cache size
#

SET GLOBAL query_cache_size = 131072;

--echo FLUSHING CACHE
SET GLOBAL query_cache_size = 0;
SET GLOBAL query_cache_size = 131072;

SET GLOBAL query_cache_type = ON;

#
# Testing for value ON
#
--echo Testing for value ON

connection con0;

SET SESSION query_cache_wlock_invalidate = ON;

connection con1;

SET SESSION query_cache_wlock_invalidate = ON;

--echo '#----------------------------FN_DYNVARS_136_01--------------#'
#
# Testing for cache invalidation
#

--echo Testing for cache invalidation

SELECT * FROM t1;

SHOW STATUS LIKE 'Qcache_queries_in_cache';
--echo 1 Expected

LOCK TABLE t1 WRITE;

UNLOCK TABLES;

SHOW STATUS LIKE 'Qcache_queries_in_cache';
--echo 0 Expected

--echo '#----------------------------FN_DYNVARS_136_02-----------------------#'
#
# Testing for blockage of access
#

disable_result_log;

SELECT * FROM t1;

SHOW STATUS LIKE 'Qcache_queries_in_cache';

enable_result_log;

connection con1;

SELECT * FROM t1;

connection con0;

LOCK TABLE t1 WRITE;

connection con1;

--echo ** Asynchronous Execution **
send SELECT * FROM t1;

connection con0;

--echo wait until table is locked
let $wait_condition= SELECT count(*) > 0 FROM information_schema.processlist
                     WHERE state= 'Waiting for table metadata lock';
--source include/wait_condition.inc
UNLOCK TABLES;

connection con1;
--echo ** Asynchronous Result **
reap;

#
# Testing for value OFF
#
--echo Testing for value OFF

connection con0;

SET SESSION query_cache_wlock_invalidate = OFF;

connection con1;

SET SESSION query_cache_wlock_invalidate = OFF;

--echo '#----------------------------FN_DYNVARS_136_03------------------#'
#
# Testing for cache invalidation
#

--echo Testing for cache invalidation

SELECT * FROM t1;

SHOW STATUS LIKE 'Qcache_queries_in_cache';
--echo 1 Expected

LOCK TABLE t1 WRITE;

UNLOCK TABLES;

SHOW STATUS LIKE 'Qcache_queries_in_cache';
--echo 0 Expected

--echo '#----------------------------FN_DYNVARS_136_04---------------------#'
#
# Testing for blockage of access
#

SELECT * FROM t1;

SHOW STATUS LIKE 'Qcache_queries_in_cache';
--echo 1 Expected

connection con1;

SELECT * FROM t1;

connection con0;
LOCK TABLE t1 WRITE;

connection con1;
--echo ** Should not be blocked **
SELECT * FROM t1;
SELECT * FROM t1;
SELECT * FROM t1;

connection con0;
UNLOCK TABLES;

connection con1;

--echo '#----------------------------FN_DYNVARS_136_05------------------------#'
#
# Session data integrity check & GLOBAL Value check
#

SET GLOBAL query_cache_wlock_invalidate = OFF;

connect (con_int1,localhost,root,,);
connection con_int1;

SELECT @@SESSION.query_cache_wlock_invalidate;
--echo Expected Value : 0 / OFF;
SET SESSION query_cache_wlock_invalidate = ON;

connect (con_int2,localhost,root,,);
connection con_int2;

SELECT @@SESSION.query_cache_wlock_invalidate;
--echo Expected Value : 0 / OFF;

SET SESSION query_cache_wlock_invalidate = OFF;

connection con_int1;
SELECT @@SESSION.query_cache_wlock_invalidate;
--echo Expected Value : 1 / ON;

connection con_int2;
SELECT @@SESSION.query_cache_wlock_invalidate;
--echo Expected Value : 0 / OFF;

SELECT @@GLOBAL.query_cache_wlock_invalidate;
--echo Expected Value : 0 / OFF;

connection default;
disconnect con_int1;
disconnect con_int2;

#
# Cleanup
#
--echo
--echo CLEANUP

connection con0;

SET @@GLOBAL.query_cache_wlock_invalidate = @start_global_value;
SET @@SESSION.query_cache_wlock_invalidate = @start_session_value ;
SET @@GLOBAL.query_cache_size = @old_cache_size;
SET @@GLOBAL.query_cache_type = @old_cache_type;

connection default;
disconnect con0;
disconnect con1;

DROP TABLE t1;

--enable_ps_protocol

Youez - 2016 - github.com/yon3zu
LinuXploit