1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

independent ALL/ANY subselect on top of WHERE clause (subselect without GROUP BY or aggregate functions) optimisation

(SCRUM) (WL#1086)


mysql-test/r/subselect.result:
  new optimisation tests
mysql-test/t/subselect.test:
  new optimisation tests
sql/item_cmpfunc.cc:
  new NOT
sql/item_cmpfunc.h:
  new NOT
sql/item_subselect.cc:
  independent ALL/ANY in top of WHERE clause optimisation
sql/item_subselect.h:
  independent ALL/ANY in top of WHERE clause optimisation
sql/item_sum.cc:
  prevent fixlields call for parameters of min/max if it is already done
sql/sql_union.cc:
  removed debuging print
sql/sql_yacc.yy:
  support of ALL optimisation
This commit is contained in:
unknown
2003-07-24 15:26:21 +03:00
parent d35bf560be
commit 9a3979e234
9 changed files with 130 additions and 21 deletions

View File

@ -179,7 +179,8 @@ Item_sum_hybrid::fix_fields(THD *thd, TABLE_LIST *tables, Item **ref)
return 1;
}
thd->allow_sum_func=0; // No included group funcs
if (item->fix_fields(thd, tables, args) || item->check_cols(1))
if (!item->fixed &&
item->fix_fields(thd, tables, args) || item->check_cols(1))
return 1;
hybrid_type=item->result_type();
if (hybrid_type == INT_RESULT)