1
############### mysql-test\t\delayed_insert_limit_basic.test ###################
3
# Variable Name: delayed_insert_limit #
5
# Access Type: Dynamic #
8
# Range: 1 - 4294967295 #
11
# Creation Date: 2008-02-07 #
12
# Author: Salman Rawala #
14
# Description: Test Cases of Dynamic System Variable "delayed_insert_limit" #
15
# that checks behavior of this variable in the following ways #
17
# * Valid & Invalid values #
18
# * Scope & Access method #
21
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
22
# server-system-variables.html#option_mysqld_delayed_insert_limit #
24
################################################################################
26
--source include/load_sysvars.inc
28
#################################################################
29
# START OF delayed_insert_limit TESTS #
30
#################################################################
32
#########################################################################
33
# Saving initial value of delayed_insert_limit in a temporary variable #
34
#########################################################################
36
SET @start_value = @@global.delayed_insert_limit;
39
--echo '#--------------------FN_DYNVARS_024_01------------------------#'
40
#########################################################################
41
# Display the DEFAULT value of delayed_insert_limit #
42
#########################################################################
44
SET @@global.delayed_insert_limit = 100;
45
SET @@global.delayed_insert_limit = DEFAULT;
46
SELECT @@global.delayed_insert_limit;
49
--echo '#---------------------FN_DYNVARS_024_02-------------------------#'
50
###############################################
51
# Verify default value of variable #
52
###############################################
54
SET @@global.delayed_insert_limit = @start_value;
55
SELECT @@global.delayed_insert_limit = 100;
58
--echo '#--------------------FN_DYNVARS_024_03------------------------#'
59
#########################################################################
60
# Change the value of delayed_insert_limit to a valid value #
61
#########################################################################
63
SET @@global.delayed_insert_limit = 10000;
64
SELECT @@global.delayed_insert_limit;
65
SET @@global.delayed_insert_limit = 4294967295;
66
SELECT @@global.delayed_insert_limit;
67
SET @@global.delayed_insert_limit = 1;
68
SELECT @@global.delayed_insert_limit;
71
--echo '#--------------------FN_DYNVARS_024_04-------------------------#'
72
############################################################################
73
# Change the value of delayed_insert_limit to invalid value #
74
############################################################################
76
SET @@global.delayed_insert_limit = 0;
77
SELECT @@global.delayed_insert_limit;
78
SET @@global.delayed_insert_limit = -1024;
79
SELECT @@global.delayed_insert_limit;
80
SET @@global.delayed_insert_limit = 42949672950;
81
SELECT @@global.delayed_insert_limit;
82
echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable';
84
--Error ER_WRONG_TYPE_FOR_VAR
85
SET @@global.delayed_insert_limit = 429496729.5;
86
SELECT @@global.delayed_insert_limit;
87
--Error ER_WRONG_TYPE_FOR_VAR
88
SET @@global.delayed_insert_limit = ON;
89
SELECT @@global.delayed_insert_limit;
93
--echo '#-------------------FN_DYNVARS_024_05----------------------------#'
94
############################################################################
95
# Test if accessing session delayed_insert_limit gives error #
96
############################################################################
98
--Error ER_GLOBAL_VARIABLE
99
SET @@session.delayed_insert_limit = 0;
100
--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
101
SELECT @@Session.delayed_insert_limit;
104
--echo '#----------------------FN_DYNVARS_024_06------------------------#'
105
##############################################################################
106
# Check if the value in GLOBAL & SESSION Tables matches values in variable #
107
##############################################################################
109
SELECT @@global.delayed_insert_limit =
110
VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
111
WHERE VARIABLE_NAME='delayed_insert_limit';
113
SELECT @@delayed_insert_limit =
114
VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES
115
WHERE VARIABLE_NAME='delayed_insert_limit';
118
--echo '#---------------------FN_DYNVARS_024_07----------------------#'
119
###################################################################
120
# Check if TRUE and FALSE values can be used on variable #
121
###################################################################
123
SET @@global.delayed_insert_limit = TRUE;
124
SELECT @@global.delayed_insert_limit;
125
SET @@global.delayed_insert_limit = FALSE;
126
SELECT @@global.delayed_insert_limit;
128
--echo '#---------------------FN_DYNVARS_024_08----------------------#'
129
########################################################################################################
130
# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable #
131
########################################################################################################
133
SET @@global.delayed_insert_limit = 1;
134
SELECT @@delayed_insert_limit = @@global.delayed_insert_limit;
137
--echo '#---------------------FN_DYNVARS_024_09----------------------#'
138
##############################################################################
139
# Check if delayed_insert_limit can be accessed with and without @@ sign #
140
##############################################################################
142
--Error ER_GLOBAL_VARIABLE
143
SET delayed_insert_limit = 1;
144
SELECT @@delayed_insert_limit;
145
--Error ER_PARSE_ERROR
146
SET local.delayed_insert_limit = 1;
147
--Error ER_UNKNOWN_TABLE
148
SELECT local.delayed_insert_limit;
149
--Error ER_PARSE_ERROR
150
SET global.delayed_insert_limit = 1;
151
--Error ER_UNKNOWN_TABLE
152
SELECT global.delayed_insert_limit;
153
--Error ER_BAD_FIELD_ERROR
154
SELECT delayed_insert_limit = @@session.delayed_insert_limit;
156
##############################
157
# Restore initial value #
158
##############################
160
SET @@global.delayed_insert_limit = @start_value;
161
SELECT @@global.delayed_insert_limit;
164
###########################################################
165
# END OF delayed_insert_limit TESTS #
166
###########################################################