List:Commits« Previous MessageNext Message »
From:Christopher Powers Date:September 10 2008 7:39pm
Subject:bzr push into mysql-6.0-falcon branch (cpowers:2817 to 2820) Bug#39350
View as plain text  
 2820 Christopher Powers	2008-09-10
      Bug #39350 Falcon: Releasing deferred indexes causes crash
        
      Fixed regression to last commit that prevented deferred indexes from being released.
modified:
  storage/falcon/Transaction.cpp

 2819 John H. Embretsen	2008-09-10 [merge]
      Merging http://lists.mysql.com/commits/53704 into updated falcon-team branch.
      "Fix test segment for ALTER ONLINE ADD UNIQUE INDEX in falcon_online_index.test."
modified:
  mysql-test/suite/falcon/r/falcon_online_index.result
  mysql-test/suite/falcon/t/falcon_online_index.test

 2818 Hakan Kuecuekyilmaz	2008-09-10 [merge]
      Merge.
modified:
  storage/falcon/ha_falcon.cpp

 2817 Hakan Kuecuekyilmaz	2008-09-10 [merge]
      Merge.
removed:
  mysql-test/suite/falcon/r/falcon_select_excerpt.result
  mysql-test/suite/falcon/t/falcon_select_excerpt.test
added:
  mysql-test/suite/falcon/r/falcon_index_datatypes.result
  mysql-test/suite/falcon/r/falcon_online_index.result
  mysql-test/suite/falcon/t/falcon_index_datatypes.test
  mysql-test/suite/falcon/t/falcon_online_index.test
modified:
  storage/falcon/Cache.cpp
  storage/falcon/Configuration.cpp
  storage/falcon/DeferredIndex.cpp
  storage/falcon/StorageTable.cpp
  storage/falcon/StorageTableShare.cpp
  storage/falcon/StorageTableShare.h
  storage/falcon/Transaction.cpp
  storage/falcon/Transaction.h
  storage/falcon/ha_falcon.cpp
  storage/falcon/ha_falcon.h

=== renamed file 'mysql-test/suite/falcon_team/r/falcon_bug_22189.result' =>
'mysql-test/suite/falcon/r/falcon_bug_22189.result'
--- a/mysql-test/suite/falcon_team/r/falcon_bug_22189.result	2008-04-28 11:21:52 +0000
+++ b/mysql-test/suite/falcon/r/falcon_bug_22189.result	2008-09-09 08:30:18 +0000
@@ -33,11 +33,12 @@ x1	x2
 1	1
 # Switch to connection conn1
 UPDATE x1 SET x1 = 0, x2 = 5;
+ERROR 23000: Duplicate entry '0' for key 'PRIMARY'
 INSERT INTO x1 VALUES (0,6);
+ERROR 23000: Duplicate entry '0' for key 'PRIMARY'
 # Switch to connection default
 ROLLBACK;
 # Switch to connection conn1
-ERROR 23000: Duplicate entry '0' for key 'PRIMARY'
 INSERT INTO x1 VALUES (0,6);
 ERROR 23000: Duplicate entry '0' for key 'PRIMARY'
 INSERT INTO x1 VALUES (0,6);

