summaryrefslogtreecommitdiff
path: root/mysql-test/suite/sys_vars/t/read_only_func.test
blob: 64141e3f91d0dd4657995aaf7cac84be276ecf2a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
############ 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;

DROP USER sameea;

DROP TABLE t1;
DROP TABLE t2;
SET global read_only = @default_read_only;

--disable_info
--enable_warnings