summaryrefslogtreecommitdiff
path: root/mysql-test/suite/sys_vars/t/myisam_data_pointer_size_basic.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite/sys_vars/t/myisam_data_pointer_size_basic.test')
-rw-r--r--mysql-test/suite/sys_vars/t/myisam_data_pointer_size_basic.test182
1 files changed, 182 insertions, 0 deletions
diff --git a/mysql-test/suite/sys_vars/t/myisam_data_pointer_size_basic.test b/mysql-test/suite/sys_vars/t/myisam_data_pointer_size_basic.test
new file mode 100644
index 00000000000..d151c6000b8
--- /dev/null
+++ b/mysql-test/suite/sys_vars/t/myisam_data_pointer_size_basic.test
@@ -0,0 +1,182 @@
+
+############## mysql-test\t\myisam_data_pointer_size_basic.test ################
+# #
+# Variable Name: myisam_data_pointer_size #
+# Scope: GLOBAL & SESSION #
+# Access Type: Dynamic #
+# Data Type: Numeric #
+# Default Value: 1 #
+# Range: 1 - 65536 #
+# #
+# #
+# Creation Date: 2008-02-07 #
+# Author: Rizwan Maredia #
+# #
+# Description: Test Cases of Dynamic System Variable myisam_data_pointer_size #
+# 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 myisam_data_pointer_size TESTS #
+###################################################################
+
+
+#############################################################
+# Save initial value #
+#############################################################
+
+SET @start_global_value = @@global.myisam_data_pointer_size;
+SELECT @start_global_value;
+
+--echo '#--------------------FN_DYNVARS_093_01-------------------------#'
+###################################################################
+# Display the DEFAULT value of myisam_data_pointer_size #
+###################################################################
+
+SET @@global.myisam_data_pointer_size = 5;
+SET @@global.myisam_data_pointer_size = DEFAULT;
+SELECT @@global.myisam_data_pointer_size;
+
+--echo '#--------------------FN_DYNVARS_093_02-------------------------#'
+###################################################################
+# Check the DEFAULT value of myisam_data_pointer_size #
+###################################################################
+
+SET @@global.myisam_data_pointer_size = DEFAULT;
+SELECT @@global.myisam_data_pointer_size = 6;
+
+--echo '#--------------------FN_DYNVARS_093_03-------------------------#'
+##################################################################################
+# Change the value of myisam_data_pointer_size to a valid value for GLOBAL Scope #
+##################################################################################
+
+SET @@global.myisam_data_pointer_size = 2;
+SELECT @@global.myisam_data_pointer_size;
+SET @@global.myisam_data_pointer_size = 3;
+SELECT @@global.myisam_data_pointer_size;
+SET @@global.myisam_data_pointer_size = 4;
+SELECT @@global.myisam_data_pointer_size;
+SET @@global.myisam_data_pointer_size = 5;
+SELECT @@global.myisam_data_pointer_size;
+SET @@global.myisam_data_pointer_size = 6;
+SELECT @@global.myisam_data_pointer_size;
+SET @@global.myisam_data_pointer_size = 7;
+SELECT @@global.myisam_data_pointer_size;
+
+--echo '#--------------------FN_DYNVARS_093_04-------------------------#'
+#################################################################################
+# Check if variable can be access with session scope #
+#################################################################################
+
+--Error ER_GLOBAL_VARIABLE
+SET @@myisam_data_pointer_size = 2;
+
+--Error ER_GLOBAL_VARIABLE
+SET @@session.myisam_data_pointer_size = 3;
+
+--Error ER_GLOBAL_VARIABLE
+SET @@local.myisam_data_pointer_size = 4;
+
+
+
+--echo '#------------------FN_DYNVARS_093_05-----------------------#'
+####################################################################
+# Change the value of myisam_data_pointer_size to an invalid value #
+####################################################################
+
+SET @@global.myisam_data_pointer_size = -1;
+SELECT @@global.myisam_data_pointer_size;
+SET @@global.myisam_data_pointer_size = 8;
+SELECT @@global.myisam_data_pointer_size;
+SET @@global.myisam_data_pointer_size = 1;
+SELECT @@global.myisam_data_pointer_size;
+SET @@global.myisam_data_pointer_size = 4294967296;
+SELECT @@global.myisam_data_pointer_size;
+--Error ER_PARSE_ERROR
+SET @@global.myisam_data_pointer_size = 65530.34.;
+SELECT @@global.myisam_data_pointer_size;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.myisam_data_pointer_size = two;
+SELECT @@global.myisam_data_pointer_size;
+
+--echo 'Bug # 34837: Errors are not coming on assigning invalid values to variable';
+
+
+--echo '#------------------FN_DYNVARS_093_06-----------------------#'
+####################################################################
+# Check if the value in GLOBAL Table matches value in variable #
+####################################################################
+
+SET @@global.myisam_data_pointer_size = 3;
+SELECT @@global.myisam_data_pointer_size = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='myisam_data_pointer_size';
+
+
+--echo '#------------------FN_DYNVARS_093_07-----------------------#'
+###########################################################################
+# Check if the value is present in INFORMATION_SCHEMA.SESSION_VARIABLES #
+###########################################################################
+
+SELECT count(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='myisam_data_pointer_size';
+
+
+--echo '#------------------FN_DYNVARS_093_08-----------------------#'
+####################################################################
+# Check if TRUE and FALSE values can be used on variable #
+####################################################################
+
+SET @@global.myisam_data_pointer_size = TRUE;
+SELECT @@global.myisam_data_pointer_size;
+SET @@global.myisam_data_pointer_size = FALSE;
+SELECT @@global.myisam_data_pointer_size;
+
+
+--echo '#---------------------FN_DYNVARS_001_09----------------------#'
+#################################################################################
+# Check if accessing variable with and without GLOBAL point to same variable #
+#################################################################################
+
+
+SET @@global.myisam_data_pointer_size = 5;
+SELECT @@myisam_data_pointer_size = @@global.myisam_data_pointer_size;
+
+
+--echo '#---------------------FN_DYNVARS_001_10----------------------#'
+##################################################################################
+# Check if myisam_data_pointer_size can be accessed without @@ sign and scope #
+##################################################################################
+
+--Error ER_GLOBAL_VARIABLE
+SET myisam_data_pointer_size = 7;
+--Error ER_BAD_FIELD_ERROR
+SELECT myisam_data_pointer_size;
+
+SELECT @@myisam_data_pointer_size;
+
+#verifying another syntax for setting value#
+
+SET global myisam_data_pointer_size = 2;
+
+####################################
+# Restore initial value #
+####################################
+
+SET @@global.myisam_data_pointer_size = @start_global_value;
+SELECT @@global.myisam_data_pointer_size;
+
+########################################################
+# END OF myisam_data_pointer_size TESTS #
+########################################################
+