mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-30 04:26:45 +03:00 
			
		
		
		
	query
      
The fix for bug 46749 removed the check for OUTER_REF_TABLE_BIT 
and substituted it for a check on the presence of 
Item_ident::depended_from.
Removing it altogether was wrong : OUTER_REF_TABLE_BIT should 
still be checked in addition to depended_from (because it's not 
set in all cases and doesn't contradict to the check of depended_from).
Fixed by returning the old condition back as a compliment to the 
new one.
		
	
		
			
				
	
	
		
			65 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # General purpose bug fix tests go here : subselect.test too large
 | |
| 
 | |
| 
 | |
| --echo #
 | |
| --echo # Bug #46791: Assertion failed:(table->key_read==0),function unknown
 | |
| --echo #    function,file sql_base.cc
 | |
| --echo #
 | |
| 
 | |
| CREATE TABLE t1 (a INT, b INT, KEY(a));
 | |
| INSERT INTO t1 VALUES (1,1),(2,2);
 | |
| CREATE TABLE t2 LIKE t1;
 | |
| INSERT INTO t2 VALUES (1,1),(2,2);
 | |
| CREATE TABLE t3 LIKE t1;
 | |
| 
 | |
| --echo # should have 1 impossible where and 2 dependent subqueries
 | |
| EXPLAIN
 | |
| SELECT 1 FROM t1
 | |
| WHERE NOT EXISTS (SELECT 1 FROM t2 WHERE 1 = (SELECT MIN(t2.b) FROM t3))
 | |
| ORDER BY count(*);
 | |
| 
 | |
| --echo # should not crash the next statement
 | |
| SELECT 1 FROM t1
 | |
| WHERE NOT EXISTS (SELECT 1 FROM t2 WHERE 1 = (SELECT MIN(t2.b) FROM t3))
 | |
| ORDER BY count(*);
 | |
| 
 | |
| --echo # should not crash: the crash is caused by the previous statement
 | |
| SELECT 1;
 | |
| 
 | |
| DROP TABLE t1,t2,t3;
 | |
| 
 | |
| --echo #
 | |
| --echo # Bug #47106: Crash / segfault on adding EXPLAIN to a non-crashing 
 | |
| --echo # query
 | |
| --echo #
 | |
| 
 | |
| CREATE TABLE t1 (
 | |
|   a INT,
 | |
|   b INT,
 | |
|   PRIMARY KEY (a),
 | |
|   KEY b (b)
 | |
| );
 | |
| INSERT INTO t1 VALUES (1, 1), (2, 1);
 | |
| 
 | |
| CREATE TABLE t2 LIKE t1;
 | |
| INSERT INTO t2 SELECT * FROM t1;
 | |
| 
 | |
| CREATE TABLE t3 LIKE t1;
 | |
| INSERT INTO t3 SELECT * FROM t1;
 | |
| 
 | |
| --echo # Should not crash.
 | |
| --echo # Should have 1 impossible where and 2 dependent subqs.
 | |
| EXPLAIN
 | |
| SELECT
 | |
|   (SELECT 1 FROM t1,t2 WHERE t2.b > t3.b)
 | |
| FROM t3 WHERE 1 = 0 GROUP BY 1;
 | |
| 
 | |
| --echo # should return 0 rows
 | |
| SELECT
 | |
|   (SELECT 1 FROM t1,t2 WHERE t2.b > t3.b)
 | |
| FROM t3 WHERE 1 = 0 GROUP BY 1;
 | |
| 
 | |
| DROP TABLE t1,t2,t3;
 | |
| 
 | |
| --echo End of 5.0 tests.
 |