diff options
author | Sergey Petrunya <psergey@askmonty.org> | 2011-04-02 14:09:00 +0400 |
---|---|---|
committer | Sergey Petrunya <psergey@askmonty.org> | 2011-04-02 14:09:00 +0400 |
commit | 8fb724281e00757c4a81c57b081602b3cb4e6726 (patch) | |
tree | 428e55fc35e017a80ef28cba76f3fbbf85fda97d /sql/table.h | |
parent | d5adc29d1c39027c827074f936d3f28e71f87800 (diff) | |
parent | b86abed53de628c650a1c47a0287aaa32228a051 (diff) | |
download | mariadb-git-8fb724281e00757c4a81c57b081602b3cb4e6726.tar.gz |
Merge MWL#90 with main 5.3 tree
Diffstat (limited to 'sql/table.h')
-rw-r--r-- | sql/table.h | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/sql/table.h b/sql/table.h index d43f5c85849..5d414278b02 100644 --- a/sql/table.h +++ b/sql/table.h @@ -967,6 +967,12 @@ struct st_table { file->extra(HA_EXTRA_KEYREAD); DBUG_VOID_RETURN; } + /* + Returns TRUE if the table is filled at execution phase (and so, the + optimizer must not do anything that depends on the contents of the table, + like range analysis or constant table detection) + */ + bool is_filled_at_execution(); inline void disable_keyread() { DBUG_ENTER("disable_keyread"); @@ -1195,7 +1201,7 @@ class Item_in_subselect; 1) table (TABLE_LIST::view == NULL) - base table (TABLE_LIST::derived == NULL) - - subquery - TABLE_LIST::table is a temp table + - FROM-clause subquery - TABLE_LIST::table is a temp table (TABLE_LIST::derived != NULL) - information schema table (TABLE_LIST::schema_table != NULL) @@ -1214,6 +1220,8 @@ class Item_in_subselect; (TABLE_LIST::natural_join != NULL) - JOIN ... USING (TABLE_LIST::join_using_fields != NULL) + - semi-join nest (sj_on_expr!= NULL && sj_subq_pred!=NULL) + 4) jtbm semi-join (jtbm_subselect != NULL) */ class Index_hint; @@ -1256,8 +1264,14 @@ struct TABLE_LIST */ table_map sj_inner_tables; /* Number of IN-compared expressions */ - uint sj_in_exprs; + uint sj_in_exprs; + + /* If this is a non-jtbm semi-join nest: corresponding subselect predicate */ Item_in_subselect *sj_subq_pred; + + /* If this is a jtbm semi-join object: corresponding subselect predicate */ + Item_in_subselect *jtbm_subselect; + SJ_MATERIALIZATION_INFO *sj_mat_info; /* |