mirror of
https://github.com/MariaDB/server.git
synced 2026-04-27 02:35:29 +02:00
MDEV-20730: Syntax error on SELECT INTO @variable with CTE
added forgotem WITH option to spacial case with INTO
This commit is contained in:
parent
421d52e896
commit
5b6b16636d
4 changed files with 62 additions and 0 deletions
|
|
@ -1673,3 +1673,14 @@ with columns as (select 1 as t) select * from columns;
|
|||
t
|
||||
1
|
||||
use test;
|
||||
#
|
||||
# MDEV-20730: Syntax error on SELECT INTO @variable with CTE
|
||||
#
|
||||
with data as (select 1 as id)
|
||||
select id into @myid from data;
|
||||
set @save_sql_mode = @@sql_mode;
|
||||
set sql_mode="oracle";
|
||||
with data as (select 1 as id)
|
||||
select id into @myid from data;
|
||||
set sql_mode= @save_sql_mode;
|
||||
# End of 10.4 tests
|
||||
|
|
|
|||
|
|
@ -1182,3 +1182,18 @@ with t as (select 1 as t) select * from t;
|
|||
with columns as (select 1 as t) select * from columns;
|
||||
|
||||
use test;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-20730: Syntax error on SELECT INTO @variable with CTE
|
||||
--echo #
|
||||
|
||||
with data as (select 1 as id)
|
||||
select id into @myid from data;
|
||||
set @save_sql_mode = @@sql_mode;
|
||||
set sql_mode="oracle";
|
||||
with data as (select 1 as id)
|
||||
select id into @myid from data;
|
||||
set sql_mode= @save_sql_mode;
|
||||
|
||||
--echo # End of 10.4 tests
|
||||
|
|
|
|||
|
|
@ -9213,6 +9213,24 @@ select_into:
|
|||
if (Lex->select_finalize(unit))
|
||||
MYSQL_YYABORT;
|
||||
}
|
||||
| with_clause
|
||||
select_into_query_specification
|
||||
{
|
||||
if (Lex->push_select($2))
|
||||
MYSQL_YYABORT;
|
||||
}
|
||||
opt_order_limit_lock
|
||||
{
|
||||
SELECT_LEX_UNIT *unit;
|
||||
if (!(unit = Lex->create_unit($2)))
|
||||
MYSQL_YYABORT;
|
||||
if ($4)
|
||||
unit= Lex->add_tail_to_query_expression_body(unit, $4);
|
||||
unit->set_with_clause($1);
|
||||
$1->attach_to($2);
|
||||
if (Lex->select_finalize(unit))
|
||||
MYSQL_YYABORT;
|
||||
}
|
||||
;
|
||||
|
||||
simple_table:
|
||||
|
|
|
|||
|
|
@ -9314,6 +9314,24 @@ select_into:
|
|||
if (Lex->select_finalize(unit))
|
||||
MYSQL_YYABORT;
|
||||
}
|
||||
| with_clause
|
||||
select_into_query_specification
|
||||
{
|
||||
if (Lex->push_select($2))
|
||||
MYSQL_YYABORT;
|
||||
}
|
||||
opt_order_limit_lock
|
||||
{
|
||||
SELECT_LEX_UNIT *unit;
|
||||
if (!(unit = Lex->create_unit($2)))
|
||||
MYSQL_YYABORT;
|
||||
if ($4)
|
||||
unit= Lex->add_tail_to_query_expression_body(unit, $4);
|
||||
unit->set_with_clause($1);
|
||||
$1->attach_to($2);
|
||||
if (Lex->select_finalize(unit))
|
||||
MYSQL_YYABORT;
|
||||
}
|
||||
;
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue