Commit 66237f45 authored by unknown's avatar unknown

Fix for a problem with :

CREATE / INSERT ... (SELECT ...) UNION (SELECT ...) LIMIT;

parent a2dfa952
...@@ -271,9 +271,9 @@ insert into t1 values(1,'a'),(2,'b'),(3,'c'),(3,'c'); ...@@ -271,9 +271,9 @@ insert into t1 values(1,'a'),(2,'b'),(3,'c'),(3,'c');
CREATE TABLE t2 (a int not null, b char (10) not null); CREATE TABLE t2 (a int not null, b char (10) not null);
insert into t2 values (3,'c'),(4,'d'),(5,'f'),(6,'e'); insert into t2 values (3,'c'),(4,'d'),(5,'f'),(6,'e');
create table t3 select a,b from t1 union select a,b from t2; create table t3 select a,b from t1 union select a,b from t2;
create table t4 (select a,b from t1) union (select a,b from t2); create table t4 (select a,b from t1) union (select a,b from t2) limit 2;
insert into t4 select a,b from t1 union select a,b from t2; insert into t4 select a,b from t1 union select a,b from t2;
insert into t3 (select a,b from t1) union (select a,b from t2); insert into t3 (select a,b from t1) union (select a,b from t2) limit 2;
select * from t3; select * from t3;
a b a b
1 a 1 a
...@@ -284,18 +284,10 @@ a b ...@@ -284,18 +284,10 @@ a b
6 e 6 e
1 a 1 a
2 b 2 b
3 c
4 d
5 f
6 e
select * from t4; select * from t4;
a b a b
1 a 1 a
2 b 2 b
3 c
4 d
5 f
6 e
1 a 1 a
2 b 2 b
3 c 3 c
......
...@@ -164,9 +164,9 @@ insert into t1 values(1,'a'),(2,'b'),(3,'c'),(3,'c'); ...@@ -164,9 +164,9 @@ insert into t1 values(1,'a'),(2,'b'),(3,'c'),(3,'c');
CREATE TABLE t2 (a int not null, b char (10) not null); CREATE TABLE t2 (a int not null, b char (10) not null);
insert into t2 values (3,'c'),(4,'d'),(5,'f'),(6,'e'); insert into t2 values (3,'c'),(4,'d'),(5,'f'),(6,'e');
create table t3 select a,b from t1 union select a,b from t2; create table t3 select a,b from t1 union select a,b from t2;
create table t4 (select a,b from t1) union (select a,b from t2); create table t4 (select a,b from t1) union (select a,b from t2) limit 2;
insert into t4 select a,b from t1 union select a,b from t2; insert into t4 select a,b from t1 union select a,b from t2;
insert into t3 (select a,b from t1) union (select a,b from t2); insert into t3 (select a,b from t1) union (select a,b from t2) limit 2;
select * from t3; select * from t3;
select * from t4; select * from t4;
drop table t1,t2,t3,t4; drop table t1,t2,t3,t4;
...@@ -762,7 +762,7 @@ create: ...@@ -762,7 +762,7 @@ create:
lex->create_info.db_type= (enum db_type) lex->thd->variables.table_type; lex->create_info.db_type= (enum db_type) lex->thd->variables.table_type;
} }
create2 create2
{} {Lex->select= &Lex->select_lex;}
| CREATE opt_unique_or_fulltext INDEX ident ON table_ident | CREATE opt_unique_or_fulltext INDEX ident ON table_ident
{ {
LEX *lex=Lex; LEX *lex=Lex;
...@@ -2585,6 +2585,7 @@ insert: ...@@ -2585,6 +2585,7 @@ insert:
opt_ignore insert2 opt_ignore insert2
{ {
set_lock_for_tables($3); set_lock_for_tables($3);
Lex->select= &Lex->select_lex;
} }
insert_field_spec insert_field_spec
{} {}
...@@ -2600,6 +2601,7 @@ replace: ...@@ -2600,6 +2601,7 @@ replace:
replace_lock_option insert2 replace_lock_option insert2
{ {
set_lock_for_tables($3); set_lock_for_tables($3);
Lex->select= &Lex->select_lex;
} }
insert_field_spec insert_field_spec
{} {}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment