mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
SQL: versioning in embedded JOINs [fixes #160]
This commit is contained in:
@ -413,9 +413,22 @@ a2 a1
|
|||||||
2 1
|
2 1
|
||||||
1 2
|
1 2
|
||||||
2 2
|
2 2
|
||||||
|
create or replace table t1 (a int) with system versioning;
|
||||||
|
insert into t1 values (1);
|
||||||
|
insert into t1 values (2);
|
||||||
|
insert into t1 values (3);
|
||||||
|
select * from t1 left outer join (t1 as t2 left join t1 as t3 using (a)) on t1.a>1;
|
||||||
|
a a
|
||||||
|
2 1
|
||||||
|
3 1
|
||||||
|
2 2
|
||||||
|
3 2
|
||||||
|
2 3
|
||||||
|
3 3
|
||||||
|
1 NULL
|
||||||
drop view v1;
|
drop view v1;
|
||||||
drop table t1, t2;
|
drop table t1, t2;
|
||||||
call innodb_verify_vtq(21);
|
call innodb_verify_vtq(24);
|
||||||
No A B C D
|
No A B C D
|
||||||
1 1 1 1 1
|
1 1 1 1 1
|
||||||
2 1 1 1 1
|
2 1 1 1 1
|
||||||
@ -438,6 +451,9 @@ No A B C D
|
|||||||
19 1 1 1 1
|
19 1 1 1 1
|
||||||
20 1 1 1 1
|
20 1 1 1 1
|
||||||
21 1 1 1 1
|
21 1 1 1 1
|
||||||
|
22 1 1 1 1
|
||||||
|
23 1 1 1 1
|
||||||
|
24 1 1 1 1
|
||||||
drop procedure test_01;
|
drop procedure test_01;
|
||||||
drop procedure test_02;
|
drop procedure test_02;
|
||||||
drop procedure verify_vtq;
|
drop procedure verify_vtq;
|
||||||
|
@ -184,10 +184,16 @@ select * from v1 natural join t2;
|
|||||||
select * from v1 natural left join t2;
|
select * from v1 natural left join t2;
|
||||||
select * from v1 natural right join t2;
|
select * from v1 natural right join t2;
|
||||||
|
|
||||||
|
create or replace table t1 (a int) with system versioning;
|
||||||
|
insert into t1 values (1);
|
||||||
|
insert into t1 values (2);
|
||||||
|
insert into t1 values (3);
|
||||||
|
select * from t1 left outer join (t1 as t2 left join t1 as t3 using (a)) on t1.a>1;
|
||||||
|
|
||||||
drop view v1;
|
drop view v1;
|
||||||
drop table t1, t2;
|
drop table t1, t2;
|
||||||
|
|
||||||
call innodb_verify_vtq(21);
|
call innodb_verify_vtq(24);
|
||||||
|
|
||||||
drop procedure test_01;
|
drop procedure test_01;
|
||||||
drop procedure test_02;
|
drop procedure test_02;
|
||||||
|
@ -834,6 +834,12 @@ int vers_setup_select(THD *thd, TABLE_LIST *tables, COND **where_expr,
|
|||||||
dst_cond= &table->on_expr;
|
dst_cond= &table->on_expr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (TABLE_LIST *t= table->embedding)
|
||||||
|
{
|
||||||
|
if (t->on_expr)
|
||||||
|
dst_cond= &t->on_expr;
|
||||||
|
}
|
||||||
|
|
||||||
const char *fstart= table->table->vers_start_field()->field_name;
|
const char *fstart= table->table->vers_start_field()->field_name;
|
||||||
const char *fend= table->table->vers_end_field()->field_name;
|
const char *fend= table->table->vers_end_field()->field_name;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user