70 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
		
		
			
		
	
	
			70 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
| 
								 | 
							
								# Created for verifying bug#20577.
							 | 
						||
| 
								 | 
							
								# expects TABLE t1 (... , a DATE, ...)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								--sorted_result
							 | 
						||
| 
								 | 
							
								SELECT * FROM t1 WHERE a < '1001-01-01';
							 | 
						||
| 
								 | 
							
								--sorted_result
							 | 
						||
| 
								 | 
							
								SELECT * FROM t1 WHERE a <= '1001-01-01';
							 | 
						||
| 
								 | 
							
								--sorted_result
							 | 
						||
| 
								 | 
							
								SELECT * FROM t1 WHERE a >= '1001-01-01';
							 | 
						||
| 
								 | 
							
								--sorted_result
							 | 
						||
| 
								 | 
							
								SELECT * FROM t1 WHERE a > '1001-01-01';
							 | 
						||
| 
								 | 
							
								--sorted_result
							 | 
						||
| 
								 | 
							
								SELECT * FROM t1 WHERE a = '1001-01-01';
							 | 
						||
| 
								 | 
							
								--sorted_result
							 | 
						||
| 
								 | 
							
								SELECT * FROM t1 WHERE a < '1001-00-00';
							 | 
						||
| 
								 | 
							
								--sorted_result
							 | 
						||
| 
								 | 
							
								SELECT * FROM t1 WHERE a <= '1001-00-00';
							 | 
						||
| 
								 | 
							
								--sorted_result
							 | 
						||
| 
								 | 
							
								SELECT * FROM t1 WHERE a >= '1001-00-00';
							 | 
						||
| 
								 | 
							
								--sorted_result
							 | 
						||
| 
								 | 
							
								SELECT * FROM t1 WHERE a > '1001-00-00';
							 | 
						||
| 
								 | 
							
								--sorted_result
							 | 
						||
| 
								 | 
							
								SELECT * FROM t1 WHERE a = '1001-00-00';
							 | 
						||
| 
								 | 
							
								--echo # Disabling warnings for the invalid date
							 | 
						||
| 
								 | 
							
								--disable_warnings
							 | 
						||
| 
								 | 
							
								--sorted_result
							 | 
						||
| 
								 | 
							
								SELECT * FROM t1 WHERE a < '1999-02-31';
							 | 
						||
| 
								 | 
							
								--sorted_result
							 | 
						||
| 
								 | 
							
								SELECT * FROM t1 WHERE a <= '1999-02-31';
							 | 
						||
| 
								 | 
							
								--sorted_result
							 | 
						||
| 
								 | 
							
								SELECT * FROM t1 WHERE a >= '1999-02-31';
							 | 
						||
| 
								 | 
							
								--sorted_result
							 | 
						||
| 
								 | 
							
								SELECT * FROM t1 WHERE a > '1999-02-31';
							 | 
						||
| 
								 | 
							
								--sorted_result
							 | 
						||
| 
								 | 
							
								SELECT * FROM t1 WHERE a = '1999-02-31';
							 | 
						||
| 
								 | 
							
								--enable_warnings
							 | 
						||
| 
								 | 
							
								--sorted_result
							 | 
						||
| 
								 | 
							
								SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1002-00-00';
							 | 
						||
| 
								 | 
							
								--sorted_result
							 | 
						||
| 
								 | 
							
								SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1001-01-01';
							 | 
						||
| 
								 | 
							
								--sorted_result
							 | 
						||
| 
								 | 
							
								SELECT * FROM t1 WHERE a BETWEEN '0001-01-02' AND '1002-00-00';
							 | 
						||
| 
								 | 
							
								--sorted_result
							 | 
						||
| 
								 | 
							
								SELECT * FROM t1 WHERE a BETWEEN '0001-01-01' AND '1001-01-01';
							 | 
						||
| 
								 | 
							
								if ($explain_partitions)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < '1001-01-01';
							 | 
						||
| 
								 | 
							
								EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a <= '1001-01-01';
							 | 
						||
| 
								 | 
							
								EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= '1001-01-01';
							 | 
						||
| 
								 | 
							
								EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > '1001-01-01';
							 | 
						||
| 
								 | 
							
								EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = '1001-01-01';
							 | 
						||
| 
								 | 
							
								EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < '1001-00-00';
							 | 
						||
| 
								 | 
							
								EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a <= '1001-00-00';
							 | 
						||
| 
								 | 
							
								EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= '1001-00-00';
							 | 
						||
| 
								 | 
							
								EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > '1001-00-00';
							 | 
						||
| 
								 | 
							
								EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = '1001-00-00';
							 | 
						||
| 
								 | 
							
								--echo # Disabling warnings for the invalid date
							 | 
						||
| 
								 | 
							
								--disable_warnings
							 | 
						||
| 
								 | 
							
								EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a < '1999-02-31';
							 | 
						||
| 
								 | 
							
								EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a <= '1999-02-31';
							 | 
						||
| 
								 | 
							
								EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a >= '1999-02-31';
							 | 
						||
| 
								 | 
							
								EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a > '1999-02-31';
							 | 
						||
| 
								 | 
							
								EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a = '1999-02-31';
							 | 
						||
| 
								 | 
							
								--enable_warnings
							 | 
						||
| 
								 | 
							
								EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1002-00-00';
							 | 
						||
| 
								 | 
							
								EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a BETWEEN '0000-00-00' AND '1001-01-01';
							 | 
						||
| 
								 | 
							
								EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a BETWEEN '0001-01-02' AND '1002-00-00';
							 | 
						||
| 
								 | 
							
								EXPLAIN PARTITIONS SELECT * FROM t1 WHERE a BETWEEN '0001-01-01' AND '1001-01-01';
							 | 
						||
| 
								 | 
							
								}
							 |