summaryrefslogtreecommitdiff
path: root/mysql-test/suite/sys_vars/t/group_concat_max_len_basic.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite/sys_vars/t/group_concat_max_len_basic.test')
-rw-r--r--mysql-test/suite/sys_vars/t/group_concat_max_len_basic.test206
1 files changed, 206 insertions, 0 deletions
diff --git a/mysql-test/suite/sys_vars/t/group_concat_max_len_basic.test b/mysql-test/suite/sys_vars/t/group_concat_max_len_basic.test
new file mode 100644
index 00000000000..1bc707f4b5d
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/group_concat_max_len_basic.test
@@ -0,0 +1,206 @@
+############## mysql-test\t\group_concat_max_len_basic.test ###############
+# #
+# Variable Name: group_concat_max_len #
+# Scope: GLOBAL | SESSION #
+# Access Type: Dynamic #
+# Data Type: numeric #
+# Default Value: 1024 #
+# Minimum value: 4 #
+# #
+# #
+# Creation Date: 2008-02-07 #
+# Author: Salman #
+# #
+# Description: Test Cases of Dynamic System Variable group_concat_max_len #
+# that checks the behavior of this variable in the following ways#
+# * Default Value #
+# * Valid & Invalid values #
+# * Scope & Access method #
+# * Data Integrity #
+# #
+# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
+# server-system-variables.html #
+# #
+###############################################################################
+
+--source include/load_sysvars.inc
+
+########################################################################
+# START OF group_concat_max_len TESTS #
+########################################################################
+
+
+#############################################################
+# Save initial value #
+#############################################################
+
+SET @start_global_value = @@global.group_concat_max_len;
+SELECT @start_global_value;
+SET @start_session_value = @@session.group_concat_max_len;
+SELECT @start_session_value;
+
+
+--echo '#--------------------FN_DYNVARS_034_01-------------------------#'
+########################################################################
+# Display the DEFAULT value of group_concat_max_len #
+########################################################################
+
+SET @@global.group_concat_max_len = 100;
+SET @@global.group_concat_max_len = DEFAULT;
+SELECT @@global.group_concat_max_len;
+
+SET @@session.group_concat_max_len = 200;
+SET @@session.group_concat_max_len = DEFAULT;
+SELECT @@session.group_concat_max_len;
+
+
+--echo '#--------------------FN_DYNVARS_034_02-------------------------#'
+########################################################################
+# Check the DEFAULT value of group_concat_max_len #
+########################################################################
+
+SET @@global.group_concat_max_len = DEFAULT;
+SELECT @@global.group_concat_max_len = 1;
+
+SET @@session.group_concat_max_len = DEFAULT;
+SELECT @@session.group_concat_max_len = 1;
+
+
+--echo '#--------------------FN_DYNVARS_034_03-------------------------#'
+##################################################################################
+# Change the value of group_concat_max_len to a valid value for GLOBAL Scope #
+##################################################################################
+
+SET @@global.group_concat_max_len = 1;
+SELECT @@global.group_concat_max_len;
+SET @@global.group_concat_max_len = 60020;
+SELECT @@global.group_concat_max_len;
+SET @@global.group_concat_max_len = 65535;
+SELECT @@global.group_concat_max_len;
+
+
+--echo '#--------------------FN_DYNVARS_034_04-------------------------#'
+###################################################################################
+# Change the value of group_concat_max_len to a valid value for SESSION Scope #
+###################################################################################
+
+SET @@session.group_concat_max_len = 1;
+SELECT @@session.group_concat_max_len;
+SET @@session.group_concat_max_len = 50050;
+SELECT @@session.group_concat_max_len;
+SET @@session.group_concat_max_len = 65535;
+SELECT @@session.group_concat_max_len;
+
+
+--echo '#------------------FN_DYNVARS_034_05-----------------------#'
+####################################################################
+# Change the value of group_concat_max_len to an invalid value #
+####################################################################
+
+SET @@global.group_concat_max_len = 0;
+SELECT @@global.group_concat_max_len;
+SET @@global.group_concat_max_len = -1024;
+SELECT @@global.group_concat_max_len;
+SET @@global.group_concat_max_len = 65536;
+SELECT @@global.group_concat_max_len;
+--Error ER_PARSE_ERROR
+SET @@global.group_concat_max_len = 65530.34.;
+SELECT @@global.group_concat_max_len;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.group_concat_max_len = test;
+SELECT @@global.group_concat_max_len;
+
+SET @@session.group_concat_max_len = 0;
+SELECT @@session.group_concat_max_len;
+SET @@session.group_concat_max_len = -2;
+SELECT @@session.group_concat_max_len;
+--Error ER_PARSE_ERROR
+SET @@session.group_concat_max_len = 65530.34.;
+SET @@session.group_concat_max_len = 65550;
+SELECT @@session.group_concat_max_len;
+echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable';
+
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@session.group_concat_max_len = test;
+SELECT @@session.group_concat_max_len;
+
+
+--echo '#------------------FN_DYNVARS_034_06-----------------------#'
+####################################################################
+# Check if the value in GLOBAL Table matches value in variable #
+####################################################################
+
+
+SELECT @@global.group_concat_max_len = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='group_concat_max_len';
+
+--echo '#------------------FN_DYNVARS_034_07-----------------------#'
+####################################################################
+# Check if the value in SESSION Table matches value in variable #
+####################################################################
+
+SELECT @@session.group_concat_max_len = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='group_concat_max_len';
+
+
+--echo '#------------------FN_DYNVARS_034_08-----------------------#'
+####################################################################
+# Check if TRUE and FALSE values can be used on variable #
+####################################################################
+
+SET @@global.group_concat_max_len = TRUE;
+SELECT @@global.group_concat_max_len;
+SET @@global.group_concat_max_len = FALSE;
+SELECT @@global.group_concat_max_len;
+
+
+--echo '#---------------------FN_DYNVARS_001_09----------------------#'
+####################################################################################
+# Check if accessing variable with and without GLOBAL point to same variable #
+####################################################################################
+
+SET @@global.group_concat_max_len = 10;
+SELECT @@group_concat_max_len = @@global.group_concat_max_len;
+
+
+--echo '#---------------------FN_DYNVARS_001_10----------------------#'
+########################################################################################################
+# Check if accessing variable with SESSION,LOCAL and without SCOPE points to same session variable #
+########################################################################################################
+
+SET @@group_concat_max_len = 100;
+SELECT @@group_concat_max_len = @@local.group_concat_max_len;
+SELECT @@local.group_concat_max_len = @@session.group_concat_max_len;
+
+
+--echo '#---------------------FN_DYNVARS_001_11----------------------#'
+###################################################################################
+# Check if group_concat_max_len can be accessed with and without @@ sign #
+###################################################################################
+
+SET group_concat_max_len = 1;
+SELECT @@group_concat_max_len;
+--Error ER_UNKNOWN_TABLE
+SELECT local.group_concat_max_len;
+--Error ER_UNKNOWN_TABLE
+SELECT session.group_concat_max_len;
+--Error ER_BAD_FIELD_ERROR
+SELECT group_concat_max_len = @@session.group_concat_max_len;
+
+
+####################################
+# Restore initial value #
+####################################
+
+SET @@global.group_concat_max_len = @start_global_value;
+SELECT @@global.group_concat_max_len;
+SET @@session.group_concat_max_len = @start_session_value;
+SELECT @@session.group_concat_max_len;
+
+
+#############################################################
+# END OF group_concat_max_len TESTS #
+#############################################################
+