summaryrefslogtreecommitdiff
path: root/sql/item_subselect.cc
diff options
context:
space:
mode:
authorunknown <bell@sanja.is.com.ua>2002-12-23 18:25:25 +0200
committerunknown <bell@sanja.is.com.ua>2002-12-23 18:25:25 +0200
commit23326969a46a8851fd7b746b6769fb5f7569602f (patch)
treea59613aab53ba560959260b913bc8a6306fca3f1 /sql/item_subselect.cc
parenta637e9c4c920a1baa3a036e3191616e1a146c5f1 (diff)
downloadmariadb-git-23326969a46a8851fd7b746b6769fb5f7569602f.tar.gz
LIMIT is prohibited in IN/ALL/ANY/SOME
Diffstat (limited to 'sql/item_subselect.cc')
-rw-r--r--sql/item_subselect.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/sql/item_subselect.cc b/sql/item_subselect.cc
index a8bbc433b7a..4b9e9c256d1 100644
--- a/sql/item_subselect.cc
+++ b/sql/item_subselect.cc
@@ -318,6 +318,13 @@ void Item_in_subselect::single_value_transformer(st_select_lex *select_lex,
compare_func_creator func)
{
DBUG_ENTER("Item_in_subselect::single_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)
@@ -334,6 +341,13 @@ void Item_in_subselect::single_value_transformer(st_select_lex *select_lex,
select_lex->master_unit()->dependent= 1;
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;
if (sl->item_list.elements > 1)