From 98cd9f93e9d547f7bc46f35c0165b8d22eef972a Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 10 Mar 2004 13:46:11 +0200 Subject: Fixed memory leak in DROP DATABASE when using RAID tables (Bug #2882) BUILD/compile-pentium-debug-max: Added --with-raid configure.in: Removed -DFN_NO_CASE_SENCE for Mac OS X as this is not always true mysql-test/install_test_db.sh: Added --skip-warnings mysql-test/mysql-test-run.sh: Fixes to get --gdb and --ddd to work mysql-test/r/lowercase_table2.result: Test for lower_case_table_names=2 and temporary tables mysql-test/r/lowercase_table3.result: Fixed error message mysql-test/r/multi_update.result: Test of behaviour of multi-table-delete and alias mysql-test/t/lowercase_table2.test: Test for lower_case_table_names=2 and temporary tables mysql-test/t/lowercase_table3.test: Fixed error mysql-test/t/multi_update.test: Test of behaviour of multi-table-delete and alias (Bug #2940) mysys/mf_iocache.c: Renamed _flush_io_cache to my_b_flush_io_cache sql/ha_myisam.cc: Added comment sql/lock.cc: Extra debugging sql/log.cc: New parameter to flush_relay_log_info sql/log_event.cc: New parameter to flush_relay_log_info sql/mf_iocache.cc: Removed not used header files sql/mysqld.cc: More debugging info Less warnings when run with --skip-warnings sql/opt_range.cc: More debug information sql/repl_failsafe.cc: New parameter to flush_relay_log_info sql/slave.cc: First start SQL thread, then start IO thread. This fixed a raze condition in SLAVE START (Bug #2921) Ensure that we have a lock on the IO thread before flushing a relay log file that. The original code could core dump when a relay log rotated. sql/slave.h: New parameter to flush_relay_log_info sql/sql_base.cc: Added warning sql/sql_handler.cc: Indentation fix sql/sql_repl.cc: New parameter to flush_relay_log_info sql/sql_select.cc: Fixed problem with deleting temporary tables when using lower_case_table_names=2. (Bug #2858) sql/sql_table.cc: Fixed comment sql/sql_yacc.yy: Removed compiler warning include/my_sys.h: Fixed usage of unpack_filename mysys/mf_pack.c: Changed unpack_filename() to return length of result string. mysys/test_fn.c: Fixed usage of unpack_filename sql/sql_db.cc: Fixed memory leak with raid tables sql/table.cc: Fixed usage of unpack_filename --- mysql-test/t/multi_update.test | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'mysql-test/t/multi_update.test') diff --git a/mysql-test/t/multi_update.test b/mysql-test/t/multi_update.test index be82870cccd..283637912a1 100644 --- a/mysql-test/t/multi_update.test +++ b/mysql-test/t/multi_update.test @@ -302,3 +302,26 @@ delete t1, t2 from t2,t1 where t1.id1=t2.id2 and 0=1; drop table t1,t2; + +# +# Test alias (this is not correct in 4.0) +# + +CREATE TABLE t1 ( a int ); +CREATE TABLE t2 ( a int ); +DELETE t1 FROM t1, t2 AS t3; +--error 1066 +DELETE t4 FROM t1, t1 AS t4; +--error 1066 +DELETE t3 FROM t1 AS t3, t1 AS t4; +#--error 1066 +DELETE t1 FROM t1 AS t3, t2 AS t4; +INSERT INTO t1 values (1),(2); +INSERT INTO t2 values (1),(2); +DELETE t1 FROM t1 AS t2, t2 AS t1 where t1.a=t2.a and t1.a=1; +SELECT * from t1; +SELECT * from t2; +DELETE t2 FROM t1 AS t2, t2 AS t1 where t1.a=t2.a and t1.a=2; +SELECT * from t1; +SELECT * from t2; +DROP TABLE t1,t2; -- cgit v1.2.1 From e657a607be0634f808f844ba4724525b1631356f Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 11 Mar 2004 22:26:03 +0200 Subject: multi_update.result: Test case for a #2996 bug fix multi_update.test: test case for a #2996 bug fix sql_select.cc: Fix for a bug #2996 involving multi-table updates over the const tables sql/sql_select.cc: Fix for a bug #2996 involving multi-table updates over the const tables mysql-test/t/multi_update.test: test case for a #2996 bug fix mysql-test/r/multi_update.result: Test case for a #2996 bug fix --- mysql-test/t/multi_update.test | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'mysql-test/t/multi_update.test') diff --git a/mysql-test/t/multi_update.test b/mysql-test/t/multi_update.test index 283637912a1..6ed340ad92b 100644 --- a/mysql-test/t/multi_update.test +++ b/mysql-test/t/multi_update.test @@ -325,3 +325,17 @@ DELETE t2 FROM t1 AS t2, t2 AS t1 where t1.a=t2.a and t1.a=2; SELECT * from t1; SELECT * from t2; DROP TABLE t1,t2; + +# +# Test update with const tables +# + +create table `t1` ( `p_id` int(10) unsigned NOT NULL auto_increment, `p_code` varchar(20) NOT NULL default '', `p_created` datetime NOT NULL default '0000-00-00 00:00:00', `p_active` tinyint(1) unsigned NOT NULL default '1', PRIMARY KEY (`p_id`) ); +create table `t2` ( `c2_id` int(10) unsigned NULL auto_increment, `c2_p_id` int(10) unsigned NOT NULL default '0', `c2_note` text NOT NULL, `c2_created` datetime NOT NULL default '0000-00-00 00:00:00', `c2_active` tinyint(1) unsigned NOT NULL default '1', PRIMARY KEY (`c2_id`), KEY `c2_p_id` (`c2_p_id`) ); +insert into t1 values (0,'A01-Comp',now(),1); +insert into t1 values (0,'B01-Comp',now(),1); +insert into t2 values (0,1,'A Note',now(),1); +update t1 left join t2 on p_id = c2_p_id set c2_note = 'asdf-1' where p_id = 2; +select * from t1; +select * from t2; +drop table t1, t2; -- cgit v1.2.1 From fe544498fbe571bc15cb08108d70cdbe9f32ce8f Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 13 Mar 2004 21:06:36 +0200 Subject: multi_update.result: Fix for a bug in the result multi_update.test: Fix for a bug in the test mysql-test/t/multi_update.test: Fix for a bug in the test mysql-test/r/multi_update.result: Fix for a bug in the result --- mysql-test/t/multi_update.test | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'mysql-test/t/multi_update.test') diff --git a/mysql-test/t/multi_update.test b/mysql-test/t/multi_update.test index 6ed340ad92b..e4651df400f 100644 --- a/mysql-test/t/multi_update.test +++ b/mysql-test/t/multi_update.test @@ -332,9 +332,9 @@ DROP TABLE t1,t2; create table `t1` ( `p_id` int(10) unsigned NOT NULL auto_increment, `p_code` varchar(20) NOT NULL default '', `p_created` datetime NOT NULL default '0000-00-00 00:00:00', `p_active` tinyint(1) unsigned NOT NULL default '1', PRIMARY KEY (`p_id`) ); create table `t2` ( `c2_id` int(10) unsigned NULL auto_increment, `c2_p_id` int(10) unsigned NOT NULL default '0', `c2_note` text NOT NULL, `c2_created` datetime NOT NULL default '0000-00-00 00:00:00', `c2_active` tinyint(1) unsigned NOT NULL default '1', PRIMARY KEY (`c2_id`), KEY `c2_p_id` (`c2_p_id`) ); -insert into t1 values (0,'A01-Comp',now(),1); -insert into t1 values (0,'B01-Comp',now(),1); -insert into t2 values (0,1,'A Note',now(),1); +insert into t1 values (0,'A01-Comp',"2004-01-05 12:12:12",1); +insert into t1 values (0,'B01-Comp',"2004-01-05 12:12:13",1); +insert into t2 values (0,1,'A Note',"2004-01-05 12:12:14",1); update t1 left join t2 on p_id = c2_p_id set c2_note = 'asdf-1' where p_id = 2; select * from t1; select * from t2; -- cgit v1.2.1 From 5a9910e228bbe380a25aeda7bebea5063c12d648 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 16 Mar 2004 02:59:39 +0200 Subject: Remove not needed patch --- mysql-test/t/multi_update.test | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'mysql-test/t/multi_update.test') diff --git a/mysql-test/t/multi_update.test b/mysql-test/t/multi_update.test index e4651df400f..39ea136bde1 100644 --- a/mysql-test/t/multi_update.test +++ b/mysql-test/t/multi_update.test @@ -330,11 +330,11 @@ DROP TABLE t1,t2; # Test update with const tables # -create table `t1` ( `p_id` int(10) unsigned NOT NULL auto_increment, `p_code` varchar(20) NOT NULL default '', `p_created` datetime NOT NULL default '0000-00-00 00:00:00', `p_active` tinyint(1) unsigned NOT NULL default '1', PRIMARY KEY (`p_id`) ); -create table `t2` ( `c2_id` int(10) unsigned NULL auto_increment, `c2_p_id` int(10) unsigned NOT NULL default '0', `c2_note` text NOT NULL, `c2_created` datetime NOT NULL default '0000-00-00 00:00:00', `c2_active` tinyint(1) unsigned NOT NULL default '1', PRIMARY KEY (`c2_id`), KEY `c2_p_id` (`c2_p_id`) ); -insert into t1 values (0,'A01-Comp',"2004-01-05 12:12:12",1); -insert into t1 values (0,'B01-Comp',"2004-01-05 12:12:13",1); -insert into t2 values (0,1,'A Note',"2004-01-05 12:12:14",1); +create table `t1` (`p_id` int(10) unsigned NOT NULL auto_increment, `p_code` varchar(20) NOT NULL default '', `p_active` tinyint(1) unsigned NOT NULL default '1', PRIMARY KEY (`p_id`) ); +create table `t2` (`c2_id` int(10) unsigned NULL auto_increment, `c2_p_id` int(10) unsigned NOT NULL default '0', `c2_note` text NOT NULL, `c2_active` tinyint(1) unsigned NOT NULL default '1', PRIMARY KEY (`c2_id`), KEY `c2_p_id` (`c2_p_id`) ); +insert into t1 values (0,'A01-Comp',1); +insert into t1 values (0,'B01-Comp',1); +insert into t2 values (0,1,'A Note',1); update t1 left join t2 on p_id = c2_p_id set c2_note = 'asdf-1' where p_id = 2; select * from t1; select * from t2; -- cgit v1.2.1