List:Commits« Previous MessageNext Message »
From:Tomas Ulin Date:September 2 2008 3:46pm
Subject:bzr push into mysql-6.0-ndb branch (tomas.ulin:2667 to 2668)
View as plain text  
 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 Ulin3 Sep