mirror of
https://github.com/MariaDB/server.git
synced 2025-12-24 11:21:21 +03:00
check of LIMIT in row IN subquery (SCRUM related)
This commit is contained in:
@@ -809,4 +809,6 @@ NULL
|
||||
select ROW(1, 1, 'a') IN (select b,a,c from t where c='b' or c='a');
|
||||
ROW(1, 1, 'a') IN (select b,a,c from t where c='b' or c='a')
|
||||
1
|
||||
select ROW(1, 1, 'a') IN (select b,a,c from t limit 2);
|
||||
This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
|
||||
drop table if exists t;
|
||||
|
||||
@@ -454,4 +454,6 @@ select ROW(1, 1, 'a') IN (select b,a,c from t where a is not null);
|
||||
select ROW(1, 1, 'a') IN (select a,b,c from t where c='b' or c='a');
|
||||
select ROW(1, 2, 'a') IN (select a,b,c from t where c='b' or c='a');
|
||||
select ROW(1, 1, 'a') IN (select b,a,c from t where c='b' or c='a');
|
||||
-- error 1235
|
||||
select ROW(1, 1, 'a') IN (select b,a,c from t limit 2);
|
||||
drop table if exists t;
|
||||
|
||||
@@ -517,6 +517,13 @@ void Item_in_subselect::row_value_transformer(st_select_lex *select_lex,
|
||||
Item *left_expr)
|
||||
{
|
||||
DBUG_ENTER("Item_in_subselect::row_value_transformer");
|
||||
if (select_lex->master_unit()->global_parameters->select_limit !=
|
||||
HA_POS_ERROR)
|
||||
{
|
||||
my_error(ER_NOT_SUPPORTED_YET, MYF(0),
|
||||
"LIMIT & IN/ALL/ANY/SOME subquery");
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
Item_in_optimizer *optimizer;
|
||||
substitution= optimizer= new Item_in_optimizer(left_expr, this);
|
||||
if (!optimizer)
|
||||
@@ -530,6 +537,13 @@ void Item_in_subselect::row_value_transformer(st_select_lex *select_lex,
|
||||
DBUG_VOID_RETURN;
|
||||
for (SELECT_LEX * sl= select_lex; sl; sl= sl->next_select())
|
||||
{
|
||||
if (select_lex->select_limit != HA_POS_ERROR)
|
||||
{
|
||||
my_error(ER_NOT_SUPPORTED_YET, MYF(0),
|
||||
"LIMIT & IN/ALL/ANY/SOME subquery");
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
||||
select_lex->dependent= 1;
|
||||
|
||||
Item *item= 0;
|
||||
|
||||
Reference in New Issue
Block a user