mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
parameter of my_yyoverflow made independed from YYSIZE_T (BUG#4204)
mysql-test/r/union.result: test of correct parser stack overflow handling mysql-test/t/union.test: test of correct parser stack overflow handling sql/sql_parse.cc: parameter of my_yyoverflow made independed from YYSIZE_T sql/sql_yacc.yy: parameter of my_yyoverflow made independed from YYSIZE_T
This commit is contained in:
@ -960,3 +960,31 @@ a
|
||||
a
|
||||
150
|
||||
drop table t1;
|
||||
CREATE TABLE t1 ( ID1 int(10) unsigned NOT NULL DEFAULT '0' , ID2 datetime NOT NULL DEFAULT '0000-00-00 00:00:00' , DATA1 varchar(10) , DATA2 double(5,4) , DATA3 datetime , PRIMARY KEY (ID1,ID2));
|
||||
CREATE TABLE t2 ( ID int(3) unsigned NOT NULL DEFAULT '0' , DATA1 timestamp DEFAULT '0000-00-00 00:00:00' , PRIMARY KEY (ID));
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1);
|
||||
ID1 ID2 DATA1 DATA2 DATA3 ID DATA1
|
||||
drop table t1,t2;
|
||||
|
@ -535,3 +535,35 @@ CREATE TABLE t1 (uid int(1));
|
||||
INSERT INTO t1 SELECT 150;
|
||||
SELECT 'a' UNION SELECT uid FROM t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# parser stack overflow
|
||||
#
|
||||
CREATE TABLE t1 ( ID1 int(10) unsigned NOT NULL DEFAULT '0' , ID2 datetime NOT NULL DEFAULT '0000-00-00 00:00:00' , DATA1 varchar(10) , DATA2 double(5,4) , DATA3 datetime , PRIMARY KEY (ID1,ID2));
|
||||
|
||||
CREATE TABLE t2 ( ID int(3) unsigned NOT NULL DEFAULT '0' , DATA1 timestamp DEFAULT '0000-00-00 00:00:00' , PRIMARY KEY (ID));
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1) UNION
|
||||
(SELECT * FROM t1 AS PARTITIONED, t2 AS
|
||||
PARTITIONED_B WHERE PARTITIONED_B.ID=PARTITIONED.ID1);
|
||||
drop table t1,t2;
|
||||
|
Reference in New Issue
Block a user