mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
SQL: incorrect check on specific JOIN query [fixes #145]
This commit is contained in:
@ -406,6 +406,9 @@ create or replace table t1 (x int) with system versioning;
|
|||||||
insert into t1 values (1);
|
insert into t1 values (1);
|
||||||
select * from t1 for system_time all for update;
|
select * from t1 for system_time all for update;
|
||||||
ERROR HY000: Wrong parameters for `FOR SYSTEM_TIME query`: write-locking of historic rows
|
ERROR HY000: Wrong parameters for `FOR SYSTEM_TIME query`: write-locking of historic rows
|
||||||
|
create or replace table t1 (a int not null auto_increment primary key) with system versioning;
|
||||||
|
select * from (t1 as t2 left join t1 as t3 using (a)) natural left join t1;
|
||||||
|
a
|
||||||
drop table t1;
|
drop table t1;
|
||||||
call verify_vtq;
|
call verify_vtq;
|
||||||
No A B C D
|
No A B C D
|
||||||
|
@ -131,6 +131,9 @@ insert into t1 values (1);
|
|||||||
--error ER_VERS_WRONG_PARAMS
|
--error ER_VERS_WRONG_PARAMS
|
||||||
select * from t1 for system_time all for update;
|
select * from t1 for system_time all for update;
|
||||||
|
|
||||||
|
create or replace table t1 (a int not null auto_increment primary key) with system versioning;
|
||||||
|
select * from (t1 as t2 left join t1 as t3 using (a)) natural left join t1;
|
||||||
|
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
call verify_vtq;
|
call verify_vtq;
|
||||||
|
@ -6420,8 +6420,9 @@ mark_common_columns(THD *thd, TABLE_LIST *table_ref_1, TABLE_LIST *table_ref_2,
|
|||||||
if (!my_strcasecmp(system_charset_info, field_name_1, cur_field_name_2))
|
if (!my_strcasecmp(system_charset_info, field_name_1, cur_field_name_2))
|
||||||
{
|
{
|
||||||
DBUG_PRINT ("info", ("match c1.is_common=%d", nj_col_1->is_common));
|
DBUG_PRINT ("info", ("match c1.is_common=%d", nj_col_1->is_common));
|
||||||
if (cur_nj_col_2->is_common ||
|
if ((!it_1.field() || !it_1.field()->vers_sys_field()) &&
|
||||||
(found && (!using_fields || is_using_column_1)))
|
(cur_nj_col_2->is_common ||
|
||||||
|
(found && (!using_fields || is_using_column_1))))
|
||||||
{
|
{
|
||||||
my_error(ER_NON_UNIQ_ERROR, MYF(0), field_name_1, thd->where);
|
my_error(ER_NON_UNIQ_ERROR, MYF(0), field_name_1, thd->where);
|
||||||
goto err;
|
goto err;
|
||||||
|
Reference in New Issue
Block a user