88 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			88 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Bug #10901 Analyze Table on new table destroys table
							 | 
						||
| 
								 | 
							
								# This is minimal test case to get error
							 | 
						||
| 
								 | 
							
								# The problem was that analyze table wrote the shared state to the
							 | 
						||
| 
								 | 
							
								# file and this didn't include the inserts while locked. A check was
							 | 
						||
| 
								 | 
							
								# needed to ensure that state information was not updated when
							 | 
						||
| 
								 | 
							
								# executing analyze table for a locked table.  The analyze table had
							 | 
						||
| 
								 | 
							
								# to be within locks and check table had to be after unlocking since
							 | 
						||
| 
								 | 
							
								# then it brings the wrong state from disk rather than from the
							 | 
						||
| 
								 | 
							
								# currently correct internal state. The insert is needed since it
							 | 
						||
| 
								 | 
							
								# changes the file state, number of records.  The fix is to
							 | 
						||
| 
								 | 
							
								# synchronise the state of the shared state and the current state
							 | 
						||
| 
								 | 
							
								# before calling mi_state_info_write
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								create table t1 (a bigint);
							 | 
						||
| 
								 | 
							
								lock tables t1 write;
							 | 
						||
| 
								 | 
							
								insert into t1 values(0);
							 | 
						||
| 
								 | 
							
								analyze table t1;
							 | 
						||
| 
								 | 
							
								unlock tables;
							 | 
						||
| 
								 | 
							
								check table t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								drop table t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								create table t1 (a bigint);
							 | 
						||
| 
								 | 
							
								insert into t1 values(0);
							 | 
						||
| 
								 | 
							
								lock tables t1 write;
							 | 
						||
| 
								 | 
							
								delete from t1;
							 | 
						||
| 
								 | 
							
								analyze table t1;
							 | 
						||
| 
								 | 
							
								unlock tables;
							 | 
						||
| 
								 | 
							
								check table t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								drop table t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								create table t1 (a bigint);
							 | 
						||
| 
								 | 
							
								insert into t1 values(0);
							 | 
						||
| 
								 | 
							
								analyze table t1;
							 | 
						||
| 
								 | 
							
								check table t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								drop table t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Bug #14902 ANALYZE TABLE fails to recognize up-to-date tables
							 | 
						||
| 
								 | 
							
								# minimal test case to get an error.
							 | 
						||
| 
								 | 
							
								# The problem is happening when analysing table with FT index that
							 | 
						||
| 
								 | 
							
								# contains stopwords only. The first execution of analyze table should
							 | 
						||
| 
								 | 
							
								# mark index statistics as up to date so that next execution of this
							 | 
						||
| 
								 | 
							
								# statement will end up with Table is up to date status.
							 | 
						||
| 
								 | 
							
								create table t1 (a mediumtext, fulltext key key1(a)) charset utf8 collate utf8_general_ci engine myisam;
							 | 
						||
| 
								 | 
							
								insert into t1 values ('hello');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								analyze table t1;
							 | 
						||
| 
								 | 
							
								analyze table t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								drop table t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# procedure in PS BUG#13673
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								CREATE TABLE t1 (a int);
							 | 
						||
| 
								 | 
							
								prepare stmt1 from "SELECT * FROM t1 PROCEDURE ANALYSE()";
							 | 
						||
| 
								 | 
							
								execute stmt1;
							 | 
						||
| 
								 | 
							
								execute stmt1;
							 | 
						||
| 
								 | 
							
								deallocate prepare stmt1;
							 | 
						||
| 
								 | 
							
								drop table t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# bug#15225 (ANALYZE temporary has no effect)
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								create temporary table t1(a int, index(a));
							 | 
						||
| 
								 | 
							
								insert into t1 values('1'),('2'),('3'),('4'),('5');
							 | 
						||
| 
								 | 
							
								analyze table t1;
							 | 
						||
| 
								 | 
							
								show index from t1;
							 | 
						||
| 
								 | 
							
								drop table t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								--echo End of 4.1 tests
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Bug #30495: optimize table t1,t2,t3 extended errors
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								create table t1(a int);
							 | 
						||
| 
								 | 
							
								--error 1064
							 | 
						||
| 
								 | 
							
								analyze table t1 extended;
							 | 
						||
| 
								 | 
							
								--error 1064
							 | 
						||
| 
								 | 
							
								optimize table t1 extended;
							 | 
						||
| 
								 | 
							
								drop table t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								--echo End of 5.0 tests
							 |