1
0
mirror of https://github.com/MariaDB/server.git synced 2025-05-08 15:01:49 +03:00
mariadb/mysql-test/suite/sys_vars/t/auto_increment_increment_func.test
Sergei Golubchik 1ad5bb1a69 WL#4738 streamline/simplify @@variable creation process
Bug#16565 mysqld --help --verbose does not order variablesBug#20413 sql_slave_skip_counter is not shown in show variables
Bug#20415 Output of mysqld --help --verbose is incomplete
Bug#25430 variable not found in SELECT @@global.ft_max_word_len;
Bug#32902 plugin variables don't know their names
Bug#34599 MySQLD Option and Variable Reference need to be consistent in formatting!
Bug#34829 No default value for variable and setting default does not raise error
Bug#34834 ? Is accepted as a valid sql mode
Bug#34878 Few variables have default value according to documentation but error occurs  
Bug#34883 ft_boolean_syntax cant be assigned from user variable to global var.
Bug#37187 `INFORMATION_SCHEMA`.`GLOBAL_VARIABLES`: inconsistent status
Bug#40988 log_output_basic.test succeeded though syntactically false.
Bug#41010 enum-style command-line options are not honoured (maria.maria-recover fails)
Bug#42103 Setting key_buffer_size to a negative value may lead to very large allocations 
Bug#44691 Some plugins configured as MYSQL_PLUGIN_MANDATORY in can be disabled
Bug#44797 plugins w/o command-line options have no disabling option in --help
Bug#46314 string system variables don't support expressions
Bug#46470 sys_vars.max_binlog_cache_size_basic_32 is broken
Bug#46586 When using the plugin interface the type "set" for options caused a crash.
Bug#47212 Crash in DBUG_PRINT in mysqltest.cc when trying to print octal number
Bug#48758 mysqltest crashes on sys_vars.collation_server_basic in gcov builds
Bug#49417 some complaints about mysqld --help --verbose output
Bug#49540 DEFAULT value of binlog_format isn't the default value
Bug#49640 ambiguous option '--skip-skip-myisam' (double skip prefix)
Bug#49644 init_connect and \0
Bug#49645 init_slave and multi-byte characters
Bug#49646 mysql --show-warnings crashes when server dies


CMakeLists.txt:
  Bug#44691 Some plugins configured as MYSQL_PLUGIN_MANDATORY in can be disabled
client/mysql.cc:
  don't crash with --show-warnings when mysqld dies
config/ac-macros/plugins.m4:
  Bug#44691 Some plugins configured as MYSQL_PLUGIN_MANDATORY in can be disabled
include/my_getopt.h:
  comments
include/my_pthread.h:
  fix double #define
mysql-test/mysql-test-run.pl:
  run sys_vars suite by default
  properly recognize envirinment variables (e.g. MTR_MAX_SAVE_CORE) set to 0
  escape gdb command line arguments
mysql-test/suite/sys_vars/r/rpl_init_slave_func.result:
  init_slave+utf8 bug
mysql-test/suite/sys_vars/t/rpl_init_slave_func.test:
  init_slave+utf8 bug
mysys/my_getopt.c:
  Bug#34599 MySQLD Option and Variable Reference need to be consistent in formatting!
  Bug#46586 When using the plugin interface the type "set" for options caused a crash.
  Bug#49640 ambiguous option '--skip-skip-myisam' (double skip prefix)
mysys/typelib.c:
  support for flagset
sql/ha_ndbcluster.cc:
  backport from telco tree
sql/item_func.cc:
  Bug#49644 init_connect and \0
  Bug#49645 init_slave and multi-byte characters
sql/sql_builtin.cc.in:
  Bug#44691 Some plugins configured as MYSQL_PLUGIN_MANDATORY in can be disabled
sql/sql_plugin.cc:
  Bug#44691 Some plugins configured as MYSQL_PLUGIN_MANDATORY in can be disabled
  Bug#32902 plugin variables don't know their names
  Bug#44797 plugins w/o command-line options have no disabling option in --help
sql/sys_vars.cc:
  all server variables are defined here
storage/myisam/ft_parser.c:
  remove unnecessary updates of param->quot
storage/myisam/ha_myisam.cc:
  myisam_* variables belong here
strings/my_vsnprintf.c:
  %o and %llx
unittest/mysys/my_vsnprintf-t.c:
  %o and %llx tests
vio/viosocket.c:
  bugfix: fix @@wait_timeout to work with socket timeouts (vs. alarm thread)
2009-12-22 10:35:56 +01:00

198 lines
7.9 KiB
Plaintext

############## mysql-test\t\auto_increment_increment_func.test ################
# #
# Variable Name: auto_increment_increment #
# Scope: GLOBAL & SESSION #
# Access Type: Dynamic #
# Data Type: Numeric #
# Default Value: 1 #
# Range: 1 - 65536 #
# #
# #
# Creation Date: 2008-03-07 #
# Author: Salman Rawala #
# #
# Description: Test Cases of Dynamic System Variable "auto_increment_increment"#
# that checks functionality of this variable #
# #
# Reference: http://dev.mysql.com/doc/refman/5.1/en/ #
# server-system-variables.html#option_mysqld_auto-increment-increment #
# #
################################################################################
# save vars
SET @global_auto_increment_increment = @@global.auto_increment_increment;
SET @session_auto_increment_increment = @@session.auto_increment_increment;
SET @global_auto_increment_offset = @@global.auto_increment_offset;
SET @session_auto_increment_offset = @@session.auto_increment_offset;
--disable_warnings
drop table if exists t1;
--enable_warnings
#########################
# Creating new table #
#########################
CREATE TABLE t1
(
id INT NOT NULL auto_increment,
PRIMARY KEY (id),
name VARCHAR(30)
);
--echo '#--------------------FN_DYNVARS_001_01-------------------------#'
##########################################################
# Setting initial value of auto_increment_increment #
##########################################################
--echo ## Setting initial value of auto_increment_increment to 5 ##
SET @@auto_increment_increment = 5;
--echo '#--------------------FN_DYNVARS_001_02-------------------------#'
###########################################################################
# Inserting first value in table to check auto_increment_increment initial
# behavior
###########################################################################
--echo ## Inserting first record in table to check behavior of the variable ##
INSERT into t1(name) values('Record_1');
SELECT * from t1;
--echo ## Changing value of variable to 10 ##
SET @@global.auto_increment_increment = 10;
--echo ## Inserting record and verifying value of column id ##
INSERT into t1(name) values('Record_2');
SELECT * from t1;
--echo ## Test behavior of variable after assigning some larger value to it ##
SELECT @@auto_increment_increment;
SET @@auto_increment_increment = 100;
INSERT into t1(name) values('Record_5');
SELECT * from t1;
--echo '#--------------------FN_DYNVARS_001_03-------------------------#'
##########################################################
# Test behavior of variable on new connection # 01 #
##########################################################
--echo ## Creating new connection test_con1 ##
CONNECT (test_con1,localhost,root,,);
CONNECTION test_con1;
--echo ## Value of session & global vairable here should be 10 ##
SELECT @@global.auto_increment_increment = 10;
SELECT @@session.auto_increment_increment = 10;
--echo ## Setting global value of variable and inserting data in table ##
SET @@global.auto_increment_increment = 20;
SELECT @@global.auto_increment_increment;
INSERT into t1(name) values('Record_6');
SELECT * from t1;
--echo ## Setting session value of variable and inserting data in table ##
SET @@session.auto_increment_increment = 2;
SELECT @@session.auto_increment_increment;
INSERT into t1(name) values('Record_8');
INSERT into t1(name) values('Record_9');
SELECT * from t1;
--echo '#--------------------FN_DYNVARS_001_04-------------------------#'
##########################################################
# Test behavior of variable on new connection # 02 #
##########################################################
--echo ## Creating another new connection test_con2 ##
CONNECT (test_con2,localhost,root,,);
connection test_con2;
--echo ## Verifying initial values of variable in global & session scope ##
--echo ## global & session initial value should be 20 ##
SELECT @@global.auto_increment_increment = 20;
SELECT @@session.auto_increment_increment = 20;
--echo ## Setting value of session variable to 5 and verifying its behavior ##
SET @@session.auto_increment_increment = 5;
INSERT into t1(name) values('Record_10');
SELECT * from t1;
SET @@session.auto_increment_increment = 1;
SELECT @@auto_increment_increment;
SELECT @@global.auto_increment_increment;
--echo '#--------------------FN_DYNVARS_001_05-------------------------#'
#####################################################################
# Verify variable's value of connection # 01 after processing on
# connection # 02
#####################################################################
--echo ## Switching to test_con1 ##
connection test_con1;
--echo ## Verifying values of global & session value of variable ##
--echo ## global value should be 20 ##
SELECT @@global.auto_increment_increment = 20;
--echo ## session value should be 2 ##
SELECT @@session.auto_increment_increment = 2;
INSERT into t1(name) values('Record_11');
INSERT into t1(name) values('Record_12');
SELECT * from t1;
--echo '#--------------------FN_DYNVARS_001_06-------------------------#'
###############################################################################
# Altering table field to different datatypes and checking their behavior #
###############################################################################
--echo ## Changing column's datatype to SmallInt and verifying variable's behavior ##
ALTER table t1 MODIFY id SMALLINT NOT NULL auto_increment;
INSERT into t1(name) values('Record_13');
INSERT into t1(name) values('Record_14');
SELECT * from t1;
--echo ## Changing column's datatype to BigInt and verifying variable's behavior ##
ALTER table t1 MODIFY id BIGINT NOT NULL auto_increment;
INSERT into t1(name) values('Record_15');
INSERT into t1(name) values('Record_16');
SELECT * from t1;
--echo '#--------------------FN_DYNVARS_001_07-------------------------#'
###############################################################################
# Check behavior of variable after assigning invalid value #
###############################################################################
--echo ## Verifying behavior of variable with negative value ##
SET @@auto_increment_increment = -10;
INSERT into t1(name) values('Record_17');
INSERT into t1(name) values('Record_18');
SELECT * from t1;
############################################################
# Disconnecting all connection & dropping table #
############################################################
--echo ## Disconnecting test_con2 ##
DISCONNECT test_con2;
--echo ## Dropping table t1 ##
DROP table if exists t1;
--echo ## Disconnecting test_con1 ##
DISCONNECT test_con1;
--echo ## switching to default connection ##
connection default;
# restore vars
SET @@global.auto_increment_increment = @global_auto_increment_increment;
SET @@session.auto_increment_increment = @session_auto_increment_increment;
SET @@global.auto_increment_offset = @global_auto_increment_offset;
SET @@session.auto_increment_offset = @session_auto_increment_offset;