mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 10:56:12 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			87 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| #
 | |
| # Tests for window functions and ORDER BY 
 | |
| #
 | |
| 
 | |
| --disable_warnings
 | |
| drop table if exists t0,t1;
 | |
| --enable_warnings
 | |
| 
 | |
| create table t0(a int primary key);
 | |
| insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
 | |
| 
 | |
| create table t1(
 | |
|   pk int,
 | |
|   a int,
 | |
|   key(pk)
 | |
| );
 | |
| 
 | |
| insert into t1
 | |
| select 
 | |
|   A.a + B.a* 10 + C.a * 100,
 | |
|   1
 | |
| from t0 A, t0 B, t0 C;
 | |
| 
 | |
| select 
 | |
|   pk,
 | |
|   count(a) over (order by pk rows between 2 preceding and 2 following) as exp
 | |
| from t1
 | |
| where pk between 1 and 30
 | |
| order by pk desc
 | |
| limit 4;
 | |
| 
 | |
| drop table t0,t1;
 | |
| 
 | |
| 
 | |
| --echo #
 | |
| --echo # MDEV-30052: Crash with a query containing nested WINDOW clauses
 | |
| --echo #
 | |
| 
 | |
| CREATE TABLE t1 (c INT);
 | |
| insert into t1 values (1),(2);
 | |
| UPDATE t1 SET c=1
 | |
| WHERE c=2
 | |
| ORDER BY
 | |
|   (1 IN ((
 | |
|       SELECT *
 | |
|       FROM (SELECT * FROM t1) AS v1
 | |
|       GROUP BY c
 | |
|       WINDOW v2 AS (ORDER BY
 | |
|                       (SELECT *
 | |
|                        FROM t1
 | |
|                        GROUP BY c
 | |
|                        WINDOW v3 AS (PARTITION BY c)
 | |
|                       )
 | |
|                     )
 | |
|     ))
 | |
|   );
 | |
| drop table t1;
 | |
| 
 | |
| --echo #
 | |
| --echo # MDEV-29359: Server crashed with heap-use-after-free in
 | |
| --echo # Field::is_null(long long) const (Just testcase)
 | |
| --echo #
 | |
| 
 | |
| CREATE TABLE t1 (id int);
 | |
| INSERT INTO t1 VALUES (-1),(0),(84);
 | |
| 
 | |
| SELECT
 | |
|   id IN (SELECT id
 | |
|          FROM t1
 | |
|          WINDOW w AS (ORDER BY (SELECT  1
 | |
|                                 FROM t1
 | |
|                                 WHERE
 | |
|                                   EXISTS ( SELECT id
 | |
|                                            FROM t1
 | |
|                                            GROUP BY id
 | |
|                                            WINDOW w2 AS (ORDER BY id)
 | |
|                                           )
 | |
|                                 )
 | |
|                       )
 | |
|          ) as exp
 | |
| FROM t1;
 | |
| 
 | |
| DROP TABLE t1;
 | |
| 
 | |
| --echo #
 | |
| --echo # End of 10.3 tests
 | |
| --echo #
 | 
