mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Parser: moved 'for system_time' before alias
Due to standard (see 7.6 <table reference>).
This commit is contained in:
@ -33,11 +33,11 @@ ancestors
|
|||||||
as
|
as
|
||||||
(
|
(
|
||||||
select e.emp_id, e.name, e.mgr, e.salary
|
select e.emp_id, e.name, e.mgr, e.salary
|
||||||
from emp as e for system_time as of timestamp @ts_1
|
from emp for system_time as of timestamp @ts_1 as e
|
||||||
where name = 'bill'
|
where name = 'bill'
|
||||||
union
|
union
|
||||||
select e.emp_id, e.name, e.mgr, e.salary
|
select e.emp_id, e.name, e.mgr, e.salary
|
||||||
from emp as e for system_time as of timestamp @ts_1,
|
from emp for system_time as of timestamp @ts_1 as e,
|
||||||
ancestors as a
|
ancestors as a
|
||||||
where e.mgr = a.emp_id
|
where e.mgr = a.emp_id
|
||||||
)
|
)
|
||||||
@ -51,11 +51,11 @@ ancestors
|
|||||||
as
|
as
|
||||||
(
|
(
|
||||||
select e.emp_id, e.name, e.mgr, e.salary
|
select e.emp_id, e.name, e.mgr, e.salary
|
||||||
from emp as e for system_time as of timestamp @ts_2
|
from emp for system_time as of timestamp @ts_2 as e
|
||||||
where name = 'bill'
|
where name = 'bill'
|
||||||
union
|
union
|
||||||
select e.emp_id, e.name, e.mgr, e.salary
|
select e.emp_id, e.name, e.mgr, e.salary
|
||||||
from emp as e for system_time as of timestamp @ts_2,
|
from emp for system_time as of timestamp @ts_2 as e,
|
||||||
ancestors as a
|
ancestors as a
|
||||||
where e.mgr = a.emp_id
|
where e.mgr = a.emp_id
|
||||||
)
|
)
|
||||||
|
@ -91,12 +91,14 @@ ancestors
|
|||||||
as
|
as
|
||||||
(
|
(
|
||||||
select e.emp_id, e.name, e.mgr
|
select e.emp_id, e.name, e.mgr
|
||||||
from emp as e for system_time as of timestamp @ts
|
from emp as e
|
||||||
where name = 'bill'
|
where name = 'bill'
|
||||||
union
|
system_time as of timestamp @ts
|
||||||
|
union
|
||||||
select ee.emp_id, ee.name, ee.mgr
|
select ee.emp_id, ee.name, ee.mgr
|
||||||
from emp as ee for system_time as of timestamp @ts, ancestors as a for system_time as of timestamp @ts
|
from emp as ee, ancestors as a
|
||||||
where ee.mgr = a.emp_id
|
where ee.mgr = a.emp_id
|
||||||
|
system_time as of timestamp @ts
|
||||||
)
|
)
|
||||||
select * from ancestors;
|
select * from ancestors;
|
||||||
emp_id name mgr
|
emp_id name mgr
|
||||||
@ -109,12 +111,14 @@ ancestors
|
|||||||
as
|
as
|
||||||
(
|
(
|
||||||
select e.emp_id, e.name, e.mgr
|
select e.emp_id, e.name, e.mgr
|
||||||
from emp as e for system_time as of timestamp @ts
|
from emp as e
|
||||||
where name = 'bill'
|
where name = 'bill'
|
||||||
|
system_time as of timestamp @ts
|
||||||
union
|
union
|
||||||
select ee.emp_id, ee.name, ee.mgr
|
select ee.emp_id, ee.name, ee.mgr
|
||||||
from emp as ee for system_time as of timestamp @ts, ancestors as a for system_time as of timestamp @ts
|
from emp as ee, ancestors as a
|
||||||
where ee.mgr = a.emp_id
|
where ee.mgr = a.emp_id
|
||||||
|
system_time as of timestamp @ts
|
||||||
)
|
)
|
||||||
select * from ancestors";
|
select * from ancestors";
|
||||||
prepare stmt from @tmp;
|
prepare stmt from @tmp;
|
||||||
|
@ -8,8 +8,8 @@ declare continue handler for not found set cur_done = true;
|
|||||||
set @tmp= concat('
|
set @tmp= concat('
|
||||||
create or replace temporary table
|
create or replace temporary table
|
||||||
cur_tmp as
|
cur_tmp as
|
||||||
select vtmd.archive_name from ', vtmd_name, ' as vtmd
|
select vtmd.archive_name from ', vtmd_name, '
|
||||||
for system_time all
|
for system_time all as vtmd
|
||||||
where vtmd.archive_name is not null
|
where vtmd.archive_name is not null
|
||||||
group by vtmd.archive_name');
|
group by vtmd.archive_name');
|
||||||
prepare stmt from @tmp; execute stmt; drop prepare stmt;
|
prepare stmt from @tmp; execute stmt; drop prepare stmt;
|
||||||
@ -29,8 +29,8 @@ begin
|
|||||||
set @tmp= concat('
|
set @tmp= concat('
|
||||||
create or replace temporary table
|
create or replace temporary table
|
||||||
tmp_vtmd with system versioning as
|
tmp_vtmd with system versioning as
|
||||||
select * from ', vtmd_name, ' as vtmd
|
select * from ', vtmd_name, '
|
||||||
for system_time all');
|
for system_time all as vtmd');
|
||||||
prepare stmt from @tmp; execute stmt; drop prepare stmt;
|
prepare stmt from @tmp; execute stmt; drop prepare stmt;
|
||||||
set @inf= 0xFFFFFFFFFFFFFFFF + 0;
|
set @inf= 0xFFFFFFFFFFFFFFFF + 0;
|
||||||
set @start= null;
|
set @start= null;
|
||||||
|
@ -8,8 +8,8 @@ declare continue handler for not found set cur_done = true;
|
|||||||
set @tmp= concat('
|
set @tmp= concat('
|
||||||
create or replace temporary table
|
create or replace temporary table
|
||||||
cur_tmp as
|
cur_tmp as
|
||||||
select vtmd.archive_name from ', vtmd_name, ' as vtmd
|
select vtmd.archive_name from ', vtmd_name, '
|
||||||
for system_time all
|
for system_time all as vtmd
|
||||||
where vtmd.archive_name is not null
|
where vtmd.archive_name is not null
|
||||||
group by vtmd.archive_name');
|
group by vtmd.archive_name');
|
||||||
prepare stmt from @tmp; execute stmt; drop prepare stmt;
|
prepare stmt from @tmp; execute stmt; drop prepare stmt;
|
||||||
|
@ -39,11 +39,11 @@ ancestors
|
|||||||
as
|
as
|
||||||
(
|
(
|
||||||
select e.emp_id, e.name, e.mgr, e.salary
|
select e.emp_id, e.name, e.mgr, e.salary
|
||||||
from emp as e for system_time as of timestamp @ts_1
|
from emp for system_time as of timestamp @ts_1 as e
|
||||||
where name = 'bill'
|
where name = 'bill'
|
||||||
union
|
union
|
||||||
select e.emp_id, e.name, e.mgr, e.salary
|
select e.emp_id, e.name, e.mgr, e.salary
|
||||||
from emp as e for system_time as of timestamp @ts_1,
|
from emp for system_time as of timestamp @ts_1 as e,
|
||||||
ancestors as a
|
ancestors as a
|
||||||
where e.mgr = a.emp_id
|
where e.mgr = a.emp_id
|
||||||
)
|
)
|
||||||
@ -55,11 +55,11 @@ ancestors
|
|||||||
as
|
as
|
||||||
(
|
(
|
||||||
select e.emp_id, e.name, e.mgr, e.salary
|
select e.emp_id, e.name, e.mgr, e.salary
|
||||||
from emp as e for system_time as of timestamp @ts_2
|
from emp for system_time as of timestamp @ts_2 as e
|
||||||
where name = 'bill'
|
where name = 'bill'
|
||||||
union
|
union
|
||||||
select e.emp_id, e.name, e.mgr, e.salary
|
select e.emp_id, e.name, e.mgr, e.salary
|
||||||
from emp as e for system_time as of timestamp @ts_2,
|
from emp for system_time as of timestamp @ts_2 as e,
|
||||||
ancestors as a
|
ancestors as a
|
||||||
where e.mgr = a.emp_id
|
where e.mgr = a.emp_id
|
||||||
)
|
)
|
||||||
|
@ -62,12 +62,14 @@ ancestors
|
|||||||
as
|
as
|
||||||
(
|
(
|
||||||
select e.emp_id, e.name, e.mgr
|
select e.emp_id, e.name, e.mgr
|
||||||
from emp as e for system_time as of timestamp @ts
|
from emp as e
|
||||||
where name = 'bill'
|
where name = 'bill'
|
||||||
|
system_time as of timestamp @ts
|
||||||
union
|
union
|
||||||
select ee.emp_id, ee.name, ee.mgr
|
select ee.emp_id, ee.name, ee.mgr
|
||||||
from emp as ee for system_time as of timestamp @ts, ancestors as a for system_time as of timestamp @ts
|
from emp as ee, ancestors as a
|
||||||
where ee.mgr = a.emp_id
|
where ee.mgr = a.emp_id
|
||||||
|
system_time as of timestamp @ts
|
||||||
)
|
)
|
||||||
select * from ancestors;
|
select * from ancestors;
|
||||||
set @tmp= "
|
set @tmp= "
|
||||||
@ -76,12 +78,14 @@ ancestors
|
|||||||
as
|
as
|
||||||
(
|
(
|
||||||
select e.emp_id, e.name, e.mgr
|
select e.emp_id, e.name, e.mgr
|
||||||
from emp as e for system_time as of timestamp @ts
|
from emp as e
|
||||||
where name = 'bill'
|
where name = 'bill'
|
||||||
|
system_time as of timestamp @ts
|
||||||
union
|
union
|
||||||
select ee.emp_id, ee.name, ee.mgr
|
select ee.emp_id, ee.name, ee.mgr
|
||||||
from emp as ee for system_time as of timestamp @ts, ancestors as a for system_time as of timestamp @ts
|
from emp as ee, ancestors as a
|
||||||
where ee.mgr = a.emp_id
|
where ee.mgr = a.emp_id
|
||||||
|
system_time as of timestamp @ts
|
||||||
)
|
)
|
||||||
select * from ancestors";
|
select * from ancestors";
|
||||||
prepare stmt from @tmp; execute stmt; drop prepare stmt;
|
prepare stmt from @tmp; execute stmt; drop prepare stmt;
|
||||||
|
@ -11,8 +11,8 @@ begin
|
|||||||
set @tmp= concat('
|
set @tmp= concat('
|
||||||
create or replace temporary table
|
create or replace temporary table
|
||||||
cur_tmp as
|
cur_tmp as
|
||||||
select vtmd.archive_name from ', vtmd_name, ' as vtmd
|
select vtmd.archive_name from ', vtmd_name, '
|
||||||
for system_time all
|
for system_time all as vtmd
|
||||||
where vtmd.archive_name is not null
|
where vtmd.archive_name is not null
|
||||||
group by vtmd.archive_name');
|
group by vtmd.archive_name');
|
||||||
prepare stmt from @tmp; execute stmt; drop prepare stmt;
|
prepare stmt from @tmp; execute stmt; drop prepare stmt;
|
||||||
@ -37,8 +37,8 @@ begin
|
|||||||
set @tmp= concat('
|
set @tmp= concat('
|
||||||
create or replace temporary table
|
create or replace temporary table
|
||||||
tmp_vtmd with system versioning as
|
tmp_vtmd with system versioning as
|
||||||
select * from ', vtmd_name, ' as vtmd
|
select * from ', vtmd_name, '
|
||||||
for system_time all');
|
for system_time all as vtmd');
|
||||||
prepare stmt from @tmp; execute stmt; drop prepare stmt;
|
prepare stmt from @tmp; execute stmt; drop prepare stmt;
|
||||||
|
|
||||||
set @inf= 0xFFFFFFFFFFFFFFFF + 0;
|
set @inf= 0xFFFFFFFFFFFFFFFF + 0;
|
||||||
|
@ -10,8 +10,8 @@ begin
|
|||||||
set @tmp= concat('
|
set @tmp= concat('
|
||||||
create or replace temporary table
|
create or replace temporary table
|
||||||
cur_tmp as
|
cur_tmp as
|
||||||
select vtmd.archive_name from ', vtmd_name, ' as vtmd
|
select vtmd.archive_name from ', vtmd_name, '
|
||||||
for system_time all
|
for system_time all as vtmd
|
||||||
where vtmd.archive_name is not null
|
where vtmd.archive_name is not null
|
||||||
group by vtmd.archive_name');
|
group by vtmd.archive_name');
|
||||||
prepare stmt from @tmp; execute stmt; drop prepare stmt;
|
prepare stmt from @tmp; execute stmt; drop prepare stmt;
|
||||||
|
@ -11334,9 +11334,9 @@ table_primary_ident:
|
|||||||
SELECT_LEX *sel= Select;
|
SELECT_LEX *sel= Select;
|
||||||
sel->table_join_options= 0;
|
sel->table_join_options= 0;
|
||||||
}
|
}
|
||||||
table_ident opt_use_partition opt_table_alias opt_key_definition opt_for_system_time_clause
|
table_ident opt_use_partition opt_for_system_time_clause opt_table_alias opt_key_definition
|
||||||
{
|
{
|
||||||
if (!($$= Select->add_table_to_list(thd, $2, $4,
|
if (!($$= Select->add_table_to_list(thd, $2, $5,
|
||||||
Select->get_table_join_options(),
|
Select->get_table_join_options(),
|
||||||
YYPS->m_lock_type,
|
YYPS->m_lock_type,
|
||||||
YYPS->m_mdl_type,
|
YYPS->m_mdl_type,
|
||||||
@ -11344,7 +11344,7 @@ table_primary_ident:
|
|||||||
$3)))
|
$3)))
|
||||||
MYSQL_YYABORT;
|
MYSQL_YYABORT;
|
||||||
Select->add_joined_table($$);
|
Select->add_joined_table($$);
|
||||||
if ($6)
|
if ($4)
|
||||||
$$->vers_conditions= Lex->vers_conditions;
|
$$->vers_conditions= Lex->vers_conditions;
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
Reference in New Issue
Block a user