mirror of
https://github.com/MariaDB/server.git
synced 2025-10-10 01:39:16 +02:00

Follow-up patch with adjustments of test files and updates of result files for tests. Some of tests were rewritten slighlty. Everywhere where common pattern used: ----- CREATE USER userA; --connect con1 ... userA ... <sql statements...> --disconnect con1 DROP USER userA; ----- the DROP USER statement has been eclosed into the directive --disable_warnings --enable_warnings This change is caused by the race conddition between --disconnect and DROP USER since a number of currently running sessions established on behalf the user being dropped is counted by holding the rw_lock THD_list_iterator::lock that is not acquired on execution the DROP USER statement but the lock is taken as the last step on handling disconnection (when the client is already sending the next statement). Therefore, for the cases where the command --disconnect precedes the DROP USER statement we hide the possible warnings about presence of active sessions for the user being deleted to make tests deterministic.
149 lines
4.3 KiB
Text
149 lines
4.3 KiB
Text
############ mysql-test\t\read_only_func.test ##################################
|
|
# #
|
|
#Variable Name: read_only #
|
|
#Scope: SESSION #
|
|
#Access Type: Dynamic #
|
|
#Data Type: BOOLEAN #
|
|
#Default Value: OFF #
|
|
#Values: ON, OFF #
|
|
# #
|
|
# #
|
|
#Creation Date: 2008-03-02 #
|
|
#Author: Sharique Abdullah #
|
|
# #
|
|
#Description: Test Cases of Dynamic System Variable "read_only" #
|
|
# that checks behavior of this variable in the following ways #
|
|
# * Functionality based on different values #
|
|
# #
|
|
#Reference: http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#
|
|
# option_mysqld_read_only #
|
|
# #
|
|
################################################################################
|
|
|
|
--echo ** Setup **
|
|
--echo
|
|
#
|
|
# Setup
|
|
#
|
|
|
|
--source include/not_embedded.inc
|
|
|
|
SET @default_read_only = @@read_only;
|
|
|
|
--echo '#--------------------FN_DYNVARS_140_01-------------------------#'
|
|
###################################
|
|
#Setting Read only value ON #
|
|
###################################
|
|
|
|
SET Global read_only=ON;
|
|
|
|
--disable_warnings
|
|
DROP TABLE IF EXISTS t1;
|
|
--enable_warnings
|
|
|
|
##################################
|
|
# Creating table #
|
|
##################################
|
|
|
|
|
|
# creating table
|
|
CREATE TABLE t1
|
|
(
|
|
id INT NOT NULL auto_increment,
|
|
PRIMARY KEY (id),
|
|
name BLOB
|
|
);
|
|
|
|
##################################
|
|
# Inserting values #
|
|
##################################
|
|
|
|
|
|
INSERT into t1(name) values("aaassssssssddddddddffffff");
|
|
|
|
###################################
|
|
# Updating values #
|
|
###################################
|
|
|
|
update t1 set name="jfjdf" where id=1;
|
|
|
|
###############################################
|
|
# Select to see wether value is updated or not#
|
|
###############################################
|
|
|
|
select * from t1 where id=1;
|
|
|
|
--echo '#--------------------FN_DYNVARS_140_02-------------------------#'
|
|
#########################################
|
|
#Creating user without Super privilege #
|
|
#########################################
|
|
|
|
|
|
--echo ** Creating new user with out super privilege**
|
|
CREATE user sameea;
|
|
grant all on test.* to sameea;
|
|
CONNECT (connn,localhost,sameea,,);
|
|
|
|
--Error ER_SPECIFIC_ACCESS_DENIED_ERROR
|
|
SET Global read_ONLY=ON;
|
|
--Error ER_OPTION_PREVENTS_STATEMENT
|
|
CREATE TABLE t2
|
|
(
|
|
id INT NOT NULL auto_increment,
|
|
PRIMARY KEY (id),
|
|
name BLOB
|
|
);
|
|
|
|
# With ps-protocol the error is ER_NO_SUCH_TABLE
|
|
--echo not updating values
|
|
--Error ER_OPTION_PREVENTS_STATEMENT,ER_NO_SUCH_TABLE
|
|
INSERT into t2(name) values("aaassssssssddddddddffffff");
|
|
|
|
|
|
--Error ER_OPTION_PREVENTS_STATEMENT,ER_NO_SUCH_TABLE
|
|
UPDATE t2 SET name="samia" where id=1;
|
|
|
|
--echo '#--------------------FN_DYNVARS_140_03-------------------------#'
|
|
|
|
###########################
|
|
# Testing temporary table #
|
|
###########################
|
|
CREATE TEMPORARY TABLE t3(a int);
|
|
|
|
--echo '#--------------------FN_DYNVARS_140_04-------------------------#'
|
|
###########################
|
|
# Turning read_only OFF #
|
|
###########################
|
|
connection default;
|
|
|
|
SET Global read_only=OFF;
|
|
connection connn;
|
|
|
|
CREATE TABLE t2
|
|
(
|
|
id INT NOT NULL auto_increment,
|
|
PRIMARY KEY (id),
|
|
name BLOB
|
|
);
|
|
--echo updating values
|
|
INSERT into t2(name) values("aaassssssssdddddddd");
|
|
|
|
UPDATE t2 SET name="samia" where id=1;
|
|
|
|
#
|
|
# Cleanup
|
|
#
|
|
connection default;
|
|
|
|
DISCONNECT connn;
|
|
|
|
--disable_warnings
|
|
DROP USER sameea;
|
|
--enable_warnings
|
|
|
|
DROP TABLE t1;
|
|
DROP TABLE t2;
|
|
SET global read_only = @default_read_only;
|
|
|
|
--disable_info
|
|
--enable_warnings
|