2668 Tomas Ulin 2008-09-02 [merge]
merge
added:
.bzr-mysql.moved/
.bzr-mysql.moved/default.conf
mysql-test/r/innodb_bug34053.result
mysql-test/r/log_bin_trust_routine_creators_basic.result
mysql-test/r/slave_allow_batching_basic.result
mysql-test/r/slave_compressed_protocol_basic.result
mysql-test/r/slave_exec_mode_basic.result
mysql-test/r/slave_net_timeout_basic.result
mysql-test/t/innodb_bug34053.test
mysql-test/t/log_bin_trust_routine_creators_basic.test
mysql-test/t/slave_allow_batching_basic.test
mysql-test/t/slave_compressed_protocol_basic.test
mysql-test/t/slave_exec_mode_basic.test
mysql-test/t/slave_net_timeout_basic.test
server-tools/
server-tools/instance-manager/
storage/ndb/test/run-test/atrt-backtrace.sh
renamed:
.bzr-mysql.moved => .bzr-mysql.moved.moved
mysql-test/r/innodb_bug34053.result => mysql-test/r/innodb_bug34053.result.moved
mysql-test/suite/funcs_1/r/is_collation_charset_applic.result => mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result
mysql-test/suite/funcs_1/t/is_collation_charset_applic.test => mysql-test/suite/funcs_1/t/is_collation_character_set_applicability.test
mysql-test/suite/ndb_team/r/ndb_dd_restore_compat.result => mysql-test/suite/ndb/r/ndb_dd_restore_compat.result
mysql-test/suite/ndb_team/t/ndb_dd_restore_compat.test => mysql-test/suite/ndb/t/ndb_dd_restore_compat.test
mysql-test/suite/rpl_ndb_big/r/rpl_ndb_add_column.result => mysql-test/suite/rpl_ndb/r/rpl_ndb_add_column.result
mysql-test/suite/rpl_ndb_big/t/rpl_ndb_add_column.test => mysql-test/suite/rpl_ndb/t/rpl_ndb_add_column.test
mysql-test/t/innodb_bug34053.test => mysql-test/t/innodb_bug34053.test.moved
modified:
client/mysqltest.c
extra/CMakeLists.txt
mysql-test/r/partition_pruning.result
mysql-test/r/sp-error.result
mysql-test/r/union.result
mysql-test/suite/rpl_ndb_big/r/rpl_row_basic_7ndb.result
mysql-test/t/sp-error.test
mysql-test/t/status.test
mysql-test/t/union.test
mysys/Makefile.am
mysys/stacktrace.c
sql/ha_ndbcluster_binlog.cc
sql/sql_table.cc
sql/sql_yacc.yy
storage/myisam/mi_check.c
storage/ndb/include/kernel/NodeState.hpp
storage/ndb/include/kernel/signaldata/SumaImpl.hpp
storage/ndb/src/common/transporter/TCP_Transporter.cpp
storage/ndb/src/common/transporter/TransporterRegistry.cpp
storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp
storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp
storage/ndb/src/kernel/blocks/restore.cpp
storage/ndb/src/kernel/blocks/suma/Suma.cpp
storage/ndb/src/kernel/error/ErrorReporter.cpp
storage/ndb/src/kernel/vm/LongSignal.hpp
storage/ndb/src/kernel/vm/TransporterCallback.cpp
storage/ndb/src/mgmapi/mgmapi.cpp
storage/ndb/src/mgmsrv/MgmtSrvr.cpp
storage/ndb/src/ndbapi/NdbScanOperation.cpp
storage/ndb/test/ndbapi/testIndex.cpp
storage/ndb/test/ndbapi/testNodeRestart.cpp
storage/ndb/test/ndbapi/testSystemRestart.cpp
storage/ndb/test/run-test/Makefile.am
storage/ndb/test/run-test/atrt-analyze-result.sh
storage/ndb/test/run-test/atrt.hpp
storage/ndb/test/run-test/daily-devel-tests.txt
storage/ndb/test/run-test/db.cpp
storage/ndb/test/run-test/files.cpp
storage/ndb/test/run-test/main.cpp
support-files/build-tags
2667 Tomas Ulin 2008-09-02 [merge]
merge
removed:
mysql-test/r/concurrent_innodb.result
mysql-test/r/innodb-autoinc.result
mysql-test/r/innodb_bug34300.result
mysql-test/r/innodb_bug35220.result
mysql-test/std_data/ndb_backup51_data_be/BACKUP-1-0.1.Data
mysql-test/std_data/ndb_backup51_data_le/BACKUP-1-0.2.Data
mysql-test/suite/rpl/t/rpl_view-slave.opt
mysql-test/t/concurrent_innodb-master.opt
mysql-test/t/concurrent_innodb.test
mysql-test/t/innodb-autoinc.test
mysql-test/t/innodb_bug34300.test
mysql-test/t/innodb_bug35220.test
added:
mysql-test/include/have_case_insensitive_file_system.inc
mysql-test/include/have_lowercase2.inc
mysql-test/include/ps_ddl_1.inc
mysql-test/r/backup_view_on_view.result
mysql-test/r/case_insensitive_file_system.require
mysql-test/r/concurrent_innodb_safelog.result
mysql-test/r/concurrent_innodb_unsafelog.result
mysql-test/r/innodb-autoinc.result
mysql-test/r/innodb_bug34300.result
mysql-test/r/innodb_bug35220.result
mysql-test/r/skip_log_bin.result
mysql-test/std_data/corrupt_t1#P#p1.MYI
mysql-test/std_data/corrupt_t1.MYI
mysql-test/std_data/ndb_backup51_data_be/BACKUP-1-0.1.Data
mysql-test/std_data/ndb_backup51_data_le/BACKUP-1-0.2.Data
mysql-test/std_data/parts/t1_will_crash#P#p1_first_1024.MYD
mysql-test/std_data/parts/t1_will_crash#P#p2.MYD
mysql-test/std_data/parts/t1_will_crash#P#p2.MYI
mysql-test/std_data/parts/t1_will_crash#P#p3.MYI
mysql-test/std_data/parts/t1_will_crash#P#p4.MYI
mysql-test/std_data/parts/t1_will_crash#P#p6.MYD
mysql-test/std_data/parts/t1_will_crash#P#p6_2.MYD
mysql-test/std_data/parts/t1_will_crash#P#p6_3.MYD
mysql-test/suite/parts/inc/partition_mgm.inc
mysql-test/suite/parts/r/partition_mgm_lc0_archive.result
mysql-test/suite/parts/r/partition_mgm_lc0_innodb.result
mysql-test/suite/parts/r/partition_mgm_lc0_memory.result
mysql-test/suite/parts/r/partition_mgm_lc0_myisam.result
mysql-test/suite/parts/r/partition_mgm_lc0_ndb.result
mysql-test/suite/parts/r/partition_mgm_lc1_archive.result
mysql-test/suite/parts/r/partition_mgm_lc1_innodb.result
mysql-test/suite/parts/r/partition_mgm_lc1_memory.result
mysql-test/suite/parts/r/partition_mgm_lc1_myisam.result
mysql-test/suite/parts/r/partition_mgm_lc1_ndb.result
mysql-test/suite/parts/r/partition_mgm_lc2_archive.result
mysql-test/suite/parts/r/partition_mgm_lc2_innodb.result
mysql-test/suite/parts/r/partition_mgm_lc2_memory.result
mysql-test/suite/parts/r/partition_mgm_lc2_myisam.result
mysql-test/suite/parts/r/partition_mgm_lc2_ndb.result
mysql-test/suite/parts/r/partition_recover_myisam.result
mysql-test/suite/parts/r/partition_repair_myisam.result
mysql-test/suite/parts/t/partition_mgm_lc0_archive.test
mysql-test/suite/parts/t/partition_mgm_lc0_innodb.test
mysql-test/suite/parts/t/partition_mgm_lc0_memory.test
mysql-test/suite/parts/t/partition_mgm_lc0_myisam.test
mysql-test/suite/parts/t/partition_mgm_lc0_ndb.test
mysql-test/suite/parts/t/partition_mgm_lc1_archive-master.opt
mysql-test/suite/parts/t/partition_mgm_lc1_archive.test
mysql-test/suite/parts/t/partition_mgm_lc1_innodb-master.opt
mysql-test/suite/parts/t/partition_mgm_lc1_innodb.test
mysql-test/suite/parts/t/partition_mgm_lc1_memory-master.opt
mysql-test/suite/parts/t/partition_mgm_lc1_memory.test
mysql-test/suite/parts/t/partition_mgm_lc1_myisam-master.opt
mysql-test/suite/parts/t/partition_mgm_lc1_myisam.test
mysql-test/suite/parts/t/partition_mgm_lc1_ndb-master.opt
mysql-test/suite/parts/t/partition_mgm_lc1_ndb.test
mysql-test/suite/parts/t/partition_mgm_lc2_archive-master.opt
mysql-test/suite/parts/t/partition_mgm_lc2_archive.test
mysql-test/suite/parts/t/partition_mgm_lc2_innodb-master.opt
mysql-test/suite/parts/t/partition_mgm_lc2_innodb.test
mysql-test/suite/parts/t/partition_mgm_lc2_memory-master.opt
mysql-test/suite/parts/t/partition_mgm_lc2_memory.test
mysql-test/suite/parts/t/partition_mgm_lc2_myisam-master.opt
mysql-test/suite/parts/t/partition_mgm_lc2_myisam.test
mysql-test/suite/parts/t/partition_mgm_lc2_ndb-master.opt
mysql-test/suite/parts/t/partition_mgm_lc2_ndb.test
mysql-test/suite/parts/t/partition_recover_myisam-master.opt
mysql-test/suite/parts/t/partition_recover_myisam.test
mysql-test/suite/parts/t/partition_repair_myisam.test
mysql-test/suite/parts/t/partition_special_innodb-master.opt
mysql-test/suite/rpl/r/rpl_plugin_load.result
mysql-test/suite/rpl/t/rpl_plugin_load-master.opt
mysql-test/suite/rpl/t/rpl_plugin_load-slave.opt
mysql-test/suite/rpl/t/rpl_plugin_load.test
mysql-test/suite/rpl/t/rpl_row_err_daisychain-master.opt
mysql-test/suite/rpl/t/rpl_row_err_daisychain-slave.opt
mysql-test/suite/rpl/t/rpl_truncate_7ndb_2-master.opt
mysql-test/t/backup_view_on_view.test
mysql-test/t/concurrent_innodb_safelog-master.opt
mysql-test/t/concurrent_innodb_safelog.test
mysql-test/t/concurrent_innodb_unsafelog-master.opt
mysql-test/t/concurrent_innodb_unsafelog.test
mysql-test/t/innodb-autoinc.test
mysql-test/t/innodb_bug34300.test
mysql-test/t/innodb_bug35220.test
mysql-test/t/skip_log_bin-master.opt
mysql-test/t/skip_log_bin.test
win/build-vs9.bat
win/build-vs9_x64.bat
modified:
BUILD/check-cpu
Makefile.am
include/my_sys.h
include/myisam.h
libmysql/dll.c
libmysqld/lib_sql.cc
mysql-test/Makefile.am
mysql-test/extra/rpl_tests/rpl_ddl.test
mysql-test/extra/rpl_tests/rpl_log.test
mysql-test/include/concurrent.inc
mysql-test/include/have_lowercase0.inc
mysql-test/lib/mtr_report.pl
mysql-test/r/backup_ddl_blocker.result
mysql-test/r/backup_security.result
mysql-test/r/constraints.result
mysql-test/r/csv.result
mysql-test/r/federated.result
mysql-test/r/func_regexp.result
mysql-test/r/group_min_max.result
mysql-test/r/handler_innodb.result
mysql-test/r/have_utf8.require
mysql-test/r/innodb-autoinc-optimize.result
mysql-test/r/innodb.result
mysql-test/r/innodb_mysql.result
mysql-test/r/join.result
mysql-test/r/log_tables.result
mysql-test/r/lowercase0.require
mysql-test/r/maria3.result
mysql-test/r/metadata.result
mysql-test/r/myisam.result
mysql-test/r/partition.result
mysql-test/r/partition_innodb.result
mysql-test/r/partition_symlink.result
mysql-test/r/ps_ddl.result
mysql-test/r/show_check.result
mysql-test/r/sp.result
mysql-test/r/subselect.result
mysql-test/r/subselect3.result
mysql-test/r/subselect_no_mat.result
mysql-test/r/subselect_no_opts.result
mysql-test/r/subselect_no_semijoin.result
mysql-test/r/symlink.result
mysql-test/r/trigger-trans.result
mysql-test/r/type_bit.result
mysql-test/r/type_newdecimal.result
mysql-test/suite/falcon/t/disabled.def
mysql-test/suite/funcs_1/datadict/processlist_priv.inc
mysql-test/suite/funcs_1/datadict/processlist_val.inc
mysql-test/suite/funcs_1/r/processlist_priv_no_prot.result
mysql-test/suite/funcs_1/r/processlist_priv_ps.result
mysql-test/suite/funcs_1/r/processlist_val_no_prot.result
mysql-test/suite/funcs_1/r/processlist_val_ps.result
mysql-test/suite/jp/std_data/jisx0208_sjis2.dat
mysql-test/suite/jp/t/disabled.def
mysql-test/suite/ndb/r/ndb_partition_key.result
mysql-test/suite/ndb/t/ndb_partition_key.test
mysql-test/suite/parts/inc/partition_alter4.inc
mysql-test/suite/parts/inc/partition_key_32col.inc
mysql-test/suite/parts/r/partition_alter1_1_2_innodb.result
mysql-test/suite/parts/r/partition_alter1_1_2_myisam.result
mysql-test/suite/parts/r/partition_alter1_1_2_ndb.result
mysql-test/suite/parts/r/partition_alter1_1_innodb.result
mysql-test/suite/parts/r/partition_alter1_1_myisam.result
mysql-test/suite/parts/r/partition_alter1_1_ndb.result
mysql-test/suite/parts/r/partition_alter1_2_innodb.result
mysql-test/suite/parts/r/partition_alter1_2_myisam.result
mysql-test/suite/parts/r/partition_alter1_2_ndb.result
mysql-test/suite/parts/r/partition_alter2_innodb.result
mysql-test/suite/parts/r/partition_alter2_myisam.result
mysql-test/suite/parts/r/partition_alter4_innodb.result
mysql-test/suite/parts/r/partition_alter4_myisam.result
mysql-test/suite/parts/r/partition_basic_innodb.result
mysql-test/suite/parts/r/partition_basic_myisam.result
mysql-test/suite/parts/r/partition_basic_symlink_myisam.result
mysql-test/suite/parts/r/partition_engine_innodb.result
mysql-test/suite/parts/r/partition_engine_myisam.result
mysql-test/suite/parts/r/partition_special_innodb.result
mysql-test/suite/parts/t/disabled.def
mysql-test/suite/parts/t/partition_special_innodb.test
mysql-test/suite/rpl/r/rpl_ddl.result
mysql-test/suite/rpl/r/rpl_failed_optimize.result
mysql-test/suite/rpl/r/rpl_innodb_mixed_dml.result
mysql-test/suite/rpl/r/rpl_row_log.result
mysql-test/suite/rpl/r/rpl_row_log_innodb.result
mysql-test/suite/rpl/r/rpl_stm_log.result
mysql-test/suite/rpl/t/disabled.def
mysql-test/suite/rpl/t/rpl_stm_log-slave.opt
mysql-test/t/constraints.test
mysql-test/t/csv.test
mysql-test/t/federated.test
mysql-test/t/func_regexp.test
mysql-test/t/group_min_max.test
mysql-test/t/join.test
mysql-test/t/log_tables.test
mysql-test/t/lowercase_table3.test
mysql-test/t/myisam.test
mysql-test/t/partition.test
mysql-test/t/partition_innodb.test
mysql-test/t/partition_not_windows.test
mysql-test/t/partition_symlink.test
mysql-test/t/ps_ddl.test
mysql-test/t/show_check.test
mysql-test/t/sp.test
mysql-test/t/subselect.test
mysql-test/t/subselect3.test
mysql-test/t/symlink.test
mysql-test/t/type_bit.test
mysql-test/t/type_newdecimal.test
mysys/mf_pack.c
mysys/my_static.c
mysys/my_symlink.c
mysys/safemalloc.c
netware/BUILD/compile-linux-tools
netware/BUILD/nwbootstrap
netware/Makefile.am
netware/mysql_install_db.c
scripts/mysql_install_db.sh
sql/backup/logger.cc
sql/field.h
sql/ha_partition.cc
sql/ha_partition.h
sql/handler.cc
sql/handler.h
sql/item.cc
sql/item.h
sql/item_cmpfunc.cc
sql/mysql_priv.h
sql/mysqld.cc
sql/opt_range.cc
sql/protocol.cc
sql/sp_head.cc
sql/sp_rcontext.cc
sql/sp_rcontext.h
sql/sql_class.cc
sql/sql_insert.cc
sql/sql_parse.cc
sql/sql_partition.cc
sql/sql_plugin.cc
sql/sql_select.cc
sql/sql_show.cc
sql/sql_table.cc
sql/sql_yacc.yy
storage/csv/ha_tina.cc
storage/falcon/ha_falcon.cpp
storage/federated/ha_federated.cc
storage/federated/ha_federated.h
storage/innobase/ha/ha0ha.c
storage/innobase/handler/ha_innodb.cc
storage/innobase/lock/lock0lock.c
storage/myisam/mi_check.c
storage/myisam/mi_create.c
storage/myisam/mi_open.c
storage/myisam/mi_static.c
storage/myisam/myisamchk.c
storage/myisam/myisamdef.h
strings/ctype-simple.c
strings/ctype-sjis.c
strings/decimal.c
tests/mysql_client_test.c
=== added directory '.bzr-mysql.moved'
=== renamed directory '.bzr-mysql.moved' => '.bzr-mysql.moved.moved'
=== added file '.bzr-mysql.moved/default.conf'
--- a/.bzr-mysql.moved/default.conf 1970-01-01 00:00:00 +0000
+++ b/.bzr-mysql.moved/default.conf 2008-06-03 15:55:53 +0000
@@ -0,0 +1,3 @@
+[MYSQL]
+post_commit_to = commits@stripped
+tree_name = mysql-5.1-telco-6.2-merge
=== modified file 'client/mysqltest.c'
--- a/client/mysqltest.c 2008-08-16 10:01:31 +0000
+++ b/client/mysqltest.c 2008-09-02 15:44:54 +0000
@@ -374,6 +374,7 @@ const char *command_names[]=
"list_files_write_file",
"list_files_append_file",
"result_format",
+ "result_format",
0
};
=== modified file 'extra/CMakeLists.txt'
--- a/extra/CMakeLists.txt 2008-04-02 17:52:11 +0000
+++ b/extra/CMakeLists.txt 2008-09-02 15:44:54 +0000
@@ -47,6 +47,9 @@ TARGET_LINK_LIBRARIES(perror strings mys
ADD_EXECUTABLE(resolveip resolveip.c)
TARGET_LINK_LIBRARIES(resolveip strings mysys debug dbug ws2_32)
+ADD_EXECUTABLE(resolveip resolveip.c)
+TARGET_LINK_LIBRARIES(resolveip strings mysys debug dbug wsock32)
+
ADD_EXECUTABLE(replace replace.c)
TARGET_LINK_LIBRARIES(replace strings mysys debug dbug ws2_32)
=== added file 'mysql-test/r/innodb_bug34053.result'
--- a/mysql-test/r/innodb_bug34053.result 1970-01-01 00:00:00 +0000
+++ b/mysql-test/r/innodb_bug34053.result 2008-02-19 16:44:09 +0000
@@ -0,0 +1 @@
+SET storage_engine=InnoDB;
=== renamed file 'mysql-test/r/innodb_bug34053.result' => 'mysql-test/r/innodb_bug34053.result.moved'
=== added file 'mysql-test/r/log_bin_trust_routine_creators_basic.result'
--- a/mysql-test/r/log_bin_trust_routine_creators_basic.result 1970-01-01 00:00:00 +0000
+++ b/mysql-test/r/log_bin_trust_routine_creators_basic.result 2008-04-10 13:14:28 +0000
@@ -0,0 +1,121 @@
+SET @start_global_value = @@global.log_bin_trust_routine_creators;
+SELECT @start_global_value;
+@start_global_value
+1
+'#--------------------FN_DYNVARS_064_01-------------------------#'
+SET @@global.log_bin_trust_routine_creators = TRUE;
+Warnings:
+Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead
+SET @@global.log_bin_trust_routine_creators = DEFAULT;
+Warnings:
+Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead
+SELECT @@global.log_bin_trust_routine_creators;
+@@global.log_bin_trust_routine_creators
+0
+'#--------------------FN_DYNVARS_064_02-------------------------#'
+SET @@global.log_bin_trust_routine_creators = DEFAULT;
+Warnings:
+Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead
+SELECT @@global.log_bin_trust_routine_creators = 'FALSE';
+@@global.log_bin_trust_routine_creators = 'FALSE'
+1
+Warnings:
+Warning 1292 Truncated incorrect DOUBLE value: 'FALSE'
+'#--------------------FN_DYNVARS_064_03-------------------------#'
+SET @@global.log_bin_trust_routine_creators = ON;
+Warnings:
+Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead
+SELECT @@global.log_bin_trust_routine_creators;
+@@global.log_bin_trust_routine_creators
+1
+SET @@global.log_bin_trust_routine_creators = OFF;
+Warnings:
+Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead
+SELECT @@global.log_bin_trust_routine_creators;
+@@global.log_bin_trust_routine_creators
+0
+SET @@global.log_bin_trust_routine_creators = 0;
+Warnings:
+Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead
+SELECT @@global.log_bin_trust_routine_creators;
+@@global.log_bin_trust_routine_creators
+0
+SET @@global.log_bin_trust_routine_creators = 1;
+Warnings:
+Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead
+SELECT @@global.log_bin_trust_routine_creators;
+@@global.log_bin_trust_routine_creators
+1
+SET @@global.log_bin_trust_routine_creators = TRUE;
+Warnings:
+Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead
+SELECT @@global.log_bin_trust_routine_creators;
+@@global.log_bin_trust_routine_creators
+1
+SET @@global.log_bin_trust_routine_creators = FALSE;
+Warnings:
+Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead
+SELECT @@global.log_bin_trust_routine_creators;
+@@global.log_bin_trust_routine_creators
+0
+'#-------------------FN_DYNVARS_064_04----------------------------#'
+SET @@session.log_bin_trust_routine_creators = 0;
+ERROR HY000: Variable 'log_bin_trust_routine_creators' is a GLOBAL variable and should be set with SET GLOBAL
+SELECT @@session.log_bin_trust_routine_creators;
+ERROR HY000: Variable 'log_bin_trust_routine_creators' is a GLOBAL variable
+'#------------------FN_DYNVARS_064_05-----------------------#'
+SET @@global.log_bin_trust_routine_creators = 'ONN';
+ERROR 42000: Variable 'log_bin_trust_routine_creators' can't be set to the value of 'ONN'
+SET @@global.log_bin_trust_routine_creators = "OFFF";
+ERROR 42000: Variable 'log_bin_trust_routine_creators' can't be set to the value of 'OFFF'
+SET @@global.log_bin_trust_routine_creators = OF;
+Warnings:
+Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead
+SELECT @@global.log_bin_trust_routine_creators;
+@@global.log_bin_trust_routine_creators
+0
+'Bug# 34828: OF is also working as OFF and no error is coming';
+SET @@global.log_bin_trust_routine_creators = TTRUE;
+ERROR 42000: Variable 'log_bin_trust_routine_creators' can't be set to the value of 'TTRUE'
+SET @@global.log_bin_trust_routine_creators = FELSE;
+ERROR 42000: Variable 'log_bin_trust_routine_creators' can't be set to the value of 'FELSE'
+SET @@global.log_bin_trust_routine_creators = -1024;
+ERROR 42000: Variable 'log_bin_trust_routine_creators' can't be set to the value of '-1024'
+SET @@global.log_bin_trust_routine_creators = 65536;
+ERROR 42000: Variable 'log_bin_trust_routine_creators' can't be set to the value of '65536'
+SET @@global.log_bin_trust_routine_creators = 65530.34;
+ERROR 42000: Variable 'log_bin_trust_routine_creators' can't be set to the value of '65530'
+SET @@global.log_bin_trust_routine_creators = test;
+ERROR 42000: Variable 'log_bin_trust_routine_creators' can't be set to the value of 'test'
+'#------------------FN_DYNVARS_064_06-----------------------#'
+SELECT @@global.log_bin_trust_routine_creators = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='log_bin_trust_routine_creators';
+@@global.log_bin_trust_routine_creators = VARIABLE_VALUE
+1
+SELECT @@session.log_bin_trust_routine_creators = VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='log_bin_trust_routine_creators';
+ERROR HY000: Variable 'log_bin_trust_routine_creators' is a GLOBAL variable
+'#---------------------FN_DYNVARS_064_07----------------------#'
+SET @@global.log_bin_trust_routine_creators = TRUE;
+Warnings:
+Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead
+SELECT @@log_bin_trust_routine_creators = @@global.log_bin_trust_routine_creators;
+@@log_bin_trust_routine_creators = @@global.log_bin_trust_routine_creators
+1
+'#---------------------FN_DYNVARS_064_08----------------------#'
+SET @@global.log_bin_trust_routine_creators = TRUE;
+Warnings:
+Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead
+SELECT @@log_bin_trust_routine_creators;
+@@log_bin_trust_routine_creators
+1
+SELECT local.log_bin_trust_routine_creators;
+ERROR 42S02: Unknown table 'local' in field list
+SELECT session.log_bin_trust_routine_creators;
+ERROR 42S02: Unknown table 'session' in field list
+SELECT log_bin_trust_routine_creators = @@session.log_bin_trust_routine_creators;
+ERROR 42S22: Unknown column 'log_bin_trust_routine_creators' in 'field list'
+SET @@global.log_bin_trust_routine_creators = @start_global_value;
+Warnings:
+Warning 1287 The syntax 'log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 5.2. Please use 'log_bin_trust_function_creators' instead
+SELECT @@global.log_bin_trust_routine_creators;
+@@global.log_bin_trust_routine_creators
+1
=== modified file 'mysql-test/r/partition_pruning.result'
--- a/mysql-test/r/partition_pruning.result 2008-07-23 13:17:13 +0000
+++ b/mysql-test/r/partition_pruning.result 2008-09-02 15:44:54 +0000
@@ -342,7 +342,7 @@ id select_type table partitions type pos
explain partitions
select * from t1 X, t1 Y where X.a = Y.a and (X.a=1 or X.a=2);
id select_type table partitions type possible_keys key key_len ref rows Extra
-1 SIMPLE X p1,p2 ALL a NULL NULL NULL 2 Using where
+1 SIMPLE X p1,p2 ALL a NULL NULL NULL 4 Using where
1 SIMPLE Y p1,p2 ref a a 4 test.X.a 2
drop table t1;
create table t1 (a int) partition by hash(a) partitions 20;
=== added file 'mysql-test/r/slave_allow_batching_basic.result'
--- a/mysql-test/r/slave_allow_batching_basic.result 1970-01-01 00:00:00 +0000
+++ b/mysql-test/r/slave_allow_batching_basic.result 2008-06-03 15:17:23 +0000
@@ -0,0 +1,99 @@
+SET @global_start_value = @@global.slave_allow_batching;
+SELECT @global_start_value;
+@global_start_value
+0
+'#--------------------FN_DYNVARS_145_01------------------------#'
+SET @@global.slave_allow_batching = 1;
+SET @@global.slave_allow_batching = DEFAULT;
+SELECT @@global.slave_allow_batching;
+@@global.slave_allow_batching
+0
+'#---------------------FN_DYNVARS_145_02-------------------------#'
+SET slave_allow_batching = 1;
+ERROR HY000: Variable 'slave_allow_batching' is a GLOBAL variable and should be set with SET GLOBAL
+SELECT @@slave_allow_batching;
+@@slave_allow_batching
+0
+SELECT global.slave_allow_batching;
+ERROR 42S02: Unknown table 'global' in field list
+SET global slave_allow_batching = 1;
+SELECT @@global.slave_allow_batching;
+@@global.slave_allow_batching
+1
+'#--------------------FN_DYNVARS_145_03------------------------#'
+SET @@global.slave_allow_batching = 0;
+SELECT @@global.slave_allow_batching;
+@@global.slave_allow_batching
+0
+SET @@global.slave_allow_batching = 1;
+SELECT @@global.slave_allow_batching;
+@@global.slave_allow_batching
+1
+'#--------------------FN_DYNVARS_145_04-------------------------#'
+SET @@global.slave_allow_batching = -1;
+ERROR 42000: Variable 'slave_allow_batching' can't be set to the value of '-1'
+SET @@global.slave_allow_batching = 2;
+ERROR 42000: Variable 'slave_allow_batching' can't be set to the value of '2'
+SET @@global.slave_allow_batching = "T";
+ERROR 42000: Variable 'slave_allow_batching' can't be set to the value of 'T'
+SET @@global.slave_allow_batching = "Y";
+ERROR 42000: Variable 'slave_allow_batching' can't be set to the value of 'Y'
+SET @@global.slave_allow_batching = YES;
+ERROR 42000: Variable 'slave_allow_batching' can't be set to the value of 'YES'
+SET @@global.slave_allow_batching = ONN;
+ERROR 42000: Variable 'slave_allow_batching' can't be set to the value of 'ONN'
+SET @@global.slave_allow_batching = OOF;
+ERROR 42000: Variable 'slave_allow_batching' can't be set to the value of 'OOF'
+SET @@global.slave_allow_batching = 0FF;
+ERROR 42000: Variable 'slave_allow_batching' can't be set to the value of '0FF'
+SET @@global.slave_allow_batching = ' 1';
+ERROR 42000: Variable 'slave_allow_batching' can't be set to the value of ' 1'
+SET @@global.slave_allow_batching = NO;
+ERROR 42000: Variable 'slave_allow_batching' can't be set to the value of 'NO'
+'#-------------------FN_DYNVARS_145_05----------------------------#'
+SET @@session.slave_allow_batching = 0;
+ERROR HY000: Variable 'slave_allow_batching' is a GLOBAL variable and should be set with SET GLOBAL
+SET @@slave_allow_batching = 0;
+ERROR HY000: Variable 'slave_allow_batching' is a GLOBAL variable and should be set with SET GLOBAL
+SET @@local.slave_allow_batching = 0;
+ERROR HY000: Variable 'slave_allow_batching' is a GLOBAL variable and should be set with SET GLOBAL
+SELECT @@session.slave_allow_batching;
+ERROR HY000: Variable 'slave_allow_batching' is a GLOBAL variable
+SELECT @@local.slave_allow_batching;
+ERROR HY000: Variable 'slave_allow_batching' is a GLOBAL variable
+'#----------------------FN_DYNVARS_145_06------------------------#'
+SELECT count(VARIABLE_VALUE) FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='slave_allow_batching';
+count(VARIABLE_VALUE)
+1
+'#----------------------FN_DYNVARS_145_07------------------------#'
+SELECT @@global.slave_allow_batching = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='slave_allow_batching';
+@@global.slave_allow_batching = VARIABLE_VALUE
+0
+SELECT @@global.slave_allow_batching;
+@@global.slave_allow_batching
+1
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='slave_allow_batching';
+VARIABLE_VALUE
+ON
+'#---------------------FN_DYNVARS_145_08-------------------------#'
+SET @@global.slave_allow_batching = OFF;
+SELECT @@global.slave_allow_batching;
+@@global.slave_allow_batching
+0
+SET @@global.slave_allow_batching = ON;
+SELECT @@global.slave_allow_batching;
+@@global.slave_allow_batching
+1
+'#---------------------FN_DYNVARS_145_09----------------------#'
+SET @@global.slave_allow_batching = TRUE;
+SELECT @@global.slave_allow_batching;
+@@global.slave_allow_batching
+1
+SET @@global.slave_allow_batching = FALSE;
+SELECT @@global.slave_allow_batching;
+@@global.slave_allow_batching
+0
+SET @@global.slave_allow_batching = @global_start_value;
+SELECT @@global.slave_allow_batching;
+@@global.slave_allow_batching
+0
=== added file 'mysql-test/r/slave_compressed_protocol_basic.result'
--- a/mysql-test/r/slave_compressed_protocol_basic.result 1970-01-01 00:00:00 +0000
+++ b/mysql-test/r/slave_compressed_protocol_basic.result 2008-04-10 13:14:28 +0000
@@ -0,0 +1,103 @@
+SET @global_start_value = @@global.slave_compressed_protocol;
+SELECT @global_start_value;
+@global_start_value
+0
+'#--------------------FN_DYNVARS_147_01------------------------#'
+SET @@global.slave_compressed_protocol = 1;
+SET @@global.slave_compressed_protocol = DEFAULT;
+SELECT @@global.slave_compressed_protocol;
+@@global.slave_compressed_protocol
+0
+'#---------------------FN_DYNVARS_147_02-------------------------#'
+SET slave_compressed_protocol = 1;
+ERROR HY000: Variable 'slave_compressed_protocol' is a GLOBAL variable and should be set with SET GLOBAL
+SELECT @@slave_compressed_protocol;
+@@slave_compressed_protocol
+0
+SELECT global.slave_compressed_protocol;
+ERROR 42S02: Unknown table 'global' in field list
+SET global slave_compressed_protocol = 1;
+SELECT @@global.slave_compressed_protocol;
+@@global.slave_compressed_protocol
+1
+'#--------------------FN_DYNVARS_147_03------------------------#'
+SET @@global.slave_compressed_protocol = 0;
+SELECT @@global.slave_compressed_protocol;
+@@global.slave_compressed_protocol
+0
+SET @@global.slave_compressed_protocol = 1;
+SELECT @@global.slave_compressed_protocol;
+@@global.slave_compressed_protocol
+1
+'#--------------------FN_DYNVARS_147_04-------------------------#'
+SET @@global.slave_compressed_protocol = -1;
+ERROR 42000: Variable 'slave_compressed_protocol' can't be set to the value of '-1'
+SET @@global.slave_compressed_protocol = 2;
+ERROR 42000: Variable 'slave_compressed_protocol' can't be set to the value of '2'
+SET @@global.slave_compressed_protocol = "1.00";
+ERROR 42000: Variable 'slave_compressed_protocol' can't be set to the value of '1.00'
+SET @@global.slave_compressed_protocol = "Y";
+ERROR 42000: Variable 'slave_compressed_protocol' can't be set to the value of 'Y'
+SET @@global.slave_compressed_protocol = YES;
+ERROR 42000: Variable 'slave_compressed_protocol' can't be set to the value of 'YES'
+SET @@global.slave_compressed_protocol = ONN;
+ERROR 42000: Variable 'slave_compressed_protocol' can't be set to the value of 'ONN'
+SET @@global.slave_compressed_protocol = 0FF;
+ERROR 42000: Variable 'slave_compressed_protocol' can't be set to the value of '0FF'
+SET @@global.slave_compressed_protocol = ' 1';
+ERROR 42000: Variable 'slave_compressed_protocol' can't be set to the value of ' 1'
+SET @@global.slave_compressed_protocol = NO;
+ERROR 42000: Variable 'slave_compressed_protocol' can't be set to the value of 'NO'
+'#-------------------FN_DYNVARS_147_05----------------------------#'
+SET @@session.slave_compressed_protocol = 0;
+ERROR HY000: Variable 'slave_compressed_protocol' is a GLOBAL variable and should be set with SET GLOBAL
+SET @@slave_compressed_protocol = 0;
+ERROR HY000: Variable 'slave_compressed_protocol' is a GLOBAL variable and should be set with SET GLOBAL
+SET @@local.slave_compressed_protocol = 0;
+ERROR HY000: Variable 'slave_compressed_protocol' is a GLOBAL variable and should be set with SET GLOBAL
+SELECT @@session.slave_compressed_protocol;
+ERROR HY000: Variable 'slave_compressed_protocol' is a GLOBAL variable
+SELECT @@local.slave_compressed_protocol;
+ERROR HY000: Variable 'slave_compressed_protocol' is a GLOBAL variable
+'#----------------------FN_DYNVARS_147_06------------------------#'
+SELECT count(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='slave_compressed_protocol';
+count(VARIABLE_VALUE)
+1
+'#----------------------FN_DYNVARS_147_07------------------------#'
+SELECT @@global.slave_compressed_protocol = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='slave_compressed_protocol';
+@@global.slave_compressed_protocol = VARIABLE_VALUE
+0
+SELECT @@global.slave_compressed_protocol;
+@@global.slave_compressed_protocol
+1
+SELECT VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='slave_compressed_protocol';
+VARIABLE_VALUE
+ON
+'#---------------------FN_DYNVARS_147_08-------------------------#'
+SET @@global.slave_compressed_protocol = OFF;
+SELECT @@global.slave_compressed_protocol;
+@@global.slave_compressed_protocol
+0
+SET @@global.slave_compressed_protocol = ON;
+SELECT @@global.slave_compressed_protocol;
+@@global.slave_compressed_protocol
+1
+'#---------------------FN_DYNVARS_147_09----------------------#'
+SET @@global.slave_compressed_protocol = TRUE;
+SELECT @@global.slave_compressed_protocol;
+@@global.slave_compressed_protocol
+1
+SET @@global.slave_compressed_protocol = FALSE;
+SELECT @@global.slave_compressed_protocol;
+@@global.slave_compressed_protocol
+0
+SET @@global.slave_compressed_protocol = @global_start_value;
+SELECT @@global.slave_compressed_protocol;
+@@global.slave_compressed_protocol
+0
=== added file 'mysql-test/r/slave_exec_mode_basic.result'
--- a/mysql-test/r/slave_exec_mode_basic.result 1970-01-01 00:00:00 +0000
+++ b/mysql-test/r/slave_exec_mode_basic.result 2008-04-10 13:14:28 +0000
@@ -0,0 +1,2 @@
+SET @start_value = @@global.slave_exec_mode;
+'This variable is not supported in version 5.1.22. It is introduced in 5.1.24'
=== added file 'mysql-test/r/slave_net_timeout_basic.result'
--- a/mysql-test/r/slave_net_timeout_basic.result 1970-01-01 00:00:00 +0000
+++ b/mysql-test/r/slave_net_timeout_basic.result 2008-04-10 13:14:28 +0000
@@ -0,0 +1,127 @@
+SET @start_global_value = @@global.slave_net_timeout;
+SELECT @start_global_value;
+@start_global_value
+3600
+'#--------------------FN_DYNVARS_146_01-------------------------#'
+SET @@global.slave_net_timeout = 500000;
+SET @@global.slave_net_timeout = DEFAULT;
+SELECT @@global.slave_net_timeout;
+@@global.slave_net_timeout
+3600
+'#--------------------FN_DYNVARS_146_02-------------------------#'
+SET @@global.slave_net_timeout = DEFAULT;
+SELECT @@global.slave_net_timeout = 3600;
+@@global.slave_net_timeout = 3600
+1
+'#--------------------FN_DYNVARS_146_03-------------------------#'
+SET @@global.slave_net_timeout = 0;
+Warnings:
+Warning 1292 Truncated incorrect slave_net_timeout value: '0'
+SELECT @@global.slave_net_timeout;
+@@global.slave_net_timeout
+1
+SET @@global.slave_net_timeout = 1;
+SELECT @@global.slave_net_timeout;
+@@global.slave_net_timeout
+1
+SET @@global.slave_net_timeout = 15;
+SELECT @@global.slave_net_timeout;
+@@global.slave_net_timeout
+15
+SET @@global.slave_net_timeout = 1024;
+SELECT @@global.slave_net_timeout;
+@@global.slave_net_timeout
+1024
+SET @@global.slave_net_timeout = 3600+1;
+SELECT @@global.slave_net_timeout;
+@@global.slave_net_timeout
+3601
+SET @@global.slave_net_timeout = 2147483648;
+Warnings:
+Warning 1292 Truncated incorrect slave_net_timeout value: '2147483648'
+SELECT @@global.slave_net_timeout;
+@@global.slave_net_timeout
+31536000
+SET @@global.slave_net_timeout = 2147483648*2-1;
+Warnings:
+Warning 1292 Truncated incorrect slave_net_timeout value: '4294967295'
+SELECT @@global.slave_net_timeout;
+@@global.slave_net_timeout
+31536000
+'#--------------------FN_DYNVARS_146_04-------------------------#'
+SET @@slave_net_timeout = 2;
+ERROR HY000: Variable 'slave_net_timeout' is a GLOBAL variable and should be set with SET GLOBAL
+SET @@session.slave_net_timeout = 3;
+ERROR HY000: Variable 'slave_net_timeout' is a GLOBAL variable and should be set with SET GLOBAL
+SET @@local.slave_net_timeout = 4;
+ERROR HY000: Variable 'slave_net_timeout' is a GLOBAL variable and should be set with SET GLOBAL
+'#------------------FN_DYNVARS_146_05-----------------------#'
+SET @@global.slave_net_timeout = -1;
+Warnings:
+Warning 1292 Truncated incorrect slave_net_timeout value: '0'
+SELECT @@global.slave_net_timeout;
+@@global.slave_net_timeout
+1
+SET @@global.slave_net_timeout = -2147483648;
+Warnings:
+Warning 1292 Truncated incorrect slave_net_timeout value: '0'
+SELECT @@global.slave_net_timeout;
+@@global.slave_net_timeout
+1
+SET @@global.slave_net_timeout = 2147483649*2;
+Warnings:
+Warning 1292 Truncated incorrect slave_net_timeout value: '4294967298'
+SELECT @@global.slave_net_timeout;
+@@global.slave_net_timeout
+31536000
+SET @@global.slave_net_timeout = 65530.34.;
+ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1
+SET @@global.slave_net_timeout = 100s;
+ERROR 42000: Incorrect argument type to variable 'slave_net_timeout'
+SET @@global.slave_net_timeout = 7483649.56;
+ERROR 42000: Incorrect argument type to variable 'slave_net_timeout'
+SET @@global.slave_net_timeout = 0.6;
+ERROR 42000: Incorrect argument type to variable 'slave_net_timeout'
+'Bug# 34877: Invalid Values are coming in variable on assigning valid values';
+'#------------------FN_DYNVARS_146_06-----------------------#'
+SET @@global.slave_net_timeout = 3000;
+SELECT @@global.slave_net_timeout = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='slave_net_timeout';
+@@global.slave_net_timeout = VARIABLE_VALUE
+1
+'#------------------FN_DYNVARS_146_07-----------------------#'
+SELECT count(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='slave_net_timeout';
+count(VARIABLE_VALUE)
+1
+'#------------------FN_DYNVARS_146_08-----------------------#'
+SET @@global.slave_net_timeout = TRUE;
+SELECT @@global.slave_net_timeout;
+@@global.slave_net_timeout
+1
+SET @@global.slave_net_timeout = FALSE;
+Warnings:
+Warning 1292 Truncated incorrect slave_net_timeout value: '0'
+SELECT @@global.slave_net_timeout;
+@@global.slave_net_timeout
+1
+'#---------------------FN_DYNVARS_001_09----------------------#'
+SET @@global.slave_net_timeout = 60*60;
+SELECT @@slave_net_timeout = @@global.slave_net_timeout;
+@@slave_net_timeout = @@global.slave_net_timeout
+1
+'#---------------------FN_DYNVARS_001_10----------------------#'
+SET slave_net_timeout = 2048;
+ERROR HY000: Variable 'slave_net_timeout' is a GLOBAL variable and should be set with SET GLOBAL
+SELECT slave_net_timeout;
+ERROR 42S22: Unknown column 'slave_net_timeout' in 'field list'
+SELECT @@slave_net_timeout;
+@@slave_net_timeout
+3600
+SET global slave_net_timeout = 99;
+SET @@global.slave_net_timeout = @start_global_value;
+SELECT @@global.slave_net_timeout;
+@@global.slave_net_timeout
+3600
=== modified file 'mysql-test/r/sp-error.result'
--- a/mysql-test/r/sp-error.result 2008-08-22 11:16:08 +0000
+++ b/mysql-test/r/sp-error.result 2008-09-02 15:44:54 +0000
@@ -1659,3 +1659,15 @@ end|
call p1(1);
set @@max_sp_recursion_depth = @old_recursion_depth;
drop procedure p1;
+drop procedure if exists proc_8759;
+create procedure proc_8759()
+begin
+declare should_be_illegal condition for sqlstate '00000';
+declare continue handler for should_be_illegal set @x=0;
+end$$
+ERROR 42000: Bad SQLSTATE: '00000'
+create procedure proc_8759()
+begin
+declare continue handler for sqlstate '00000' set @x=0;
+end$$
+ERROR 42000: Bad SQLSTATE: '00000'
=== modified file 'mysql-test/r/union.result'
--- a/mysql-test/r/union.result 2008-05-13 15:15:40 +0000
+++ b/mysql-test/r/union.result 2008-09-02 15:44:54 +0000
@@ -153,6 +153,48 @@ ERROR 42S22: Unknown column 'a' in 'fiel
1 3
1 3
2 1
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1);
+SELECT a INTO @v FROM (
+SELECT a FROM t1
+UNION
+SELECT a FROM t1
+) alias;
+SELECT a INTO OUTFILE 'union.out.file' FROM (
+SELECT a FROM t1
+UNION
+SELECT a FROM t1 WHERE 0
+) alias;
+SELECT a INTO DUMPFILE 'union.out.file2' FROM (
+SELECT a FROM t1
+UNION
+SELECT a FROM t1 WHERE 0
+) alias;
+SELECT a FROM (
+SELECT a FROM t1
+UNION
+SELECT a INTO @v FROM t1
+) alias;
+SELECT a FROM (
+SELECT a FROM t1
+UNION
+SELECT a INTO OUTFILE 'union.out.file3' FROM t1
+) alias;
+SELECT a FROM (
+SELECT a FROM t1
+UNION
+SELECT a INTO DUMPFILE 'union.out.file4' FROM t1
+) alias;
+SELECT a FROM t1 UNION SELECT a INTO @v FROM t1;
+SELECT a FROM t1 UNION SELECT a INTO OUTFILE 'union.out.file5' FROM t1;
+SELECT a FROM t1 UNION SELECT a INTO OUTFILE 'union.out.file6' FROM t1;
+SELECT a INTO @v FROM t1 UNION SELECT a FROM t1;
+ERROR HY000: Incorrect usage of UNION and INTO
+SELECT a INTO OUTFILE 'union.out.file7' FROM t1 UNION SELECT a FROM t1;
+ERROR HY000: Incorrect usage of UNION and INTO
+SELECT a INTO DUMPFILE 'union.out.file8' FROM t1 UNION SELECT a FROM t1;
+ERROR HY000: Incorrect usage of UNION and INTO
+DROP TABLE t1;
CREATE TABLE t1 (
`pseudo` char(35) NOT NULL default '',
`pseudo1` char(35) NOT NULL default '',
=== renamed file 'mysql-test/suite/funcs_1/r/is_collation_charset_applic.result' => 'mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result'
=== renamed file 'mysql-test/suite/funcs_1/t/is_collation_charset_applic.test' => 'mysql-test/suite/funcs_1/t/is_collation_character_set_applicability.test'
=== renamed file 'mysql-test/suite/ndb_team/r/ndb_dd_restore_compat.result' => 'mysql-test/suite/ndb/r/ndb_dd_restore_compat.result'
=== renamed file 'mysql-test/suite/ndb_team/t/ndb_dd_restore_compat.test' => 'mysql-test/suite/ndb/t/ndb_dd_restore_compat.test'
=== renamed file 'mysql-test/suite/rpl_ndb_big/r/rpl_ndb_add_column.result' => 'mysql-test/suite/rpl_ndb/r/rpl_ndb_add_column.result'
=== renamed file 'mysql-test/suite/rpl_ndb_big/t/rpl_ndb_add_column.test' => 'mysql-test/suite/rpl_ndb/t/rpl_ndb_add_column.test'
=== modified file 'mysql-test/suite/rpl_ndb_big/r/rpl_row_basic_7ndb.result'
--- a/mysql-test/suite/rpl_ndb_big/r/rpl_row_basic_7ndb.result 2008-09-02 12:51:03 +0000
+++ b/mysql-test/suite/rpl_ndb_big/r/rpl_row_basic_7ndb.result 2008-09-02 15:44:54 +0000
@@ -488,7 +488,7 @@ Comparing tables master:test.t2 and slav
INSERT INTO t3 VALUES (1, "", 1);
INSERT INTO t3 VALUES (2, repeat(_utf8'a', 128), 2);
Last_SQL_Error
-Table definition on master and slave does not match: Column 1 size mismatch - master has size 512, test.t3 on slave has size 65. Master's column size should be <= the slave's column size.
+Table definition on master and slave does not match: Column 1 size mismatch - master has size 384, test.t3 on slave has size 49. Master's column size should be <= the slave's column size.
RESET MASTER;
STOP SLAVE;
RESET SLAVE;
@@ -501,7 +501,7 @@ Comparing tables master:test.t4 and slav
INSERT INTO t5 VALUES (1, "", 1);
INSERT INTO t5 VALUES (2, repeat(_utf8'a', 255), 2);
Last_SQL_Error
-Table definition on master and slave does not match: Column 1 size mismatch - master has size 1020, test.t5 on slave has size 65. Master's column size should be <= the slave's column size.
+Table definition on master and slave does not match: Column 1 size mismatch - master has size 765, test.t5 on slave has size 49. Master's column size should be <= the slave's column size.
RESET MASTER;
STOP SLAVE;
RESET SLAVE;
@@ -510,7 +510,7 @@ START SLAVE;
INSERT INTO t6 VALUES (1, "", 1);
INSERT INTO t6 VALUES (2, repeat(_utf8'a', 255), 2);
Last_SQL_Error
-Table definition on master and slave does not match: Column 1 size mismatch - master has size 1020, test.t6 on slave has size 513. Master's column size should be <= the slave's column size.
+Table definition on master and slave does not match: Column 1 size mismatch - master has size 765, test.t6 on slave has size 385. Master's column size should be <= the slave's column size.
RESET MASTER;
STOP SLAVE;
RESET SLAVE;
=== added file 'mysql-test/t/innodb_bug34053.test'
--- a/mysql-test/t/innodb_bug34053.test 1970-01-01 00:00:00 +0000
+++ b/mysql-test/t/innodb_bug34053.test 2008-02-22 23:56:34 +0000
@@ -0,0 +1,50 @@
+#
+# Make sure http://bugs.mysql.com/34053 remains fixed.
+#
+
+-- source include/not_embedded.inc
+-- source include/have_innodb.inc
+
+SET storage_engine=InnoDB;
+
+# we do not really care about what gets printed, we are only
+# interested in getting success or failure according to our
+# expectations
+-- disable_query_log
+-- disable_result_log
+
+GRANT USAGE ON *.* TO 'shane'@'localhost' IDENTIFIED BY '12345';
+FLUSH PRIVILEGES;
+
+-- connect (con1,localhost,shane,12345,)
+
+-- connection con1
+-- error ER_SPECIFIC_ACCESS_DENIED_ERROR
+CREATE TABLE innodb_monitor (a INT) ENGINE=INNODB;
+-- error ER_SPECIFIC_ACCESS_DENIED_ERROR
+CREATE TABLE innodb_mem_validate (a INT) ENGINE=INNODB;
+CREATE TABLE innodb_monitorx (a INT) ENGINE=INNODB;
+DROP TABLE innodb_monitorx;
+CREATE TABLE innodb_monito (a INT) ENGINE=INNODB;
+DROP TABLE innodb_monito;
+CREATE TABLE xinnodb_monitor (a INT) ENGINE=INNODB;
+DROP TABLE xinnodb_monitor;
+CREATE TABLE nnodb_monitor (a INT) ENGINE=INNODB;
+DROP TABLE nnodb_monitor;
+
+-- connection default
+CREATE TABLE innodb_monitor (a INT) ENGINE=INNODB;
+CREATE TABLE innodb_mem_validate (a INT) ENGINE=INNODB;
+
+-- connection con1
+-- error ER_SPECIFIC_ACCESS_DENIED_ERROR
+DROP TABLE innodb_monitor;
+-- error ER_SPECIFIC_ACCESS_DENIED_ERROR
+DROP TABLE innodb_mem_validate;
+
+-- connection default
+DROP TABLE innodb_monitor;
+DROP TABLE innodb_mem_validate;
+DROP USER 'shane'@'localhost';
+
+-- disconnect con1
=== renamed file 'mysql-test/t/innodb_bug34053.test' => 'mysql-test/t/innodb_bug34053.test.moved'
=== added file 'mysql-test/t/log_bin_trust_routine_creators_basic.test'
--- a/mysql-test/t/log_bin_trust_routine_creators_basic.test 1970-01-01 00:00:00 +0000
+++ b/mysql-test/t/log_bin_trust_routine_creators_basic.test 2008-04-10 13:14:28 +0000
@@ -0,0 +1,164 @@
+############## mysql-test\t\log_bin_trust_routine_creators_basic.test #########
+# #
+# Variable Name: log_bin_trust_routine_creators #
+# Scope: GLOBAL #
+# Access Type: Dynamic #
+# Data Type: boolean #
+# Default Value: False #
+# Range: #
+# #
+# #
+# Creation Date: 2008-02-12 #
+# Author: Salman #
+# #
+# Description: Test Cases of Dynamic System Variable #
+# log_bin_trust_routine_creators that checks the #
+# behavior of this variable in the following ways #
+# * Default Value #
+# * Valid & Invalid values #
+# * Scope & Access method #
+# * Data Integrity #
+# #
+# Reference: (Not given on website) #
+# #
+###############################################################################
+
+--source include/load_sysvars.inc
+####################################################################
+# START OF log_bin_trust_routine_creators TESTS #
+####################################################################
+
+
+#############################################################
+# Save initial value #
+#############################################################
+
+SET @start_global_value = @@global.log_bin_trust_routine_creators;
+SELECT @start_global_value;
+
+
+--echo '#--------------------FN_DYNVARS_064_01-------------------------#'
+########################################################################
+# Display the DEFAULT value of log_bin_trust_routine_creators #
+########################################################################
+
+SET @@global.log_bin_trust_routine_creators = TRUE;
+SET @@global.log_bin_trust_routine_creators = DEFAULT;
+SELECT @@global.log_bin_trust_routine_creators;
+
+
+--echo '#--------------------FN_DYNVARS_064_02-------------------------#'
+##############################################################################
+# Check the DEFAULT value of log_bin_trust_routine_creators #
+##############################################################################
+
+SET @@global.log_bin_trust_routine_creators = DEFAULT;
+SELECT @@global.log_bin_trust_routine_creators = 'FALSE';
+
+
+--echo '#--------------------FN_DYNVARS_064_03-------------------------#'
+##################################################################
+# Change the value of variable to a valid value for GLOBAL Scope #
+##################################################################
+
+SET @@global.log_bin_trust_routine_creators = ON;
+SELECT @@global.log_bin_trust_routine_creators;
+SET @@global.log_bin_trust_routine_creators = OFF;
+SELECT @@global.log_bin_trust_routine_creators;
+SET @@global.log_bin_trust_routine_creators = 0;
+SELECT @@global.log_bin_trust_routine_creators;
+SET @@global.log_bin_trust_routine_creators = 1;
+SELECT @@global.log_bin_trust_routine_creators;
+SET @@global.log_bin_trust_routine_creators = TRUE;
+SELECT @@global.log_bin_trust_routine_creators;
+SET @@global.log_bin_trust_routine_creators = FALSE;
+SELECT @@global.log_bin_trust_routine_creators;
+
+
+--echo '#-------------------FN_DYNVARS_064_04----------------------------#'
+###########################################################################
+# Test if accessing session log_bin_trust_routine_creators gives error #
+###########################################################################
+
+--Error ER_GLOBAL_VARIABLE
+SET @@session.log_bin_trust_routine_creators = 0;
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.log_bin_trust_routine_creators;
+
+
+--echo '#------------------FN_DYNVARS_064_05-----------------------#'
+##########################################################################
+# Change the value of log_bin_trust_routine_creators to an invalid value #
+##########################################################################
+
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.log_bin_trust_routine_creators = 'ONN';
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.log_bin_trust_routine_creators = "OFFF";
+SET @@global.log_bin_trust_routine_creators = OF;
+SELECT @@global.log_bin_trust_routine_creators;
+--echo 'Bug# 34828: OF is also working as OFF and no error is coming';
+
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.log_bin_trust_routine_creators = TTRUE;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.log_bin_trust_routine_creators = FELSE;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.log_bin_trust_routine_creators = -1024;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.log_bin_trust_routine_creators = 65536;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.log_bin_trust_routine_creators = 65530.34;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.log_bin_trust_routine_creators = test;
+
+
+--echo '#------------------FN_DYNVARS_064_06-----------------------#'
+###############################################################################
+# Check if the value in GLOBAL & SESSION Tables matches value in variable #
+###############################################################################
+
+
+SELECT @@global.log_bin_trust_routine_creators = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='log_bin_trust_routine_creators';
+
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.log_bin_trust_routine_creators = VARIABLE_VALUE FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='log_bin_trust_routine_creators';
+
+
+--echo '#---------------------FN_DYNVARS_064_07----------------------#'
+#################################################################################
+# Check if accessing variable with and without GLOBAL point to same variable #
+#################################################################################
+
+
+SET @@global.log_bin_trust_routine_creators = TRUE;
+SELECT @@log_bin_trust_routine_creators = @@global.log_bin_trust_routine_creators;
+
+
+--echo '#---------------------FN_DYNVARS_064_08----------------------#'
+###################################################################
+# Check if variable can be accessed with and without @@ sign #
+###################################################################
+
+SET @@global.log_bin_trust_routine_creators = TRUE;
+SELECT @@log_bin_trust_routine_creators;
+--Error ER_UNKNOWN_TABLE
+SELECT local.log_bin_trust_routine_creators;
+--Error ER_UNKNOWN_TABLE
+SELECT session.log_bin_trust_routine_creators;
+--Error ER_BAD_FIELD_ERROR
+SELECT log_bin_trust_routine_creators = @@session.log_bin_trust_routine_creators;
+
+
+####################################
+# Restore initial value #
+####################################
+
+SET @@global.log_bin_trust_routine_creators = @start_global_value;
+SELECT @@global.log_bin_trust_routine_creators;
+
+
+###################################################################
+# END OF log_bin_trust_routine_creators TESTS #
+###################################################################
+
=== added file 'mysql-test/t/slave_allow_batching_basic.test'
--- a/mysql-test/t/slave_allow_batching_basic.test 1970-01-01 00:00:00 +0000
+++ b/mysql-test/t/slave_allow_batching_basic.test 2008-06-04 17:13:40 +0000
@@ -0,0 +1,164 @@
+############## mysql-test\t\slave_allow_batching_basic.test ####################
+# #
+# Variable Name: slave_allow_batching #
+# 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 slave_allow_batching #
+# 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/not_embedded.inc
+--source include/load_sysvars.inc
+########################################################################
+# START OF slave_allow_batching TESTS #
+########################################################################
+
+
+################################################################################
+# Saving initial value of slave_allow_batching in a temporary variable #
+################################################################################
+
+SET @global_start_value = @@global.slave_allow_batching;
+SELECT @global_start_value;
+
+--echo '#--------------------FN_DYNVARS_145_01------------------------#'
+########################################################################
+# Display the DEFAULT value of slave_allow_batching #
+########################################################################
+
+SET @@global.slave_allow_batching = 1;
+SET @@global.slave_allow_batching = DEFAULT;
+SELECT @@global.slave_allow_batching;
+
+--echo '#---------------------FN_DYNVARS_145_02-------------------------#'
+#############################################################################
+# Check if slave_allow_batching can be accessed with and without @@ sign #
+#############################################################################
+
+--Error ER_GLOBAL_VARIABLE
+SET slave_allow_batching = 1;
+SELECT @@slave_allow_batching;
+--Error ER_UNKNOWN_TABLE
+SELECT global.slave_allow_batching;
+
+SET global slave_allow_batching = 1;
+SELECT @@global.slave_allow_batching;
+
+
+--echo '#--------------------FN_DYNVARS_145_03------------------------#'
+########################################################################
+# Change the value of slave_allow_batching to a valid value #
+########################################################################
+
+SET @@global.slave_allow_batching = 0;
+SELECT @@global.slave_allow_batching;
+SET @@global.slave_allow_batching = 1;
+SELECT @@global.slave_allow_batching;
+
+
+--echo '#--------------------FN_DYNVARS_145_04-------------------------#'
+###########################################################################
+# Change the value of slave_allow_batching to invalid value #
+###########################################################################
+
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.slave_allow_batching = -1;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.slave_allow_batching = 2;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.slave_allow_batching = "T";
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.slave_allow_batching = "Y";
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.slave_allow_batching = YES;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.slave_allow_batching = ONN;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.slave_allow_batching = OOF;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.slave_allow_batching = 0FF;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.slave_allow_batching = ' 1';
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.slave_allow_batching = NO;
+
+
+--echo '#-------------------FN_DYNVARS_145_05----------------------------#'
+###########################################################################
+# Test if accessing session slave_allow_batching gives error #
+###########################################################################
+
+--Error ER_GLOBAL_VARIABLE
+SET @@session.slave_allow_batching = 0;
+--Error ER_GLOBAL_VARIABLE
+SET @@slave_allow_batching = 0;
+--Error ER_GLOBAL_VARIABLE
+SET @@local.slave_allow_batching = 0;
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.slave_allow_batching;
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@local.slave_allow_batching;
+
+--echo '#----------------------FN_DYNVARS_145_06------------------------#'
+#########################################################################
+# Check if the value in SESSION Table contains variable value #
+#########################################################################
+
+SELECT count(VARIABLE_VALUE) FROM INFORMATION_SCHEMA.SESSION_VARIABLES WHERE VARIABLE_NAME='slave_allow_batching';
+
+
+--echo '#----------------------FN_DYNVARS_145_07------------------------#'
+#########################################################################
+# Check if the value in GLOBAL Table matches value in variable #
+#########################################################################
+
+SELECT @@global.slave_allow_batching = VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='slave_allow_batching';
+SELECT @@global.slave_allow_batching;
+SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES WHERE VARIABLE_NAME='slave_allow_batching';
+
+--echo '#---------------------FN_DYNVARS_145_08-------------------------#'
+###################################################################
+# Check if ON and OFF values can be used on variable #
+###################################################################
+
+SET @@global.slave_allow_batching = OFF;
+SELECT @@global.slave_allow_batching;
+SET @@global.slave_allow_batching = ON;
+SELECT @@global.slave_allow_batching;
+
+--echo '#---------------------FN_DYNVARS_145_09----------------------#'
+###################################################################
+# Check if TRUE and FALSE values can be used on variable #
+###################################################################
+
+SET @@global.slave_allow_batching = TRUE;
+SELECT @@global.slave_allow_batching;
+SET @@global.slave_allow_batching = FALSE;
+SELECT @@global.slave_allow_batching;
+
+##############################
+# Restore initial value #
+##############################
+
+SET @@global.slave_allow_batching = @global_start_value;
+SELECT @@global.slave_allow_batching;
+
+###############################################################
+# END OF slave_allow_batching TESTS #
+###############################################################
=== added file 'mysql-test/t/slave_compressed_protocol_basic.test'
--- a/mysql-test/t/slave_compressed_protocol_basic.test 1970-01-01 00:00:00 +0000
+++ b/mysql-test/t/slave_compressed_protocol_basic.test 2008-04-11 19:59:33 +0000
@@ -0,0 +1,167 @@
+############# mysql-test\t\slave_compressed_protocol_basic.test ###############
+# #
+# Variable Name: slave_compressed_protocol #
+# Scope: GLOBAL #
+# Access Type: Dynamic #
+# Data Type: boolean #
+# Default Value: FALSE #
+# Range: TRUE, FALSE #
+# #
+# #
+# Creation Date: 2008-02-07 #
+# Author: Rizwan #
+# #
+# Description: Test Cases of Dynamic System Variable slave_compressed_protocol#
+# 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/not_embedded.inc
+--source include/load_sysvars.inc
+########################################################################
+# START OF slave_compressed_protocol TESTS #
+########################################################################
+
+
+##############################################################################
+# Saving initial value of slave_compressed_protocol in a temporary variable #
+##############################################################################
+
+SET @global_start_value = @@global.slave_compressed_protocol;
+SELECT @global_start_value;
+
+--echo '#--------------------FN_DYNVARS_147_01------------------------#'
+########################################################################
+# Display the DEFAULT value of slave_compressed_protocol #
+########################################################################
+
+SET @@global.slave_compressed_protocol = 1;
+SET @@global.slave_compressed_protocol = DEFAULT;
+SELECT @@global.slave_compressed_protocol;
+
+--echo '#---------------------FN_DYNVARS_147_02-------------------------#'
+###############################################################################
+# Check if slave_compressed_protocol can be accessed with and without @@ sign #
+###############################################################################
+
+--Error ER_GLOBAL_VARIABLE
+SET slave_compressed_protocol = 1;
+SELECT @@slave_compressed_protocol;
+--Error ER_UNKNOWN_TABLE
+SELECT global.slave_compressed_protocol;
+
+SET global slave_compressed_protocol = 1;
+SELECT @@global.slave_compressed_protocol;
+
+
+--echo '#--------------------FN_DYNVARS_147_03------------------------#'
+########################################################################
+# Change the value of slave_compressed_protocol to a valid value #
+########################################################################
+
+SET @@global.slave_compressed_protocol = 0;
+SELECT @@global.slave_compressed_protocol;
+SET @@global.slave_compressed_protocol = 1;
+SELECT @@global.slave_compressed_protocol;
+
+
+--echo '#--------------------FN_DYNVARS_147_04-------------------------#'
+###########################################################################
+# Change the value of slave_compressed_protocol to invalid value #
+###########################################################################
+
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.slave_compressed_protocol = -1;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.slave_compressed_protocol = 2;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.slave_compressed_protocol = "1.00";
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.slave_compressed_protocol = "Y";
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.slave_compressed_protocol = YES;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.slave_compressed_protocol = ONN;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.slave_compressed_protocol = 0FF;
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.slave_compressed_protocol = ' 1';
+--Error ER_WRONG_VALUE_FOR_VAR
+SET @@global.slave_compressed_protocol = NO;
+
+
+--echo '#-------------------FN_DYNVARS_147_05----------------------------#'
+###########################################################################
+# Test if accessing session slave_compressed_protocol gives error #
+###########################################################################
+
+--Error ER_GLOBAL_VARIABLE
+SET @@session.slave_compressed_protocol = 0;
+--Error ER_GLOBAL_VARIABLE
+SET @@slave_compressed_protocol = 0;
+--Error ER_GLOBAL_VARIABLE
+SET @@local.slave_compressed_protocol = 0;
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@session.slave_compressed_protocol;
+--Error ER_INCORRECT_GLOBAL_LOCAL_VAR
+SELECT @@local.slave_compressed_protocol;
+
+--echo '#----------------------FN_DYNVARS_147_06------------------------#'
+#########################################################################
+# Check if the value in SESSION Table contains variable value #
+#########################################################################
+
+SELECT count(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='slave_compressed_protocol';
+
+--echo '#----------------------FN_DYNVARS_147_07------------------------#'
+#########################################################################
+# Check if the value in GLOBAL Table matches value in variable #
+#########################################################################
+
+SELECT @@global.slave_compressed_protocol = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='slave_compressed_protocol';
+SELECT @@global.slave_compressed_protocol;
+SELECT VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='slave_compressed_protocol';
+
+--echo '#---------------------FN_DYNVARS_147_08-------------------------#'
+###################################################################
+# Check if ON and OFF values can be used on variable #
+###################################################################
+
+SET @@global.slave_compressed_protocol = OFF;
+SELECT @@global.slave_compressed_protocol;
+SET @@global.slave_compressed_protocol = ON;
+SELECT @@global.slave_compressed_protocol;
+
+--echo '#---------------------FN_DYNVARS_147_09----------------------#'
+###################################################################
+# Check if TRUE and FALSE values can be used on variable #
+###################################################################
+
+SET @@global.slave_compressed_protocol = TRUE;
+SELECT @@global.slave_compressed_protocol;
+SET @@global.slave_compressed_protocol = FALSE;
+SELECT @@global.slave_compressed_protocol;
+
+##############################
+# Restore initial value #
+##############################
+
+SET @@global.slave_compressed_protocol = @global_start_value;
+SELECT @@global.slave_compressed_protocol;
+
+###############################################################
+# END OF slave_compressed_protocol TESTS #
+###############################################################
=== added file 'mysql-test/t/slave_exec_mode_basic.test'
--- a/mysql-test/t/slave_exec_mode_basic.test 1970-01-01 00:00:00 +0000
+++ b/mysql-test/t/slave_exec_mode_basic.test 2008-04-10 13:14:28 +0000
@@ -0,0 +1,41 @@
+############## mysql-test\t\slave_exec_mode_basic.test #########################
+# #
+# Variable Name: slave_exec_mode #
+# 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 slave_exec_mode #
+# 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 slave_exec_mode TESTS #
+########################################################################
+
+
+########################################################################
+# Saving initial value of slave_exec_mode in a temporary variable #
+########################################################################
+SET @start_value = @@global.slave_exec_mode;
+--echo 'This variable is not supported in version 5.1.22. It is introduced in 5.1.24'
+
+########################################################################
+# END OF slave_exec_mode TESTS #
+########################################################################
=== added file 'mysql-test/t/slave_net_timeout_basic.test'
--- a/mysql-test/t/slave_net_timeout_basic.test 1970-01-01 00:00:00 +0000
+++ b/mysql-test/t/slave_net_timeout_basic.test 2008-04-11 19:59:33 +0000
@@ -0,0 +1,187 @@
+################## mysql-test\t\slave_net_timeout_basic.test ##################
+# #
+# Variable Name: slave_net_timeout #
+# Scope: GLOBAL #
+# Access Type: Dynamic #
+# Data Type: numeric #
+# Default Value: 3600 #
+# Range: #
+# #
+# #
+# Creation Date: 2008-02-07 #
+# Author: Rizwan #
+# #
+# Description: Test Cases of Dynamic System Variable slave_net_timeout #
+# 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/not_embedded.inc
+--source include/load_sysvars.inc
+###########################################################
+# START OF slave_net_timeout TESTS #
+###########################################################
+
+
+#############################################################
+# Save initial value #
+#############################################################
+
+SET @start_global_value = @@global.slave_net_timeout;
+SELECT @start_global_value;
+
+--echo '#--------------------FN_DYNVARS_146_01-------------------------#'
+###########################################################
+# Display the DEFAULT value of slave_net_timeout #
+###########################################################
+
+SET @@global.slave_net_timeout = 500000;
+SET @@global.slave_net_timeout = DEFAULT;
+SELECT @@global.slave_net_timeout;
+
+--echo '#--------------------FN_DYNVARS_146_02-------------------------#'
+############################################################
+# Check the DEFAULT value of slave_net_timeout #
+############################################################
+
+SET @@global.slave_net_timeout = DEFAULT;
+SELECT @@global.slave_net_timeout = 3600;
+
+--echo '#--------------------FN_DYNVARS_146_03-------------------------#'
+###########################################################################
+# Change the value of slave_net_timeout to a valid value for GLOBAL Scope #
+###########################################################################
+
+SET @@global.slave_net_timeout = 0;
+SELECT @@global.slave_net_timeout;
+SET @@global.slave_net_timeout = 1;
+SELECT @@global.slave_net_timeout;
+SET @@global.slave_net_timeout = 15;
+SELECT @@global.slave_net_timeout;
+SET @@global.slave_net_timeout = 1024;
+SELECT @@global.slave_net_timeout;
+SET @@global.slave_net_timeout = 3600+1;
+SELECT @@global.slave_net_timeout;
+SET @@global.slave_net_timeout = 2147483648;
+SELECT @@global.slave_net_timeout;
+SET @@global.slave_net_timeout = 2147483648*2-1;
+SELECT @@global.slave_net_timeout;
+
+
+--echo '#--------------------FN_DYNVARS_146_04-------------------------#'
+###############################################################################
+# Check if variable can be access with session scope #
+###############################################################################
+
+--Error ER_GLOBAL_VARIABLE
+SET @@slave_net_timeout = 2;
+
+--Error ER_GLOBAL_VARIABLE
+SET @@session.slave_net_timeout = 3;
+
+--Error ER_GLOBAL_VARIABLE
+SET @@local.slave_net_timeout = 4;
+
+
+
+--echo '#------------------FN_DYNVARS_146_05-----------------------#'
+#############################################################
+# Change the value of slave_net_timeout to an invalid value #
+#############################################################
+
+SET @@global.slave_net_timeout = -1;
+SELECT @@global.slave_net_timeout;
+
+SET @@global.slave_net_timeout = -2147483648;
+SELECT @@global.slave_net_timeout;
+
+SET @@global.slave_net_timeout = 2147483649*2;
+SELECT @@global.slave_net_timeout;
+
+--Error ER_PARSE_ERROR
+SET @@global.slave_net_timeout = 65530.34.;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.slave_net_timeout = 100s;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.slave_net_timeout = 7483649.56;
+--Error ER_WRONG_TYPE_FOR_VAR
+SET @@global.slave_net_timeout = 0.6;
+
+--echo 'Bug# 34877: Invalid Values are coming in variable on assigning valid values';
+
+
+--echo '#------------------FN_DYNVARS_146_06-----------------------#'
+####################################################################
+# Check if the value in GLOBAL Table matches value in variable #
+####################################################################
+
+SET @@global.slave_net_timeout = 3000;
+SELECT @@global.slave_net_timeout = VARIABLE_VALUE
+FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
+WHERE VARIABLE_NAME='slave_net_timeout';
+
+
+--echo '#------------------FN_DYNVARS_146_07-----------------------#'
+###########################################################################
+# Check if the value is present in INFORMATION_SCHEMA.SESSION_VARIABLES #
+###########################################################################
+
+SELECT count(VARIABLE_VALUE)
+FROM INFORMATION_SCHEMA.SESSION_VARIABLES
+WHERE VARIABLE_NAME='slave_net_timeout';
+
+
+--echo '#------------------FN_DYNVARS_146_08-----------------------#'
+####################################################################
+# Check if TRUE and FALSE values can be used on variable #
+####################################################################
+
+SET @@global.slave_net_timeout = TRUE;
+SELECT @@global.slave_net_timeout;
+SET @@global.slave_net_timeout = FALSE;
+SELECT @@global.slave_net_timeout;
+
+
+--echo '#---------------------FN_DYNVARS_001_09----------------------#'
+###############################################################################
+# Check if accessing variable with and without GLOBAL point to same variable #
+###############################################################################
+
+
+SET @@global.slave_net_timeout = 60*60;
+SELECT @@slave_net_timeout = @@global.slave_net_timeout;
+
+
+--echo '#---------------------FN_DYNVARS_001_10----------------------#'
+##########################################################################
+# Check if slave_net_timeout can be accessed without @@ sign and scope #
+##########################################################################
+
+--Error ER_GLOBAL_VARIABLE
+SET slave_net_timeout = 2048;
+--Error ER_BAD_FIELD_ERROR
+SELECT slave_net_timeout;
+
+SELECT @@slave_net_timeout;
+
+#verifying another another syntax for setting value
+SET global slave_net_timeout = 99;
+
+####################################
+# Restore initial value #
+####################################
+
+SET @@global.slave_net_timeout = @start_global_value;
+SELECT @@global.slave_net_timeout;
+
+################################################
+# END OF slave_net_timeout TESTS #
+################################################
+
=== modified file 'mysql-test/t/sp-error.test'
--- a/mysql-test/t/sp-error.test 2008-08-22 11:16:08 +0000
+++ b/mysql-test/t/sp-error.test 2008-09-02 15:44:54 +0000
@@ -2452,6 +2452,32 @@ set @@max_sp_recursion_depth = @old_recu
drop procedure p1;
#
+# Bug#8759 (Stored Procedures: SQLSTATE '00000' should be illegal)
+#
+
+--disable_warnings
+drop procedure if exists proc_8759;
+--enable_warnings
+
+delimiter $$;
+
+--error ER_SP_BAD_SQLSTATE
+create procedure proc_8759()
+begin
+ declare should_be_illegal condition for sqlstate '00000';
+ declare continue handler for should_be_illegal set @x=0;
+end$$
+
+--error ER_SP_BAD_SQLSTATE
+create procedure proc_8759()
+begin
+ declare continue handler for sqlstate '00000' set @x=0;
+end$$
+
+delimiter ;$$
+
+
+#
# BUG#NNNN: New bug synopsis
#
#--disable_warnings
=== modified file 'mysql-test/t/status.test'
--- a/mysql-test/t/status.test 2008-08-12 18:56:42 +0000
+++ b/mysql-test/t/status.test 2008-09-02 15:44:54 +0000
@@ -258,7 +258,6 @@ create function f1 (x INTEGER) returns i
DELIMITER ;//
drop function f1;
-show status like 'Com%function';
# End of 5.1 tests
=== modified file 'mysql-test/t/union.test'
--- a/mysql-test/t/union.test 2008-05-13 15:15:40 +0000
+++ b/mysql-test/t/union.test 2008-09-02 15:44:54 +0000
@@ -91,6 +91,65 @@ SELECT @a:=1 UNION SELECT @a:=@a+1;
(SELECT 1) UNION (SELECT 2) ORDER BY (SELECT a);
(SELECT 1,3) UNION (SELECT 2,1) ORDER BY (SELECT 2);
+
+#
+# Bug#32858: Erro: "Incorrect usage of UNION and INTO" does not take subselects
+# into account
+#
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1);
+
+SELECT a INTO @v FROM (
+ SELECT a FROM t1
+ UNION
+ SELECT a FROM t1
+) alias;
+
+SELECT a INTO OUTFILE 'union.out.file' FROM (
+ SELECT a FROM t1
+ UNION
+ SELECT a FROM t1 WHERE 0
+) alias;
+
+SELECT a INTO DUMPFILE 'union.out.file2' FROM (
+ SELECT a FROM t1
+ UNION
+ SELECT a FROM t1 WHERE 0
+) alias;
+
+#
+# INTO will not be allowed in subqueries in version 5.1 and above.
+#
+SELECT a FROM (
+ SELECT a FROM t1
+ UNION
+ SELECT a INTO @v FROM t1
+) alias;
+
+SELECT a FROM (
+ SELECT a FROM t1
+ UNION
+ SELECT a INTO OUTFILE 'union.out.file3' FROM t1
+) alias;
+
+SELECT a FROM (
+ SELECT a FROM t1
+ UNION
+ SELECT a INTO DUMPFILE 'union.out.file4' FROM t1
+) alias;
+
+SELECT a FROM t1 UNION SELECT a INTO @v FROM t1;
+SELECT a FROM t1 UNION SELECT a INTO OUTFILE 'union.out.file5' FROM t1;
+SELECT a FROM t1 UNION SELECT a INTO OUTFILE 'union.out.file6' FROM t1;
+--error ER_WRONG_USAGE
+SELECT a INTO @v FROM t1 UNION SELECT a FROM t1;
+--error ER_WRONG_USAGE
+SELECT a INTO OUTFILE 'union.out.file7' FROM t1 UNION SELECT a FROM t1;
+--error ER_WRONG_USAGE
+SELECT a INTO DUMPFILE 'union.out.file8' FROM t1 UNION SELECT a FROM t1;
+
+DROP TABLE t1;
+
#
# Test bug reported by joc@stripped
#
=== modified file 'mysys/Makefile.am'
--- a/mysys/Makefile.am 2008-08-16 05:15:49 +0000
+++ b/mysys/Makefile.am 2008-09-02 15:44:54 +0000
@@ -70,13 +70,13 @@ libmysyslt_la_SOURCES = my_init.c my_get
my_gethostbyname.c rijndael.c my_aes.c sha1.c \
my_handler.c my_netware.c my_largepage.c \
my_memmem.c stacktrace.c \
- my_windac.c my_access.c base64.c \
+ my_windac.c my_access.c base64.c my_libwrap.c \
wqueue.c \
thr_alarm.c thr_lock.c my_pthread.c my_thr_init.c \
thr_mutex.c thr_rwlock.c \
mf_soundex.c \
my_conio.c my_wincond.c my_winthread.c
-EXTRA_DIST = CMakeLists.txt
+EXTRA_DIST = CMakeLists.txt
DEFS = -DDEFAULT_BASEDIR=\"$(prefix)\" \
-DDATADIR="\"$(MYSQLDATAdir)\"" \
=== modified file 'mysys/stacktrace.c'
--- a/mysys/stacktrace.c 2008-06-20 11:40:01 +0000
+++ b/mysys/stacktrace.c 2008-09-02 15:44:54 +0000
@@ -13,6 +13,9 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
+/* Workaround for Bug#32082: VOID redefinition on Win results in compile errors*/
+#define DONT_DEFINE_VOID 1
+
#include <my_global.h>
#include <my_stacktrace.h>
=== added directory 'server-tools'
=== added directory 'server-tools/instance-manager'
=== modified file 'sql/ha_ndbcluster_binlog.cc'
--- a/sql/ha_ndbcluster_binlog.cc 2008-08-16 05:15:49 +0000
+++ b/sql/ha_ndbcluster_binlog.cc 2008-09-02 15:44:54 +0000
@@ -504,6 +504,11 @@ static int ndbcluster_reset_logs(THD *th
if (!ndb_binlog_running)
return 0;
+ /* only reset master should reset logs */
+ if (!((thd->lex->sql_command == SQLCOM_RESET) &&
+ (thd->lex->type & REFRESH_MASTER)))
+ return 0;
+
DBUG_ENTER("ndbcluster_reset_logs");
/*
=== modified file 'sql/sql_table.cc'
--- a/sql/sql_table.cc 2008-09-02 12:51:03 +0000
+++ b/sql/sql_table.cc 2008-09-02 15:44:54 +0000
@@ -5217,13 +5217,14 @@ compare_tables(THD *thd,
Create_field *new_field, *tmp_new_field;
KEY_PART_INFO *key_part;
KEY_PART_INFO *end;
- uint candidate_key_count= 0;
- bool not_nullable= true;
/*
Remember if the new definition has new VARCHAR column;
create_info->varchar will be reset in mysql_prepare_create_table.
*/
bool varchar= create_info->varchar;
+ uint candidate_key_count= 0;
+ bool not_nullable= true;
+
/*
Create a copy of alter_info.
To compare the new and old table definitions, we need to "prepare"
@@ -5246,13 +5247,13 @@ compare_tables(THD *thd,
/* Create the prepared information. */
if (mysql_prepare_create_table(thd, create_info,
- &tmp_alter_info,
- (table->s->tmp_table != NO_TMP_TABLE),
- &db_options,
- table->file,
- &ha_alter_info->key_info_buffer,
- &ha_alter_info->key_count,
- /* select_field_count */ 0))
+ &tmp_alter_info,
+ (table->s->tmp_table != NO_TMP_TABLE),
+ &db_options,
+ table->file,
+ &ha_alter_info->key_info_buffer,
+ &ha_alter_info->key_count,
+ /* select_field_count */ 0))
DBUG_RETURN(TRUE);
/* Allocate result buffers. */
if (! (ha_alter_info->index_drop_buffer=
@@ -5362,9 +5363,10 @@ compare_tables(THD *thd,
new_field->charset= create_info->default_table_charset;
/* Don't pack rows in old tables if the user has requested this. */
- if ((tmp_new_field->flags & BLOB_FLAG) ||
- tmp_new_field->sql_type == MYSQL_TYPE_VARCHAR &&
- create_info->row_type != ROW_TYPE_FIXED)
+ if (create_info->row_type == ROW_TYPE_DYNAMIC ||
+ (tmp_new_field->flags & BLOB_FLAG) ||
+ tmp_new_field->sql_type == MYSQL_TYPE_VARCHAR &&
+ create_info->row_type != ROW_TYPE_FIXED)
create_info->table_options|= HA_OPTION_PACK_RECORD;
/* Check how fields have been modified */
=== modified file 'sql/sql_yacc.yy'
--- a/sql/sql_yacc.yy 2008-09-02 12:51:03 +0000
+++ b/sql/sql_yacc.yy 2008-09-02 15:44:54 +0000
@@ -5218,7 +5218,7 @@ attribute:
Lex->default_value=$2;
Lex->alter_info.flags|= ALTER_COLUMN_DEFAULT;
}
- | ON UPDATE_SYM NOW_SYM optional_braces
+ | ON UPDATE_SYM NOW_SYM optional_braces
{
Item *item= new (YYTHD->mem_root) Item_func_now_local();
if (item == NULL)
=== modified file 'storage/myisam/mi_check.c'
--- a/storage/myisam/mi_check.c 2008-08-24 16:12:12 +0000
+++ b/storage/myisam/mi_check.c 2008-09-02 15:44:54 +0000
@@ -1216,6 +1216,7 @@ int chk_data_link(HA_CHECK *param, MI_IN
param->glob_crc+= (*info->s->calc_check_checksum)(info,record);
link_used+= (block_info.filepos - start_recpos);
used+= (pos-start_recpos);
+ break;
} /* switch */
if (! got_error)
{
=== modified file 'storage/ndb/include/kernel/NodeState.hpp'
--- a/storage/ndb/include/kernel/NodeState.hpp 2007-01-06 00:21:39 +0000
+++ b/storage/ndb/include/kernel/NodeState.hpp 2008-08-13 12:30:19 +0000
@@ -166,6 +166,13 @@ public:
bool getSystemRestartInProgress() const;
/**
+ * Are we started
+ */
+ bool getStarted() const {
+ return startLevel == SL_STARTED || startLevel == SL_SINGLEUSER;
+ }
+
+ /**
* Is in single user mode?
*/
bool getSingleUserMode() const;
=== modified file 'storage/ndb/include/kernel/signaldata/SumaImpl.hpp'
--- a/storage/ndb/include/kernel/signaldata/SumaImpl.hpp 2008-06-16 06:25:29 +0000
+++ b/storage/ndb/include/kernel/signaldata/SumaImpl.hpp 2008-08-13 12:30:19 +0000
@@ -551,6 +551,7 @@ struct SumaStartMeRef {
Uint32 errorCode;
enum {
Busy = 0x1
+ ,NotStarted = 0x2
};
};
=== modified file 'storage/ndb/src/common/transporter/TCP_Transporter.cpp'
--- a/storage/ndb/src/common/transporter/TCP_Transporter.cpp 2008-08-08 09:40:47 +0000
+++ b/storage/ndb/src/common/transporter/TCP_Transporter.cpp 2008-09-02 15:44:54 +0000
@@ -167,7 +167,7 @@ set_get(NDB_SOCKET_TYPE fd, int level, i
int val)
{
int actual = 0, defval = 0;
- SOCKOPT_OPTLEN_TYPE len = sizeof(actual);
+ SOCKET_SIZE_TYPE len = sizeof(actual);
getsockopt(fd, level, optval, (char*)&defval, &len);
=== modified file 'storage/ndb/src/common/transporter/TransporterRegistry.cpp'
--- a/storage/ndb/src/common/transporter/TransporterRegistry.cpp 2008-06-11 09:28:40 +0000
+++ b/storage/ndb/src/common/transporter/TransporterRegistry.cpp 2008-08-27 19:56:41 +0000
@@ -1384,7 +1384,13 @@ bool TransporterRegistry::connect_client
g_eventLogger->error("%s: %d", __FILE__, __LINE__);
return false;
}
- DBUG_RETURN(t->connect_client(connect_ndb_mgmd(h)));
+
+ bool res = t->connect_client(connect_ndb_mgmd(h));
+ if (res == true)
+ {
+ performStates[mgm_nodeid] = TransporterRegistry::CONNECTING;
+ }
+ DBUG_RETURN(res);
}
/**
=== modified file 'storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp'
--- a/storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp 2008-04-25 10:56:03 +0000
+++ b/storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp 2008-08-27 19:56:41 +0000
@@ -813,6 +813,16 @@ Cmvmi::execSTART_ORD(Signal* signal) {
if(globalData.theStartLevel == NodeState::SL_NOTHING)
{
jam();
+
+ for(unsigned int i = 1; i < MAX_NODES; i++ )
+ {
+ if (getNodeInfo(i).m_type == NodeInfo::MGM)
+ {
+ jam();
+ globalTransporterRegistry.do_connect(i);
+ }
+ }
+
globalData.theStartLevel = NodeState::SL_CMVMI;
EXECUTE_DIRECT(QMGR, GSN_START_ORD, signal, 1);
return ;
=== modified file 'storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp'
--- a/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp 2008-08-11 10:41:11 +0000
+++ b/storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp 2008-08-21 06:47:02 +0000
@@ -7103,7 +7103,7 @@ void Dblqh::abortStateHandlerLab(Signal*
/* ------------------------------------------------------------------------- */
ndbrequire(regTcPtr->abortState == TcConnectionrec::NEW_FROM_TC);
sendLqhTransconf(signal, LqhTransConf::Prepared);
- break;
+ return;
case TcConnectionrec::WAIT_TUPKEYINFO:
case TcConnectionrec::WAIT_ATTR:
jam();
=== modified file 'storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp'
--- a/storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp 2008-08-11 10:41:11 +0000
+++ b/storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp 2008-08-20 20:00:56 +0000
@@ -4732,10 +4732,7 @@ Dbtc::sendApiCommit(Signal* signal)
SET_ERROR_INSERT_VALUE(8056);
- Ptr<ApiConnectRecord> copyPtr;
- copyPtr.i = regApiPtr.p->apiCopyRecord;
- ptrCheckGuard(copyPtr, capiConnectFilesize, apiConnectRecord);
- return copyPtr;
+ goto err8055;
}
if (regApiPtr.p->returnsignal == RS_TCKEYCONF) {
@@ -4763,6 +4760,8 @@ Dbtc::sendApiCommit(Signal* signal)
TCKEY_abort(signal, 37);
return regApiPtr;
}//if
+
+err8055:
Ptr<ApiConnectRecord> copyPtr;
UintR TapiConnectFilesize = capiConnectFilesize;
UintR TcommitCount = c_counters.ccommitCount;
=== modified file 'storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp'
--- a/storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp 2008-04-25 09:17:15 +0000
+++ b/storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp 2008-08-27 19:56:41 +0000
@@ -267,12 +267,9 @@ Qmgr::execSTART_ORD(Signal* signal)
case NodeInfo::MGM:
jam();
/**
- * Enable communication to MGM direcly
- * by setting ZFAIL_CLOSING (picked up in checkStartInterface)
+ * cmvmi allows ndb_mgmd to connect directly
*/
- cnt = 3;
- nodePtr.p->phase = ZFAIL_CLOSING;
- nodePtr.p->failState = NORMAL;
+ nodePtr.p->phase = ZAPI_INACTIVE;
break;
default:
jam();
=== modified file 'storage/ndb/src/kernel/blocks/restore.cpp'
--- a/storage/ndb/src/kernel/blocks/restore.cpp 2007-07-11 12:47:05 +0000
+++ b/storage/ndb/src/kernel/blocks/restore.cpp 2008-08-21 22:05:42 +0000
@@ -1121,12 +1121,12 @@ Restore::reorder_key(const KeyDescriptor
src += sz;
break;
case NDB_ARRAYTYPE_SHORT_VAR:
- sz = (1 + ((char*)var)[0] + 3) >> 2;
+ sz = (1 + ((Uint8*)var)[0] + 3) >> 2;
memcpy(dst, var, 4 * sz);
var += sz;
break;
case NDB_ARRAYTYPE_MEDIUM_VAR:
- sz = (2 + ((char*)var)[0] + 256*((char*)var)[1] + 3) >> 2;
+ sz = (2 + ((Uint8*)var)[0] + 256*((Uint8*)var)[1] + 3) >> 2;
memcpy(dst, var, 4 * sz);
var += sz;
break;
=== modified file 'storage/ndb/src/kernel/blocks/suma/Suma.cpp'
--- a/storage/ndb/src/kernel/blocks/suma/Suma.cpp 2008-08-07 11:59:14 +0000
+++ b/storage/ndb/src/kernel/blocks/suma/Suma.cpp 2008-08-13 12:30:19 +0000
@@ -474,7 +474,7 @@ Suma::execSUMA_START_ME_REF(Signal* sign
const SumaStartMeRef* ref= (SumaStartMeRef*)signal->getDataPtr();
Uint32 error = ref->errorCode;
- if (error != SumaStartMeRef::Busy)
+ if (error != SumaStartMeRef::Busy && error != SumaStartMeRef::NotStarted)
{
jam();
// for some reason we did not manage to create a subscription
@@ -492,7 +492,6 @@ Suma::execSUMA_START_ME_REF(Signal* sign
infoEvent("Suma: node %d refused %d",
c_startup.m_restart_server_node_id, ref->errorCode);
- c_startup.m_restart_server_node_id++;
send_start_me_req(signal);
}
@@ -4339,6 +4338,16 @@ Suma::execSUMA_START_ME_REQ(Signal* sign
jam();
SumaStartMeRef* ref= (SumaStartMeRef*)signal->getDataPtrSend();
ref->errorCode = SumaStartMeRef::Busy;
+ sendSignal(retref, GSN_SUMA_START_ME_REF, signal,
+ SumaStartMeRef::SignalLength, JBB);
+ return;
+ }
+
+ if (getNodeState().getStarted() == false)
+ {
+ jam();
+ SumaStartMeRef* ref= (SumaStartMeRef*)signal->getDataPtrSend();
+ ref->errorCode = SumaStartMeRef::NotStarted;
sendSignal(retref, GSN_SUMA_START_ME_REF, signal,
SumaStartMeRef::SignalLength, JBB);
return;
=== modified file 'storage/ndb/src/kernel/error/ErrorReporter.cpp'
--- a/storage/ndb/src/kernel/error/ErrorReporter.cpp 2008-04-22 19:36:05 +0000
+++ b/storage/ndb/src/kernel/error/ErrorReporter.cpp 2008-08-26 15:33:54 +0000
@@ -149,7 +149,8 @@ ErrorReporter::formatMessage(int faultID
strcat(messptr, " ");
}
- strcat(messptr, "\n");
+ messptr[MESSAGE_LENGTH -2]='\n';
+ messptr[MESSAGE_LENGTH -1]=0;
return;
}
=== modified file 'storage/ndb/src/kernel/vm/LongSignal.hpp'
--- a/storage/ndb/src/kernel/vm/LongSignal.hpp 2006-12-23 19:20:40 +0000
+++ b/storage/ndb/src/kernel/vm/LongSignal.hpp 2008-08-27 15:19:05 +0000
@@ -61,6 +61,9 @@ void linkSegments(Uint32 head, Uint32 ta
void getSections(Uint32 secCount, SegmentedSectionPtr ptr[3]);
void releaseSections(Uint32 secCount, SegmentedSectionPtr ptr[3]);
+/* Internal verification */
+bool verifySection(Uint32 firstIVal,
+ SectionSegmentPool& thePool= g_sectionSegmentPool);
#include "DataBuffer.hpp"
=== modified file 'storage/ndb/src/kernel/vm/TransporterCallback.cpp'
--- a/storage/ndb/src/kernel/vm/TransporterCallback.cpp 2006-12-23 19:20:40 +0000
+++ b/storage/ndb/src/kernel/vm/TransporterCallback.cpp 2008-08-27 15:19:05 +0000
@@ -60,13 +60,72 @@ const char *lookupConnectionError(Uint32
return connectionError[i].text;
}
+
+/**
+ * verifySection
+ * Assertion method to check that a segmented section is constructed
+ * 'properly' where 'properly' is loosly defined.
+ */
bool
-import(Ptr<SectionSegment> & first, const Uint32 * src, Uint32 len){
- /**
- * Dummy data used when setting prev.m_nextSegment for first segment of a
- * section
+verifySection(Uint32 firstIVal, SectionSegmentPool& thePool)
+{
+ if (firstIVal == RNIL)
+ return true;
+
+ /* Get first section ptr (With assertions in getPtr) */
+ SectionSegment* first= thePool.getPtr(firstIVal);
+
+ assert(first != NULL);
+ Uint32 totalSize= first->m_sz;
+ Uint32 lastSegIVal= first->m_lastSegment;
+
+ /* Hmm, need to be careful of length == 0
+ * Nature abhors a segmented section with length 0
*/
- Uint32 dummyPrev[4];
+ //assert(totalSize != 0);
+ assert(lastSegIVal != RNIL); /* Should never be == RNIL */
+ /* We ignore m_ownerRef */
+
+ if (totalSize <= SectionSegment::DataLength)
+ {
+ /* 1 segment */
+ assert(first->m_lastSegment == firstIVal);
+ // m_nextSegment not always set to RNIL on last segment
+ //assert(first->m_nextSegment == RNIL);
+ }
+ else
+ {
+ /* > 1 segment */
+ assert(first->m_nextSegment != RNIL);
+ assert(first->m_lastSegment != firstIVal);
+ Uint32 currIVal= firstIVal;
+ SectionSegment* curr= first;
+
+ /* Traverse segments to where we think the end should be */
+ while (totalSize > SectionSegment::DataLength)
+ {
+ currIVal= curr->m_nextSegment;
+ curr= thePool.getPtr(currIVal);
+ totalSize-= SectionSegment::DataLength;
+ /* Ignore m_ownerRef, m_sz, m_lastSegment of intermediate
+ * Segments
+ */
+ }
+
+ /* Once we are here, we are on the last Segment of this Section
+ * Check that last segment is as stated in the first segment
+ */
+ assert(currIVal == lastSegIVal);
+ // m_nextSegment not always set properly on last segment
+ //assert(curr->m_nextSegment == RNIL);
+ /* Ignore m_ownerRef, m_sz, m_lastSegment of last segment */
+ }
+
+ return true;
+}
+
+bool
+import(Ptr<SectionSegment> & first, const Uint32 * src, Uint32 len){
first.p = 0;
if(g_sectionSegmentPool.seize(first)){
@@ -78,16 +137,15 @@ import(Ptr<SectionSegment> & first, cons
first.p->m_sz = len;
first.p->m_ownerRef = 0;
- Ptr<SectionSegment> prevPtr = { (SectionSegment *)&dummyPrev[0], 0 };
Ptr<SectionSegment> currPtr = first;
while(len > SectionSegment::DataLength){
- prevPtr.p->m_nextSegment = currPtr.i;
memcpy(&currPtr.p->theData[0], src, 4 * SectionSegment::DataLength);
src += SectionSegment::DataLength;
len -= SectionSegment::DataLength;
- prevPtr = currPtr;
+ Ptr<SectionSegment> prevPtr = currPtr;
if(g_sectionSegmentPool.seize(currPtr)){
+ prevPtr.p->m_nextSegment = currPtr.i;
;
} else {
first.p->m_lastSegment = prevPtr.i;
@@ -98,6 +156,8 @@ import(Ptr<SectionSegment> & first, cons
first.p->m_lastSegment = currPtr.i;
currPtr.p->m_nextSegment = RNIL;
memcpy(&currPtr.p->theData[0], src, 4 * len);
+
+ assert(verifySection(first.i));
return true;
}
@@ -117,6 +177,8 @@ linkSegments(Uint32 head, Uint32 tail){
headPtr.p->m_sz += tailPtr.p->m_sz;
oldTailPtr.p->m_nextSegment = tailPtr.i;
+
+ assert(verifySection(head));
}
void
@@ -125,6 +187,8 @@ copy(Uint32 * & insertPtr,
Uint32 len = _ptr.sz;
SectionSegment * ptrP = _ptr.p;
+
+ assert(verifySection(_ptr.i, thePool));
while(len > 60){
memcpy(insertPtr, &ptrP->theData[0], 4 * 60);
@@ -180,6 +244,7 @@ getSection(SegmentedSectionPtr & ptr, Ui
void
release(SegmentedSectionPtr & ptr){
+ assert(verifySection(ptr.i));
g_sectionSegmentPool.releaseList(relSz(ptr.sz),
ptr.i,
ptr.p->m_lastSegment);
=== modified file 'storage/ndb/src/mgmapi/mgmapi.cpp'
--- a/storage/ndb/src/mgmapi/mgmapi.cpp 2008-08-16 05:15:49 +0000
+++ b/storage/ndb/src/mgmapi/mgmapi.cpp 2008-09-02 15:44:54 +0000
@@ -125,7 +125,6 @@ setError(NdbMgmHandle h, int error, int
#define CHECK_HANDLE(handle, ret) \
if(handle == 0) { \
- SET_ERROR(handle, NDB_MGM_ILLEGAL_SERVER_HANDLE, ""); \
return ret; \
}
=== modified file 'storage/ndb/src/mgmsrv/MgmtSrvr.cpp'
--- a/storage/ndb/src/mgmsrv/MgmtSrvr.cpp 2008-07-29 09:39:57 +0000
+++ b/storage/ndb/src/mgmsrv/MgmtSrvr.cpp 2008-09-02 09:27:09 +0000
@@ -1162,7 +1162,7 @@ int MgmtSrvr::sendSTOP_REQ(const Vector<
CAST_CONSTPTR(NodeFailRep, signal->getDataPtr());
NdbNodeBitmask mask;
mask.assign(NdbNodeBitmask::Size, rep->theNodes);
- mask.bitAND(notstarted);
+ mask.bitANDC(notstarted);
nodes.bitANDC(mask);
if (singleUserNodeId == 0)
@@ -2339,6 +2339,7 @@ MgmtSrvr::alloc_node_id(NodeId * nodeId,
"or specifying unique host names in config file,\n"
"or specifying just one mgmt server in config file.",
tmp);
+ NdbMutex_Unlock(m_configMutex);
error_code = NDB_MGM_ALLOCID_CONFIG_MISMATCH;
DBUG_RETURN(false);
}
=== modified file 'storage/ndb/src/ndbapi/NdbScanOperation.cpp'
--- a/storage/ndb/src/ndbapi/NdbScanOperation.cpp 2008-08-13 09:20:04 +0000
+++ b/storage/ndb/src/ndbapi/NdbScanOperation.cpp 2008-09-02 15:44:54 +0000
@@ -2122,7 +2122,7 @@ NdbScanOperation::takeOverScanOp(Operati
*/
Uint32 infoword= 0;
Uint32 len= 0;
- const Uint32 *src= NULL;
+ const char *src= NULL;
Uint32 idx= m_current_api_receiver;
if (idx >= m_api_receivers_count)
@@ -2130,7 +2130,7 @@ NdbScanOperation::takeOverScanOp(Operati
const NdbReceiver *receiver= m_api_receivers[m_current_api_receiver];
/* Get this row's KeyInfo data */
- int res= receiver->get_keyinfo20(infoword, len, (const char*&) src);
+ int res= receiver->get_keyinfo20(infoword, len, src);
if (res == -1)
return NULL;
@@ -2170,11 +2170,10 @@ NdbScanOperation::takeOverScanOp(Operati
// Copy the first 8 words of key info from KEYINF20 into TCKEYREQ
TcKeyReq * tcKeyReq = CAST_PTR(TcKeyReq,newOp->theTCREQ->getDataPtrSend());
- Uint32 i = 0;
- for (i = 0; i < TcKeyReq::MaxKeyInfo && i < len; i++) {
- tcKeyReq->keyInfo[i] = * src++;
- }
-
+ Uint32 i = MIN(TcKeyReq::MaxKeyInfo, len);
+ memcpy(tcKeyReq->keyInfo, src, 4*i);
+ src += i * 4;
+
if(i < len){
NdbApiSignal* tSignal = theNdb->getSignal();
newOp->theTCREQ->next(tSignal);
@@ -2184,7 +2183,7 @@ NdbScanOperation::takeOverScanOp(Operati
tSignal->setSignal(GSN_KEYINFO);
KeyInfo * keyInfo = CAST_PTR(KeyInfo, tSignal->getDataPtrSend());
memcpy(keyInfo->keyData, src, 4 * KeyInfo::DataLength);
- src += KeyInfo::DataLength;
+ src += 4 * KeyInfo::DataLength;
left -= KeyInfo::DataLength;
tSignal->next(theNdb->getSignal());
=== modified file 'storage/ndb/test/ndbapi/testIndex.cpp'
--- a/storage/ndb/test/ndbapi/testIndex.cpp 2008-03-25 14:17:03 +0000
+++ b/storage/ndb/test/ndbapi/testIndex.cpp 2008-08-21 22:05:42 +0000
@@ -169,6 +169,29 @@ int create_index(NDBT_Context* ctx, int
ndbout << pTab->getColumn(attrNo)->getName()<<" ";
}
+ if (!orderedIndex)
+ {
+ /**
+ * For unique indexes we must add PK, otherwise it's not guaranteed
+ * to be unique
+ */
+ for (int i = 0; i<pTab->getNoOfColumns(); i++)
+ {
+ if (pTab->getColumn(i)->getPrimaryKey())
+ {
+ for (int j = 0; j<attr->numAttribs; j++)
+ {
+ if (attr->attribs[j] == i)
+ goto next;
+ }
+ pIdx.addIndexColumn(pTab->getColumn(i)->getName());
+ ndbout << pTab->getColumn(i)->getName() << " ";
+ }
+ next:
+ (void)i;
+ }
+ }
+
pIdx.setStoredIndex(logged);
ndbout << ") ";
if (pNdb->getDictionary()->createIndex(pIdx) != 0){
=== modified file 'storage/ndb/test/ndbapi/testNodeRestart.cpp'
--- a/storage/ndb/test/ndbapi/testNodeRestart.cpp 2008-04-25 07:14:29 +0000
+++ b/storage/ndb/test/ndbapi/testNodeRestart.cpp 2008-08-20 20:29:47 +0000
@@ -2180,21 +2180,33 @@ runBug34216(NDBT_Context* ctx, NDBT_Step
break;
}
- int rows = 10;
+ int rows = 25;
+ if (rows > records)
+ rows = records;
+
int batch = 1;
int row = (records - rows) ? rand() % (records - rows) : 0;
+ if (row + rows > records)
+ row = records - row;
- if(hugoOps.pkUpdateRecord(pNdb, row, batch, rand()) != 0)
- goto err;
-
- for (int l = 1; l<5; l++)
+ /**
+ * We should really somehow check that one of the 25 rows
+ * resides in the node we're targeting
+ */
+ for (int r = row; r < row + rows; r++)
{
- if (hugoOps.execute_NoCommit(pNdb) != 0)
- goto err;
-
- if(hugoOps.pkUpdateRecord(pNdb, row, batch, rand()) != 0)
+ if(hugoOps.pkUpdateRecord(pNdb, r, batch, rand()) != 0)
goto err;
- }
+
+ for (int l = 1; l<5; l++)
+ {
+ if (hugoOps.execute_NoCommit(pNdb) != 0)
+ goto err;
+
+ if(hugoOps.pkUpdateRecord(pNdb, r, batch, rand()) != 0)
+ goto err;
+ }
+ }
hugoOps.execute_Commit(pNdb);
hugoOps.closeTransaction(pNdb);
=== modified file 'storage/ndb/test/ndbapi/testSystemRestart.cpp'
--- a/storage/ndb/test/ndbapi/testSystemRestart.cpp 2008-06-18 14:50:56 +0000
+++ b/storage/ndb/test/ndbapi/testSystemRestart.cpp 2008-08-22 22:07:53 +0000
@@ -1560,6 +1560,7 @@ int runBug22696(NDBT_Context* ctx, NDBT_
Uint32 i = 0;
while(i<=loops && result != NDBT_FAILED)
{
+ ndbout_c("loop %u", i);
for (Uint32 j = 0; j<10 && result != NDBT_FAILED; j++)
CHECK(hugoTrans.scanUpdateRecords(pNdb, rows) == 0);
=== modified file 'storage/ndb/test/run-test/Makefile.am'
--- a/storage/ndb/test/run-test/Makefile.am 2008-04-25 06:32:23 +0000
+++ b/storage/ndb/test/run-test/Makefile.am 2008-08-23 20:29:50 +0000
@@ -26,7 +26,7 @@ test_DATA=daily-basic-tests.txt daily-de
conf-dl145a.cnf test-tests.txt conf-test.cnf db.sql
test_SCRIPTS=atrt-analyze-result.sh atrt-gather-result.sh atrt-setup.sh \
- atrt-clear-result.sh autotest-run.sh
+ atrt-clear-result.sh autotest-run.sh atrt-backtrace.sh
atrt_SOURCES = main.cpp setup.cpp files.cpp db.cpp command.cpp
=== modified file 'storage/ndb/test/run-test/atrt-analyze-result.sh'
--- a/storage/ndb/test/run-test/atrt-analyze-result.sh 2005-04-27 01:19:54 +0000
+++ b/storage/ndb/test/run-test/atrt-analyze-result.sh 2008-08-24 18:38:25 +0000
@@ -1,5 +1,14 @@
#!/bin/sh
+cores=`find result -name 'core*'`
+if [ "$cores" ]
+then
+ for i in "$cores"
+ do
+ atrt-backtrace.sh $i
+ done
+fi
+
f=`find result -name 'log.out' | xargs grep "NDBT_ProgramExit: " | grep -c "Failed"`
o=`find result -name 'log.out' | xargs grep "NDBT_ProgramExit: " | grep -c "OK"`
=== added file 'storage/ndb/test/run-test/atrt-backtrace.sh'
--- a/storage/ndb/test/run-test/atrt-backtrace.sh 1970-01-01 00:00:00 +0000
+++ b/storage/ndb/test/run-test/atrt-backtrace.sh 2008-08-30 05:20:18 +0000
@@ -0,0 +1,56 @@
+#!/bin/sh
+
+core=$1
+out=$2
+
+if [ ! -f "$core" ]
+then
+ exit
+fi
+
+if [ -f `dirname $core`/env.sh ]
+then
+ . `dirname $core`/env.sh
+fi
+
+#
+# gdb command file
+#
+bt=`dirname $core`/bt.gdb
+echo "thread apply all bt" > $bt
+echo "quit" >> $bt
+
+#
+# Fix output
+#
+if [ -z "$out" ]
+then
+ out=`dirname $core`/bt.txt
+fi
+outarg=">> $out 2>&1"
+if [ "$out" = "-" ]
+then
+ outarg=""
+fi
+
+#
+# get binary
+#
+tmp=`echo ${core}.tmp`
+gdb -c $core -x $bt -q 2>&1 | grep "Core was generated" | awk '{ print $5;}' | sed 's!`!!' | sed `echo "s/'\.//"` > $tmp
+exe=`cat $tmp`
+rm -f $tmp
+
+if [ -x $exe ]
+then
+ echo "*** $exe - $core" >> $out
+ gdb -q -batch -x bt.gdb -c $core $exe >> $out 2>&1
+elif [ -x "`which $exe 2> /dev/null`" ]
+then
+ exe=`which $exe`
+ echo "*** $exe - $core" >> $out
+ gdb -q -batch -x bt.gdb -c $core $exe >> $out 2>&1
+else
+ echo "*** $core : cant find exe: $exe" >> $out
+fi
+rm -f $bt
=== modified file 'storage/ndb/test/run-test/atrt.hpp'
--- a/storage/ndb/test/run-test/atrt.hpp 2008-02-21 13:57:42 +0000
+++ b/storage/ndb/test/run-test/atrt.hpp 2008-08-27 11:42:30 +0000
@@ -32,6 +32,7 @@ enum ErrorCodes
ERR_SERVERS_FAILED = 102,
ERR_MAX_TIME_ELAPSED = 103,
ERR_COMMAND_FAILED = 104,
+ ERR_FAILED_TO_START = 105
};
struct atrt_host
=== modified file 'storage/ndb/test/run-test/daily-devel-tests.txt'
--- a/storage/ndb/test/run-test/daily-devel-tests.txt 2008-03-25 14:30:41 +0000
+++ b/storage/ndb/test/run-test/daily-devel-tests.txt 2008-08-30 05:13:47 +0000
@@ -3,7 +3,7 @@
#
max-time: 1500
cmd: testIndex
-args: -n CreateAll T1 T6 T13
+args: -n CreateAll T1 T13 T14
#-m 7200 1: testIndex -n InsertDeleteGentle T6
max-time: 3600
=== modified file 'storage/ndb/test/run-test/db.cpp'
--- a/storage/ndb/test/run-test/db.cpp 2008-02-21 13:57:42 +0000
+++ b/storage/ndb/test/run-test/db.cpp 2008-08-27 11:42:30 +0000
@@ -460,3 +460,7 @@ setup_repl(atrt_config& config)
}
return true;
}
+
+template static int find(atrt_host* obj, Vector<atrt_host*>& arr);
+template static int find(atrt_cluster* obj, Vector<atrt_cluster*>& arr);
+
=== modified file 'storage/ndb/test/run-test/files.cpp'
--- a/storage/ndb/test/run-test/files.cpp 2007-04-02 06:39:58 +0000
+++ b/storage/ndb/test/run-test/files.cpp 2008-08-23 20:29:50 +0000
@@ -270,21 +270,23 @@ setup_files(atrt_config& config, int set
}
free(env);
- tmp.assfmt("%s/ssh-login.sh", proc.m_proc.m_cwd.c_str());
- FILE* fenv = fopen(tmp.c_str(), "w+");
- if (fenv == 0)
{
- g_logger.error("Failed to open %s for writing", tmp.c_str());
- return false;
+ tmp.assfmt("%s/ssh-login.sh", proc.m_proc.m_cwd.c_str());
+ FILE* fenv = fopen(tmp.c_str(), "w+");
+ if (fenv == 0)
+ {
+ g_logger.error("Failed to open %s for writing", tmp.c_str());
+ return false;
+ }
+ fprintf(fenv, "#!/bin/sh\n");
+ fprintf(fenv, "cd %s\n", proc.m_proc.m_cwd.c_str());
+ fprintf(fenv, "[ -f /etc/profile ] && . /etc/profile\n");
+ fprintf(fenv, ". env.sh\n");
+ fprintf(fenv, "ulimit -Sc unlimited\n");
+ fprintf(fenv, "bash -i");
+ fflush(fenv);
+ fclose(fenv);
}
- fprintf(fenv, "#!/bin/sh\n");
- fprintf(fenv, "cd %s\n", proc.m_proc.m_cwd.c_str());
- fprintf(fenv, "[ -f /etc/profile ] && . /etc/profile\n");
- fprintf(fenv, ". env.sh\n");
- fprintf(fenv, "ulimit -Sc unlimited\n");
- fprintf(fenv, "bash -i");
- fflush(fenv);
- fclose(fenv);
}
}
=== modified file 'storage/ndb/test/run-test/main.cpp'
--- a/storage/ndb/test/run-test/main.cpp 2008-03-12 13:13:49 +0000
+++ b/storage/ndb/test/run-test/main.cpp 2008-09-02 15:44:54 +0000
@@ -273,7 +273,33 @@ main(int argc, char ** argv)
goto end;
if (!start(g_config, p_ndb | p_servers))
- goto end;
+ {
+ g_logger.info("Failed to start server processes");
+ g_logger.info("Gathering logs and saving them as test %u", test_no);
+
+ int tmp;
+ if(!gather_result(g_config, &tmp))
+ goto end;
+
+ if(g_report_file != 0)
+ {
+ fprintf(g_report_file, "%s ; %d ; %d ; %d\n",
+ "start servers", test_no, ERR_FAILED_TO_START, 0);
+ fflush(g_report_file);
+ }
+
+ BaseString resdir;
+ resdir.assfmt("result.%d", test_no);
+ remove_dir(resdir.c_str(), true);
+
+ if(rename("result", resdir.c_str()) != 0)
+ {
+ g_logger.critical("Failed to rename %s as %s",
+ "result", resdir.c_str());
+ goto end;
+ }
+ goto end;
+ }
if (!setup_db(g_config))
goto end;
=== modified file 'support-files/build-tags'
--- a/support-files/build-tags 2008-08-07 20:33:48 +0000
+++ b/support-files/build-tags 2008-09-02 15:44:54 +0000
@@ -1,7 +1,7 @@
#! /bin/sh
rm -f TAGS
-filter='\.cc$\|\.c$\|\.h$\|\.yy$'
+filter='\.cc$\|\.c$\|\.h$\|\.yy$\|\.[ch]pp$'
list="find . -type f"
bzr root >/dev/null 2>/dev/null && list="bzr ls --kind=file --versioned"
| Thread |
|---|
| • bzr push into mysql-6.0-ndb branch (tomas.ulin:2667 to 2668) | Tomas Ulin | 3 Sep |