mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Fix for a problem with :
CREATE / INSERT ... (SELECT ...) UNION (SELECT ...) LIMIT;
This commit is contained in:
@ -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
|
|||||||
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');
|
|||||||
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:
|
|||||||
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:
|
|||||||
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:
|
|||||||
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
|
||||||
{}
|
{}
|
||||||
|
Reference in New Issue
Block a user