summaryrefslogtreecommitdiff
path: root/mysql-test/t/big_tables_basic.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/t/big_tables_basic.test')
-rw-r--r--mysql-test/t/big_tables_basic.test179
1 files changed, 179 insertions, 0 deletions
diff --git a/mysql-test/t/big_tables_basic.test b/mysql-test/t/big_tables_basic.test
new file mode 100644
index 00000000000..8665895bb19
--- /dev/null
+++ b/mysql-test/t/big_tables_basic.test
@@ -0,0 +1,179 @@
+##################### mysql-test\t\big_tables_basic.test #######################
+# #
+# Variable Name: big_tables #
+# Scope: SESSION #
+# Access Type: Dynamic #
+# Data Type: Boolean #
+# Default Value: NA #
+# Range: NA #
+# #
+# #
+# Creation Date: 2008-02-07 #
+# Author: Salman Rawala #
+# #
+# Description: Test Cases of Dynamic System Variable "big_tables" #
+# that checks 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-options.html#option_mysqld_big-tables #
+# #
+################################################################################
+
+--source include/load_sysvars.inc
+
+##########################################################
+# START OF big_tables TESTS #
+##########################################################
+
+
+##################################################################
+# Saving initial value of big_tables in a temporary variable #
+##################################################################
+
+SET @start_value = @@big_tables;
+SELECT @start_value;
+
+--echo '#--------------------FN_DYNVARS_005_01------------------------#'
+#############################################################
+# Display the DEFAULT value of big_tables #
+#############################################################
+
+SET @@big_tables = 1;
+SET @@big_tables = DEFAULT;
+SELECT @@big_tables;
+--echo 'Bug# 34829: No default value for variable and setting default does not raise error';
+
+
+--echo '#--------------------FN_DYNVARS_005_02------------------------#'
+#############################################################
+# Change the value of big_tables to a valid value #
+#############################################################
+
+SET @@big_tables = 0;
+SELECT @@big_tables;
+SET @@big_tables = 1;
+SELECT @@big_tables;
+
+
+--echo '#--------------------FN_DYNVARS_005_03-------------------------#'
+###########################################################################
+# Change the value of big_tables to invalid value #
+###########################################################################
+
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@big_tables = 2;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@big_tables = -1;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@big_tables = TRUEF;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@big_tables = TRUE_F;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@big_tables = FALSE0;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@big_tables = OON;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@big_tables = ONN;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@big_tables = OOFF;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@big_tables = 0FF;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@big_tables = ' ';
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@big_tables = " ";
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@big_tables = '';
+
+
+
+--echo '#-------------------FN_DYNVARS_005_04----------------------------#'
+###########################################################################
+# Test if accessing global big_tables gives error #
+###########################################################################
+
+--Error ER_LOCAL_VARIABLE
+SET @@global.big_tables = 0;
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@global.big_tables;
+
+
+--echo '#----------------------FN_DYNVARS_005_05------------------------#'
+##############################################################################
+# Check if the value in SESSION Tables matches values in variable #
+##############################################################################
+
+SELECT @@big_tables = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='big_tables';
+--echo Bug # 34839: Values in variable and information_schema do not match for autocommit
+
+
+--echo '#---------------------FN_DYNVARS_005_06----------------------#'
+###################################################################
+# Check if ON and OFF values can be used on variable #
+###################################################################
+
+SET @@big_tables = OFF;
+SELECT @@big_tables;
+SET @@big_tables = ON;
+SELECT @@big_tables;
+
+--echo '#---------------------FN_DYNVARS_005_07----------------------#'
+###################################################################
+# Check if TRUE and FALSE values can be used on variable #
+###################################################################
+
+SET @@big_tables = TRUE;
+SELECT @@big_tables;
+SET @@big_tables = FALSE;
+SELECT @@big_tables;
+
+
+--echo '#---------------------FN_DYNVARS_005_08----------------------#'
+##############################################################################
+# Check if accessing variable with SESSION,LOCAL and without SCOPE points #
+# to same session variable #
+##############################################################################
+
+SET @@big_tables = 0;
+SELECT @@big_tables = @@session.big_tables;
+SET @@big_tables = 1;
+SELECT @@big_tables = @@local.big_tables and @@local.big_tables = @@session.big_tables;
+
+--echo '#---------------------FN_DYNVARS_005_09----------------------#'
+##########################################################################
+# Check if big_tables can be accessed with and without @@ sign #
+##########################################################################
+
+SET big_tables = 1;
+SELECT @@big_tables;
+--Error ER_PARSE_ERROR
+SET local.big_tables = 1;
+--Error ER_UNKNOWN_TABLE
+SELECT local.big_tables;
+--Error ER_PARSE_ERROR
+SET session.big_tables = 1;
+--Error ER_UNKNOWN_TABLE
+SELECT session.big_tables;
+--Error ER_BAD_FIELD_ERROR
+select big_tables;
+
+
+##############################
+# Restore initial value #
+##############################
+
+SET @@big_tables = @start_value;
+SELECT @@big_tables;
+
+
+#######################################################
+# END OF big_tables TESTS #
+#######################################################
+
+