1
0
mirror of https://github.com/MariaDB/server.git synced 2026-01-06 05:22:24 +03:00

new IN subquery engine added for simple IN with non-primary index but without NULL returning

(SCRUM) (part of WL#818)


mysql-test/r/subselect.result:
  test of new engine
mysql-test/t/subselect.test:
  test of new engine
sql/item_subselect.cc:
  new engine added
  some common operation moved in separate method
sql/item_subselect.h:
  new engine added
  some common operation moved in separate method
sql/sql_select.cc:
  new engine added
  some common operation moved in separate method
sql/sql_select.h:
  some common operation moved in separate method
This commit is contained in:
unknown
2003-07-08 00:08:00 +03:00
parent f2ad6ba433
commit 210c4aba95
6 changed files with 174 additions and 47 deletions

View File

@@ -76,7 +76,7 @@ typedef struct st_join_cache {
enum join_type { JT_UNKNOWN,JT_SYSTEM,JT_CONST,JT_EQ_REF,JT_REF,JT_MAYBE_REF,
JT_ALL, JT_RANGE, JT_NEXT, JT_FT, JT_REF_OR_NULL,
JT_SIMPLE_IN};
JT_SIMPLE_IN, JT_INDEX_IN};
class JOIN;
@@ -277,7 +277,8 @@ class JOIN :public Sql_alloc
bool rollup_init();
bool rollup_make_fields(List<Item> &all_fields, List<Item> &fields,
Item_sum ***func);
int JOIN::rollup_send_data(uint idx);
int rollup_send_data(uint idx);
bool test_in_subselect(Item **where);
};