=== added file 'mysql-test/suite/falcon/r/falcon_bug_22207-big.result'
--- a/mysql-test/suite/falcon/r/falcon_bug_22207-big.result	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/falcon/r/falcon_bug_22207-big.result	2008-09-09 08:30:18 +0000
@@ -0,0 +1,150 @@
+*** Bug #22207 ***
+SET @@storage_engine = 'Falcon';
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (c1 varchar(50), c2 int, c3 char(1));
+INSERT INTO t1 VALUES (repeat('A', 50), 0, 'A');
+INSERT INTO t1 VALUES (repeat('B', 50), 0, 'B');
+INSERT INTO t1 VALUES (repeat('C', 50), 0, 'C');
+INSERT INTO t1 VALUES (repeat('D', 50), 0, 'D');
+INSERT INTO t1 VALUES (repeat('E', 50), 0, 'E');
+INSERT INTO t1 VALUES (repeat('F', 50), 0, 'F');
+INSERT INTO t1 VALUES (repeat('G', 50), 0, 'G');
+INSERT INTO t1 VALUES (repeat('H', 50), 0, 'H');
+INSERT INTO t1 VALUES (repeat('I', 50), 0, 'I');
+INSERT INTO t1 VALUES (repeat('J', 50), 0, 'J');
+INSERT INTO t1 VALUES (repeat('K', 50), 0, 'K');
+COMMIT;
+SELECT c1 from t1;
+c1
+150000____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+150000____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+150000____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+150000____DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+150000____EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+150000____FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+150000____GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
+150000____HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+150000____IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+150000____JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
+150000____KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+SELECT c1 from t1;
+c1
+300000____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+300000____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+300000____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+300000____DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+300000____EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+300000____FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+300000____GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
+300000____HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+300000____IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+300000____JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
+300000____KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+SELECT c1 from t1;
+c1
+450000____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+450000____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+450000____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+450000____DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+450000____EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+450000____FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+450000____GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
+450000____HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+450000____IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+450000____JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
+450000____KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+SELECT c1 from t1;
+c1
+600000____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+600000____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+600000____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+600000____DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+600000____EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+600000____FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+600000____GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
+600000____HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+600000____IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+600000____JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
+600000____KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+SELECT c1 from t1;
+c1
+750000____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+750000____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+750000____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+750000____DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+750000____EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+750000____FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+750000____GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
+750000____HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+750000____IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+750000____JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
+750000____KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+SELECT c1 from t1;
+c1
+900000____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+900000____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+900000____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+900000____DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+900000____EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+900000____FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+900000____GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
+900000____HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+900000____IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+900000____JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
+900000____KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+SELECT c1 from t1;
+c1
+1050000___AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+1050000___BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+1050000___CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+1050000___DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+1050000___EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+1050000___FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+1050000___GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
+1050000___HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+1050000___IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+1050000___JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
+1050000___KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+SELECT c1 from t1;
+c1
+1200000___AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+1200000___BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+1200000___CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+1200000___DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+1200000___EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+1200000___FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+1200000___GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
+1200000___HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+1200000___IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+1200000___JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
+1200000___KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+SELECT c1 from t1;
+c1
+1350000___AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+1350000___BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+1350000___CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+1350000___DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+1350000___EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+1350000___FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+1350000___GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
+1350000___HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+1350000___IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+1350000___JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
+1350000___KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+SELECT c1 from t1;
+c1
+1500000___AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+1500000___BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+1500000___CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+1500000___DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+1500000___EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
+1500000___FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+1500000___GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
+1500000___HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+1500000___IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
+1500000___JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
+1500000___KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
+SELECT count(*) FROM t1;
+count(*)
+11
+DROP TABLE t1;

=== renamed file 'mysql-test/suite/falcon_team/r/falcon_bug_22207.result' =>
'mysql-test/suite/falcon/r/falcon_bug_22207.result'
--- a/mysql-test/suite/falcon_team/r/falcon_bug_22207.result	2008-04-20 00:05:17 +0000
+++ b/mysql-test/suite/falcon/r/falcon_bug_22207.result	2008-09-09 08:30:18 +0000
@@ -1,4 +1,5 @@
-SET STORAGE_ENGINE = 'Falcon';
+*** Bug #22207 ***
+SET @@storage_engine = 'Falcon';
 DROP TABLE IF EXISTS t1;
 CREATE TABLE t1 (c1 varchar(50), c2 int, c3 char(1));
 INSERT INTO t1 VALUES (repeat('A', 50), 0, 'A');
@@ -7,52 +8,55 @@ INSERT INTO t1 VALUES (repeat('C', 50), 
 COMMIT;
 SELECT c1 from t1;
 c1
+2500______AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+2500______BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+2500______CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+SELECT c1 from t1;
+c1
 5000______AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 5000______BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
 5000______CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 SELECT c1 from t1;
 c1
+7500______AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+7500______BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+7500______CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+SELECT c1 from t1;
+c1
 10000_____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 10000_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
 10000_____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 SELECT c1 from t1;
 c1
+12500_____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+12500_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+12500_____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+SELECT c1 from t1;
+c1
 15000_____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 15000_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
 15000_____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 SELECT c1 from t1;
 c1
+17500_____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+17500_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+17500_____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+SELECT c1 from t1;
+c1
 20000_____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 20000_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
 20000_____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 SELECT c1 from t1;
 c1
+22500_____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+22500_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+22500_____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+SELECT c1 from t1;
+c1
 25000_____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 25000_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
 25000_____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
-SELECT c1 from t1;
-c1
-30000_____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-30000_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
-30000_____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
-SELECT c1 from t1;
-c1
-35000_____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-35000_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
-35000_____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
-SELECT c1 from t1;
-c1
-40000_____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-40000_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
-40000_____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
-SELECT c1 from t1;
-c1
-45000_____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-45000_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
-45000_____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
-SELECT c1 from t1;
-c1
-50000_____AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-50000_____BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
-50000_____CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+SELECT count(*) FROM t1;
+count(*)
+3
 DROP TABLE t1;

=== modified file 'mysql-test/suite/falcon/r/falcon_bug_22972.result'
--- a/mysql-test/suite/falcon/r/falcon_bug_22972.result	2008-07-15 00:06:43 +0000
+++ b/mysql-test/suite/falcon/r/falcon_bug_22972.result	2008-09-09 08:30:18 +0000
@@ -1,10 +1,21 @@
-CREATE TABLE t1(a INT) ENGINE=Falcon;
+*** Bug #22972 ***
+SET @@storage_engine = 'Falcon';
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1(a int);
+# Establish connection conn1 (root)
+# Switch to connection conn1
 START TRANSACTION;
 INSERT INTO t1 VALUES(1);
+# Switch to connection default
 DROP TABLE t1;
 ERROR 42S02: Unknown table 't1'
 SHOW WARNINGS;
 Level	Code	Message
 Warning	178	Can't execute the given command because you have active locked tables or an
active transaction
+# Switch to connection conn1
 COMMIT;
+SELECT count(*) FROM t1;
+count(*)
+1
+# Switch to connection default
 DROP TABLE t1;

=== renamed file 'mysql-test/suite/falcon_team/r/falcon_bug_24024.result' =>
'mysql-test/suite/falcon/r/falcon_bug_24024.result'
--- a/mysql-test/suite/falcon_team/r/falcon_bug_24024.result	2008-04-20 00:05:17 +0000
+++ b/mysql-test/suite/falcon/r/falcon_bug_24024.result	2008-09-09 14:59:40 +0000
@@ -1,23 +1,31 @@
 *** Bug #24024 ***
-SET SESSION STORAGE_ENGINE = Falcon;
+SET @@storage_engine = 'Falcon';
 DROP TABLE IF EXISTS t1;
-CREATE TABLE t1(a INT NOT NULL, b INT, primary key(a));
+CREATE TABLE t1(a int, b int, primary key(a));
 INSERT INTO t1(a) VALUES (1);
 COMMIT;
-SET AUTOCOMMIT = 0;
+# Establish connection conn1 (user=root)
+# Switch to connection default
+SET @@autocommit = 0;
 UPDATE t1 SET b = 5 WHERE a = 1;
-# Establish session con1 (user=root)
+# Switch to connection conn1
 INSERT INTO t1(a) VALUES(7);
 COMMIT;
 SELECT * FROM t1;
 a	b
 1	NULL
 7	NULL
+!!! Error message is total crap!
+!!! Something like "Cannot drop locked table" or similar would be fine,
+!!! But never the misleading    ERROR 42S02: Unknown table 't1'.
 DROP TABLE t1;
-!!! Error message has to be decided.
-!!! Something like "Cannot drop locked table" or similar would be fine.
-!!! But never the misleading    ERROR 42S02: Unknown table 't1'
-COMMIT;
-# Switch to session default and disconnect session con1
+ERROR 42S02: Unknown table 't1'
+SHOW WARNINGS;
+Level	Code	Message
+Warning	178	Can't execute the given command because you have active locked tables or an
active transaction
+SELECT count(*) FROM t1;
+count(*)
+2
+# Switch to connection default
 COMMIT;
 DROP TABLE t1;

=== modified file 'mysql-test/suite/falcon/r/falcon_online_index.result'
--- a/mysql-test/suite/falcon/r/falcon_online_index.result	2008-09-08 11:23:10 +0000
+++ b/mysql-test/suite/falcon/r/falcon_online_index.result	2008-09-10 15:08:56 +0000
@@ -141,10 +141,10 @@ SHOW INDEXES FROM t1;
 Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment	Index_Comment
 ALTER TABLE t1 ADD PRIMARY KEY (a);
 #-------- Test: UNIQUE --------#
-ALTER ONLINE TABLE t2 ADD INDEX ix_unique_c (c);
+ALTER ONLINE TABLE t2 ADD UNIQUE INDEX ix_unique_c (c);
 EXPLAIN SELECT * FROM t2 WHERE c < 25 AND c > 20 ORDER BY c;
 id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
-1	SIMPLE	t2	range	ix_unique_c	ix_unique_c	5	NULL	11	Using where; Using filesort
+1	SIMPLE	t2	range	ix_unique_c	ix_unique_c	5	NULL	1	Using where; Using filesort
 SELECT * FROM t2 WHERE c < 25 AND c > 20 ORDER BY c;
 a	b	c	d
 20	40	21	SomeString 20 for testing
@@ -154,14 +154,17 @@ a	b	c	d
 SHOW INDEXES FROM t2;
 Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment	Index_Comment
 t2	0	PRIMARY	1	a	NULL	16	NULL	NULL		BTREE		
-t2	1	ix_unique_c	1	c	NULL	16	NULL	NULL	YES	BTREE		
+t2	0	ix_unique_c	1	c	NULL	16	NULL	NULL	YES	BTREE		
 DESCRIBE t2;
 Field	Type	Null	Key	Default	Extra
 a	int(11)	NO	PRI	NULL	
 b	int(11)	YES		NULL	
-c	int(11)	YES	MUL	NULL	
+c	int(11)	YES	UNI	NULL	
 d	varchar(65)	YES		NULL	
 DROP ONLINE INDEX ix_unique_c ON t2;
+SHOW INDEXES FROM t2;
+Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment	Index_Comment
+t2	0	PRIMARY	1	a	NULL	16	NULL	NULL		BTREE		
 #-------- Test: DESC --------#
 ALTER ONLINE TABLE t3 ADD INDEX ix_desc_b (b DESC);
 ALTER ONLINE TABLE t3 ADD INDEX ix_asc_b (b ASC);

=== modified file 'mysql-test/suite/falcon/t/disabled.def'
--- a/mysql-test/suite/falcon/t/disabled.def	2008-08-11 13:22:53 +0000
+++ b/mysql-test/suite/falcon/t/disabled.def	2008-09-09 08:30:18 +0000
@@ -10,5 +10,5 @@
 #
 ##############################################################################
 
-falcon_bug_28095_I  : Bug#xxxxx 2008-04-22 hakank Disabled until soft restart is in main
tree
-falcon_bug_28095_II : Bug#xxxxx 2008-03-22 hakank Disabled until soft restart is in main
tree
+falcon_bug_28095_I  : Bug#39205 2008-09-09 hakank Disabled until soft restart is in main
tree
+falcon_bug_28095_II : Bug#39205 2008-09-09 hakank Disabled until soft restart is in main
tree

=== renamed file 'mysql-test/suite/falcon_team/t/falcon_bug_22189.test' =>
'mysql-test/suite/falcon/t/falcon_bug_22189.test'
--- a/mysql-test/suite/falcon_team/t/falcon_bug_22189.test	2008-04-28 11:21:52 +0000
+++ b/mysql-test/suite/falcon/t/falcon_bug_22189.test	2008-09-09 08:30:18 +0000
@@ -68,8 +68,10 @@ SELECT * FROM x1;
 
 --echo # Switch to connection conn1
 connection conn1;
---send UPDATE x1 SET x1 = 0, x2 = 5
---send INSERT INTO x1 VALUES (0,6)
+--error ER_DUP_ENTRY
+UPDATE x1 SET x1 = 0, x2 = 5;
+--error ER_DUP_ENTRY
+INSERT INTO x1 VALUES (0,6);
 
 --echo # Switch to connection default
 connection default;
@@ -78,8 +80,6 @@ ROLLBACK;
 --echo # Switch to connection conn1
 connection conn1;
 --error ER_DUP_ENTRY
---reap
---error ER_DUP_ENTRY
 INSERT INTO x1 VALUES (0,6);
 --error ER_DUP_ENTRY
 INSERT INTO x1 VALUES (0,6);

=== added file 'mysql-test/suite/falcon/t/falcon_bug_22207-big.test'
--- a/mysql-test/suite/falcon/t/falcon_bug_22207-big.test	1970-01-01 00:00:00 +0000
+++ b/mysql-test/suite/falcon/t/falcon_bug_22207-big.test	2008-09-09 08:30:18 +0000
@@ -0,0 +1,78 @@
+--source include/have_falcon.inc
+--source include/big_test.inc
+
+#
+# Bug #22207: falcon_record_cache_memory_leak2.test leads to crash sometimes.
+#
+# Record cache memory leak test inspired by Kevin.
+#
+# Note: Big test variant
+#   For Mantis bug #257, set the inner loop to 10 and the middle loop to 10,000.
+#   We set the middle loop to 15,000 for this --big_test version.
+#
+--echo *** Bug #22207 ***
+
+# ----------------------------------------------------- #
+# --- Initialisation                                --- #
+# ----------------------------------------------------- #
+let $engine = 'Falcon';
+eval SET @@storage_engine = $engine;
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+CREATE TABLE t1 (c1 varchar(50), c2 int, c3 char(1));
+INSERT INTO t1 VALUES (repeat('A', 50), 0, 'A');
+INSERT INTO t1 VALUES (repeat('B', 50), 0, 'B');
+INSERT INTO t1 VALUES (repeat('C', 50), 0, 'C');
+INSERT INTO t1 VALUES (repeat('D', 50), 0, 'D');
+INSERT INTO t1 VALUES (repeat('E', 50), 0, 'E');
+INSERT INTO t1 VALUES (repeat('F', 50), 0, 'F');
+INSERT INTO t1 VALUES (repeat('G', 50), 0, 'G');
+INSERT INTO t1 VALUES (repeat('H', 50), 0, 'H');
+INSERT INTO t1 VALUES (repeat('I', 50), 0, 'I');
+INSERT INTO t1 VALUES (repeat('J', 50), 0, 'J');
+INSERT INTO t1 VALUES (repeat('K', 50), 0, 'K');
+COMMIT;
+
+# ----------------------------------------------------- #
+# --- Test                                          --- #
+# ----------------------------------------------------- #
+# During this series of updates, there should be no increase in memory
+# since each previous record version should be freed once it is replaced.
+
+# Outer loop controls how many SELECTs are done.
+let $i= 10;
+while ($i) 
+{
+    # Middle loop controls how often a COMMIT is done.
+    --disable_query_log
+    let $j= 15000;
+    while ($j) 
+    {
+        # Inner loop controls how many UPDATES are done.
+        BEGIN;
+        let $k= 10;
+        while ($k) 
+        {
+            UPDATE t1 SET c2 = c2 + 1, c1 = concat(rpad(conv(c2,10,10),10,'_'),
repeat(c3, 40));
+            dec $k;
+        }
+        dec $j;
+        COMMIT;
+    }
+    --enable_query_log
+    SELECT c1 from t1;
+    dec $i;
+}
+
+# ----------------------------------------------------- #
+# --- Check                                         --- #
+# ----------------------------------------------------- #
+SELECT count(*) FROM t1;
+
+# ----------------------------------------------------- #
+# --- Final cleanup                                 --- #
+# ----------------------------------------------------- #
+DROP TABLE t1;

=== renamed file 'mysql-test/suite/falcon_team/t/falcon_bug_22207.test' =>
'mysql-test/suite/falcon/t/falcon_bug_22207.test'
--- a/mysql-test/suite/falcon_team/t/falcon_bug_22207.test	2008-04-20 00:05:17 +0000
+++ b/mysql-test/suite/falcon/t/falcon_bug_22207.test	2008-09-09 08:30:18 +0000
@@ -1,12 +1,22 @@
 --source include/have_falcon.inc
+
+#
+# Bug #22207: falcon_record_cache_memory_leak2.test leads to crash sometimes.
 #
 # Record cache memory leak test inspired by Kevin.
 #
 # Note: Do not run in ramdisk!
 #   For Mantis bug #257, set the inner loop to 10 and the middle loop to 10,000.
-#   We set the middle loop to 500 to cope with run time on various Pushbuild machines.
+#   We set the middle loop to 250 to cope with run time on various Pushbuild machines.
 #
-SET STORAGE_ENGINE = 'Falcon';
+--echo *** Bug #22207 ***
+
+# ----------------------------------------------------- #
+# --- Initialisation                                --- #
+# ----------------------------------------------------- #
+let $engine = 'Falcon';
+eval SET @@storage_engine = $engine;
+
 --disable_warnings
 DROP TABLE IF EXISTS t1;
 --enable_warnings
@@ -23,6 +33,9 @@ INSERT INTO t1 VALUES (repeat('C', 50), 
 #INSERT INTO t1 VALUES (repeat('I', 50), 0, 'I');
 COMMIT;
 
+# ----------------------------------------------------- #
+# --- Test                                          --- #
+# ----------------------------------------------------- #
 # During this series of updates, there should be no increase in memory
 # since each previous record version should be freed once it is replaced.
 
@@ -30,9 +43,9 @@ COMMIT;
 let $i= 10;
 while ($i) 
 {
-    # Next loop controls how often a COMMIT is done
+    # Middle loop controls how often a COMMIT is done.
     --disable_query_log
-    let $j= 500;
+    let $j= 250;
     while ($j) 
     {
         # Inner loop controls how many UPDATES are done.
@@ -51,6 +64,12 @@ while ($i) 
     dec $i;
 }
 
+# ----------------------------------------------------- #
+# --- Check                                         --- #
+# ----------------------------------------------------- #
+SELECT count(*) FROM t1;
 
-# Final cleanup.
+# ----------------------------------------------------- #
+# --- Final cleanup                                 --- #
+# ----------------------------------------------------- #
 DROP TABLE t1;

=== modified file 'mysql-test/suite/falcon/t/falcon_bug_22972.test'
--- a/mysql-test/suite/falcon/t/falcon_bug_22972.test	2007-11-28 14:07:24 +0000
+++ b/mysql-test/suite/falcon/t/falcon_bug_22972.test	2008-09-09 08:30:18 +0000
@@ -1,15 +1,51 @@
 --source include/have_falcon.inc
-CREATE TABLE t1(a INT) ENGINE=Falcon;
-connect (con1,localhost,root,,);
-connection con1;
+
+#
+# Bug #22972: Falcon: Partitioned table with pending transaction leads to strange error
+#
+--echo *** Bug #22972 ***
+
+# ----------------------------------------------------- #
+# --- Initialisation                                --- #
+# ----------------------------------------------------- #
+let $engine = 'Falcon';
+eval SET @@storage_engine = $engine;
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+CREATE TABLE t1(a int);
+
+--echo # Establish connection conn1 (root)
+connect (conn1,localhost,root,,);
+
+# ----------------------------------------------------- #
+# --- Test                                          --- #
+# ----------------------------------------------------- #
+--echo # Switch to connection conn1
 START TRANSACTION;
 INSERT INTO t1 VALUES(1);
+
+--echo # Switch to connection default
 connection default;
---error 1051
+--error ER_BAD_TABLE_ERROR
 DROP TABLE t1;
 SHOW WARNINGS;
-connection con1;
+
+--echo # Switch to connection conn1
+connection conn1;
 COMMIT;
+
+# ----------------------------------------------------- #
+# --- Check                                         --- #
+# ----------------------------------------------------- #
+SELECT count(*) FROM t1;
+
+# ----------------------------------------------------- #
+# --- Final cleanup                                 --- #
+# ----------------------------------------------------- #
+--echo # Switch to connection default
 connection default;
-disconnect con1;
+disconnect conn1;
 DROP TABLE t1;

=== renamed file 'mysql-test/suite/falcon_team/t/falcon_bug_24024.test' =>
'mysql-test/suite/falcon/t/falcon_bug_24024.test'
--- a/mysql-test/suite/falcon_team/t/falcon_bug_24024.test	2008-04-20 00:05:17 +0000
+++ b/mysql-test/suite/falcon/t/falcon_bug_24024.test	2008-09-09 14:59:40 +0000
@@ -1,36 +1,61 @@
+--source include/have_falcon.inc
+
 #
-# Bug#24024 wrong error message when drop table (used by pending transaction) fails
+# Bug #24024: wrong error message when drop table (used by pending transaction) fails
 #
 # This test is a derivate of a subtestcase in mix2.inc.
 # Therefore please delete this test when mix2_falcon is pushed.
 #
-
 --echo *** Bug #24024 ***
 
-
---source include/have_falcon.inc
-SET SESSION STORAGE_ENGINE = Falcon;
+# ----------------------------------------------------- #
+# --- Initialisation                                --- #
+# ----------------------------------------------------- #
+let $engine = 'Falcon';
+eval SET @@storage_engine = $engine;
 
 --disable_warnings
 DROP TABLE IF EXISTS t1;
 --enable_warnings
-CREATE TABLE t1(a INT NOT NULL, b INT, primary key(a));
+
+CREATE TABLE t1(a int, b int, primary key(a));
 INSERT INTO t1(a) VALUES (1);
 COMMIT;
-SET AUTOCOMMIT = 0;
+
+--echo # Establish connection conn1 (user=root)
+connect (conn1,localhost,root,,);
+
+# ----------------------------------------------------- #
+# --- Test                                          --- #
+# ----------------------------------------------------- #
+--echo # Switch to connection default
+connection default;
+SET @@autocommit = 0;
 UPDATE t1 SET b = 5 WHERE a = 1;
---echo # Establish session con1 (user=root)
-connect (con1,localhost,root);
+
+--echo # Switch to connection conn1
+connection conn1;
 INSERT INTO t1(a) VALUES(7);
 COMMIT;
 SELECT * FROM t1;
 
---disable_abort_on_error
+--echo !!! Error message is total crap!
+--echo !!! Something like "Cannot drop locked table" or similar would be fine,
+--echo !!! But never the misleading    ERROR 42S02: Unknown table 't1'.
+--error ER_BAD_TABLE_ERROR
 DROP TABLE t1;
-COMMIT;
+SHOW WARNINGS;
 
---echo # Switch to session default and disconnect session con1
+# ----------------------------------------------------- #
+# --- Check                                         --- #
+# ----------------------------------------------------- #
+SELECT count(*) FROM t1;
+
+# ----------------------------------------------------- #
+# --- Final cleanup                                 --- #
+# ----------------------------------------------------- #
+--echo # Switch to connection default
 connection default;
-disconnect con1;
+disconnect conn1;
 COMMIT;
 DROP TABLE t1;

=== modified file 'mysql-test/suite/falcon/t/falcon_online_index.test'
--- a/mysql-test/suite/falcon/t/falcon_online_index.test	2008-09-08 11:23:10 +0000
+++ b/mysql-test/suite/falcon/t/falcon_online_index.test	2008-09-10 15:08:56 +0000
@@ -214,12 +214,13 @@ ALTER TABLE t1 ADD PRIMARY KEY (a);
 --echo #-------- Test: UNIQUE --------#
 
 ## Test adding UNIQUE index
-ALTER ONLINE TABLE t2 ADD INDEX ix_unique_c (c);
+ALTER ONLINE TABLE t2 ADD UNIQUE INDEX ix_unique_c (c);
 EXPLAIN SELECT * FROM t2 WHERE c < 25 AND c > 20 ORDER BY c;
 SELECT * FROM t2 WHERE c < 25 AND c > 20 ORDER BY c;
 SHOW INDEXES FROM t2;
 DESCRIBE t2;
 DROP ONLINE INDEX ix_unique_c ON t2;
+SHOW INDEXES FROM t2;
 
 --echo #-------- Test: DESC --------#
 

=== modified file 'mysql-test/suite/falcon_team/r/falcon_bug_23945.result'
--- a/mysql-test/suite/falcon_team/r/falcon_bug_23945.result	2008-04-20 00:05:17 +0000
+++ b/mysql-test/suite/falcon_team/r/falcon_bug_23945.result	2008-09-09 08:30:18 +0000
@@ -1,14 +1,14 @@
 *** Bug #23945 ***
-SET STORAGE_ENGINE = Falcon;
+SET @@storage_engine = 'Falcon';
 DROP TABLE IF EXISTS t1;
-SET AUTOCOMMIT = 1;
+SET @@autocommit = 1;
 CREATE TABLE t1 (PRIMARY KEY (a)) SELECT 1 AS a UNION ALL SELECT 1;
 ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
 SELECT * FROM t1;
 ERROR 42S02: Table 'test.t1' doesn't exist
 DROP TABLE t1;
 ERROR 42S02: Unknown table 't1'
-SET AUTOCOMMIT = 0;
+SET @@autocommit = 0;
 CREATE TABLE t1 (PRIMARY KEY (a)) SELECT 1 AS a UNION ALL SELECT 1;
 ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
 SELECT * FROM t1;

=== modified file 'mysql-test/suite/falcon_team/t/falcon_bug_23945.test'
--- a/mysql-test/suite/falcon_team/t/falcon_bug_23945.test	2008-04-20 00:05:17 +0000
+++ b/mysql-test/suite/falcon_team/t/falcon_bug_23945.test	2008-09-09 08:30:18 +0000
@@ -1,19 +1,25 @@
+--source include/have_falcon.inc
+
 #
 # Bug #23945: crash during drop table, AUTOCOMMIT=0, CREATE TABLE .. AS SELECT
 #
 --echo *** Bug #23945 ***
 
-
-# --source include/have_innodb.inc
-# SET STORAGE_ENGINE = InnoDB;
---source include/have_falcon.inc
-SET STORAGE_ENGINE = Falcon;
+# ----------------------------------------------------- #
+# --- Initialisation                                --- #
+# ----------------------------------------------------- #
+let $engine = 'Falcon';
+eval SET @@storage_engine = $engine;
 
 --disable_warnings
 DROP TABLE IF EXISTS t1;
 --enable_warnings
 
-SET AUTOCOMMIT = 1;
+SET @@autocommit = 1;
+
+# ----------------------------------------------------- #
+# --- Test                                          --- #
+# ----------------------------------------------------- #
 --error ER_DUP_ENTRY
 CREATE TABLE t1 (PRIMARY KEY (a)) SELECT 1 AS a UNION ALL SELECT 1;
 --error ER_NO_SUCH_TABLE
@@ -21,7 +27,7 @@ SELECT * FROM t1;
 --error ER_BAD_TABLE_ERROR
 DROP TABLE t1;
 
-SET AUTOCOMMIT = 0;
+SET @@autocommit = 0;
 --error ER_DUP_ENTRY
 CREATE TABLE t1 (PRIMARY KEY (a)) SELECT 1 AS a UNION ALL SELECT 1;
 --error ER_NO_SUCH_TABLE
@@ -29,3 +35,15 @@ SELECT * FROM t1;
 # Here comes a server crash.
 --error ER_BAD_TABLE_ERROR
 DROP TABLE t1;
+
+# ----------------------------------------------------- #
+# --- Check                                         --- #
+# ----------------------------------------------------- #
+# Check not applicable in this test.
+#SELECT count(*) FROM t1;
+
+# ----------------------------------------------------- #
+# --- Final cleanup                                 --- #
+# ----------------------------------------------------- #
+# Final cleanup not applicable in this test.
+#DROP TABLE t1;

=== modified file 'storage/falcon/Transaction.cpp'
--- a/storage/falcon/Transaction.cpp	2008-09-10 06:42:49 +0000
+++ b/storage/falcon/Transaction.cpp	2008-09-10 17:32:43 +0000
@@ -1502,6 +1502,7 @@ void Transaction::releaseDeferredIndexes
 		{
 		ASSERT(deferredIndex->transaction == this);
 		deferredIndexes = deferredIndex->nextInTransaction;
+		deferredIndex->detachTransaction();
 		deferredIndexCount--;
 		}
 }

=== modified file 'storage/falcon/ha_falcon.cpp'
--- a/storage/falcon/ha_falcon.cpp	2008-09-09 23:15:17 +0000
+++ b/storage/falcon/ha_falcon.cpp	2008-09-10 13:42:36 +0000
@@ -34,6 +34,7 @@
 #include "CmdGen.h"
 #include "InfoTable.h"
 #include "Format.h"
+#include "Error.h"
 
 #ifdef _WIN32
 #define I64FORMAT			"%I64d"
@@ -156,12 +157,34 @@ void flushFalconLogFile()
 		fflush(falcon_log_file);
 }
 
+bool checkExceptionSupport()
+{
+    // Validate that the code has been compiled with support for exceptions
+    // by throwing and catching an exception. If the executable does not
+    // support exceptions we will reach the return false statement
+	try
+		{
+		throw 1;
+		}
+	catch (int) 
+		{
+		return true;
+		}
+	return false;
+}
+
 int StorageInterface::falcon_init(void *p)
 {
 	DBUG_ENTER("falcon_init");
 	falcon_hton = (handlerton *)p;
 	my_bool error = false;
 
+	if (!checkExceptionSupport()) 
+		{
+		sql_print_error("Falcon must be compiled with C++ exceptions enabled to work");
+		DBUG_RETURN(1);
+		}
+
 	StorageHandler::setDataDirectory(mysql_real_data_home);
 
 	storageHandler = getFalconStorageHandler(sizeof(THR_LOCK));
@@ -2641,13 +2664,7 @@ void StorageInterface::encodeRecord(ucha
 			continue;
 			
 		Field *field = fieldMap[fieldFormat->fieldId];
-
-		if (!field)
-			{
-			dataStream->encodeNull();
-			
-			continue;
-			}
+		ASSERT(field);
 		
 		if (ptrDiff)
 			field->move_field_offset(ptrDiff);

Thread
bzr push into mysql-6.0-falcon branch (cpowers:2817 to 2820) Bug#39350Christopher Powers10 Sep