summaryrefslogtreecommitdiff
path: root/sql/sql_select.h
diff options
context:
space:
mode:
authorunknown <bell@sanja.is.com.ua>2003-07-07 18:40:19 +0300
committerunknown <bell@sanja.is.com.ua>2003-07-07 18:40:19 +0300
commit923dba86b10783c4fe10e6a1ff19d3d6f39c8b6f (patch)
treec5234a98cb544581b89cf6fd54db7a522e3356a2 /sql/sql_select.h
parent2cd6d8ec6bd7a4a04a0b19943da0f331df25cf0f (diff)
downloadmariadb-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.h5
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);