32
32
JOIN(const JOIN &rhs); /**< not implemented */
33
33
JOIN& operator=(const JOIN &rhs); /**< not implemented */
37
JOIN_TAB **map2table; /**< mapping between table indexes and JOIN_TABs */
38
JOIN_TAB *join_tab_save; /**< saved join_tab for subquery reexecution */
37
JoinTable **map2table; /**< mapping between table indexes and JoinTables */
38
JoinTable *join_tab_save; /**< saved join_tab for subquery reexecution */
41
41
Table **all_tables;
181
181
Item *conds_history; /**< store WHERE for explain */
182
182
TableList *tables_list; /**< hold 'tables' parameter of mysql_select */
183
183
COND_EQUAL *cond_equal;
184
JOIN_TAB *return_tab; /**< used only for outer joins */
184
JoinTable *return_tab; /**< used only for outer joins */
185
185
Item **ref_pointer_array; /**< used pointer reference for this select */
186
186
/** Copy of above to be used with different lists */
193
193
const char *zero_result_cause; ///< not 0 if exec must return zero result
195
195
/* Descriptions of temporary tables used to weed-out semi-join duplicates */
196
SJ_TMP_TABLE *sj_tmp_tables;
196
SemiJoinTable *sj_tmp_tables;
198
198
table_map cur_emb_sj_nests;
207
207
SORT_FIELD *sortorder; // make_unireg_sortorder()
208
208
Table **table_reexec; // make_simple_join()
209
JOIN_TAB *join_tab_reexec; // make_simple_join()
209
JoinTable *join_tab_reexec; // make_simple_join()
210
210
/* end of allocation caching storage */
212
212
/** Constructors */
456
enum_nested_loop_state evaluate_join_record(JOIN *join, JOIN_TAB *join_tab, int error);
457
enum_nested_loop_state evaluate_null_complemented_join_record(JOIN *join, JOIN_TAB *join_tab);
458
enum_nested_loop_state flush_cached_records(JOIN *join, JOIN_TAB *join_tab, bool skip_last);
459
enum_nested_loop_state end_send(JOIN *join, JOIN_TAB *join_tab, bool end_of_records);
460
enum_nested_loop_state end_write(JOIN *join, JOIN_TAB *join_tab, bool end_of_records);
461
enum_nested_loop_state end_update(JOIN *join, JOIN_TAB *join_tab, bool end_of_records);
462
enum_nested_loop_state end_unique_update(JOIN *join, JOIN_TAB *join_tab, bool end_of_records);
456
enum_nested_loop_state evaluate_join_record(JOIN *join, JoinTable *join_tab, int error);
457
enum_nested_loop_state evaluate_null_complemented_join_record(JOIN *join, JoinTable *join_tab);
458
enum_nested_loop_state flush_cached_records(JOIN *join, JoinTable *join_tab, bool skip_last);
459
enum_nested_loop_state end_send(JOIN *join, JoinTable *join_tab, bool end_of_records);
460
enum_nested_loop_state end_write(JOIN *join, JoinTable *join_tab, bool end_of_records);
461
enum_nested_loop_state end_update(JOIN *join, JoinTable *join_tab, bool end_of_records);
462
enum_nested_loop_state end_unique_update(JOIN *join, JoinTable *join_tab, bool end_of_records);
464
464
#endif /* DRIZZLED_JOIN_H */