diff options
author | unknown <bell@sanja.is.com.ua> | 2003-07-07 18:40:19 +0300 |
---|---|---|
committer | unknown <bell@sanja.is.com.ua> | 2003-07-07 18:40:19 +0300 |
commit | 923dba86b10783c4fe10e6a1ff19d3d6f39c8b6f (patch) | |
tree | c5234a98cb544581b89cf6fd54db7a522e3356a2 /sql/sql_select.h | |
parent | 2cd6d8ec6bd7a4a04a0b19943da0f331df25cf0f (diff) | |
download | mariadb-git-923dba86b10783c4fe10e6a1ff19d3d6f39c8b6f.tar.gz |
Optimisation if simple IN subselect with primary index
(SCRUM) (part of WL#818)
mysql-test/r/subselect.result:
test of new optimisation
mysql-test/t/subselect.test:
test of new optimisation
sql/item_subselect.cc:
new engine for simple IN with primary index
sql/item_subselect.h:
new engine for simple IN with primary index
sql/sql_lex.h:
fixed typo
sql/sql_select.cc:
engine changing
report_error can't be static, because it used in new engine
sql/sql_select.h:
new JT_ type (just for information in EXPLAIN statement)
report_error can't be static, because it used in new engine
Diffstat (limited to 'sql/sql_select.h')
-rw-r--r-- | sql/sql_select.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sql/sql_select.h b/sql/sql_select.h index a4554183312..57f60d93130 100644 --- a/sql/sql_select.h +++ b/sql/sql_select.h @@ -75,7 +75,8 @@ 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_ALL, JT_RANGE, JT_NEXT, JT_FT, JT_REF_OR_NULL, + JT_SIMPLE_IN}; class JOIN; @@ -305,7 +306,6 @@ bool create_myisam_from_heap(THD *thd, TABLE *table, TMP_TABLE_PARAM *param, /* functions from opt_sum.cc */ int opt_sum_query(TABLE_LIST *tables, List<Item> &all_fields,COND *conds); - /* class to copying an field/item to a key struct */ class store_key :public Sql_alloc @@ -407,3 +407,4 @@ public: bool cp_buffer_from_ref(TABLE_REF *ref); bool error_if_full_join(JOIN *join); void relink_tables(SELECT_LEX *select_lex); +int report_error(TABLE *table, int error); |