~posulliv/drizzle/memcached_applier

« back to all changes in this revision

Viewing changes to drizzled/sql_select.h

  • Committer: Jay Pipes
  • Date: 2009-08-03 14:23:22 UTC
  • mfrom: (1039.2.68 staging)
  • mto: This revision was merged to the branch mainline in revision 1078.
  • Revision ID: jpipes@serialcoder-20090803142322-1g67h7su9mocg9ig
Merge trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
72
72
    NULL  - Otherwise (the source equality can't be turned off)
73
73
  */
74
74
  bool *cond_guard;
75
 
  /**
76
 
     0..64    <=> This was created from semi-join IN-equality # sj_pred_no.
77
 
     MAX_UINT  Otherwise
78
 
  */
79
 
  uint32_t sj_pred_no;
80
75
};
81
76
 
82
77
class JOIN;
164
159
  */
165
160
  bool null_rejecting;
166
161
  bool *cond_guard; /**< @see KeyUse::cond_guard */
167
 
  uint32_t sj_pred_no; /**< @see KeyUse::sj_pred_no */
168
162
} KEY_FIELD;
169
163
 
170
164
/*****************************************************************************
226
220
int do_select(JOIN *join, List<Item> *fields, Table *tmp_table);
227
221
bool const_expression_in_where(COND *conds,Item *item, Item **comp_item);
228
222
int create_sort_index(Session *session, JOIN *join, order_st *order, ha_rows filesort_limit, ha_rows select_limit, bool is_order_by);
229
 
void advance_sj_state(const table_map remaining_tables, const JoinTable *tab);
230
 
void restore_prev_sj_state(const table_map remaining_tables, const JoinTable *tab);
231
223
void save_index_subquery_explain_info(JoinTable *join_tab, Item* where);
232
224
Item *remove_additional_cond(Item* conds);
233
225
bool setup_sum_funcs(Session *session, Item_sum **func_ptr);
241
233
                               uint32_t elements,
242
234
                                                 List<Item> &all_fields);
243
235
void select_describe(JOIN *join, bool need_tmp_table,bool need_order, bool distinct, const char *message= NULL);
244
 
int subq_sj_candidate_cmp(Item_in_subselect* const *el1, Item_in_subselect* const *el2);
245
 
bool convert_subq_to_sj(JOIN *parent_join, Item_in_subselect *subq_pred);
246
236
bool change_group_ref(Session *session, Item_func *expr, order_st *group_list, bool *changed);
247
237
bool check_interleaving_with_nj(JoinTable *last, JoinTable *next);
248
238
 
288
278
                                List<Item> &all_fields,
289
279
                                bool *all_order_by_fields_used);
290
280
bool eq_ref_table(JOIN *join, order_st *start_order, JoinTable *tab);
291
 
uint64_t get_bound_sj_equalities(TableList *sj_nest, table_map remaining_tables);
292
281
int join_tab_cmp(const void* ptr1, const void* ptr2);
293
282
int remove_dup_with_compare(Session *session, Table *table, Field **first_field, uint32_t offset, Item *having);
294
283
int remove_dup_with_hash_index(Session *session, 
313
302
// Create list for using with tempory table
314
303
void init_tmptable_sum_functions(Item_sum **func);
315
304
void update_tmptable_sum_func(Item_sum **func,Table *tmp_table);
316
 
bool find_eq_ref_candidate(Table *table, table_map sj_inner_tables);
317
305
bool only_eq_ref_tables(JOIN *join, order_st *order, table_map tables);
318
306
bool create_ref_for_key(JOIN *join, JoinTable *j, KeyUse *org_keyuse, table_map used_tables);
319
307