~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to server/sql_select.h

  • Committer: Brian Aker
  • Date: 2008-07-10 19:37:55 UTC
  • mfrom: (51.1.67 remove-dbug)
  • Revision ID: brian@tangent.org-20080710193755-f5g761uieqa3wxmt
Merge.

Show diffs side-by-side

added added

removed removed

Lines of Context:
49
49
            an Item_func_trig_cond. This means the equality (and validity of 
50
50
            this KEYUSE element) can be turned on and off. The on/off state 
51
51
            is indicted by the pointed value:
52
 
              *cond_guard == TRUE <=> equality condition is on
53
 
              *cond_guard == FALSE <=> equality condition is off
 
52
              *cond_guard == true <=> equality condition is on
 
53
              *cond_guard == false <=> equality condition is off
54
54
 
55
55
    NULL  - Otherwise (the source equality can't be turned off)
56
56
  */
96
96
  uchar          *null_ref_key;
97
97
 
98
98
  /*
99
 
    TRUE <=> disable the "cache" as doing lookup with the same key value may
 
99
    true <=> disable the "cache" as doing lookup with the same key value may
100
100
    produce different results (because of Index Condition Pushdown)
101
101
  */
102
102
  bool          disable_cache;
117
117
  uint length; /* Length of data at *str, in bytes */
118
118
  uint blob_length; /* Valid IFF blob_field != 0 */
119
119
  Field_blob *blob_field;
120
 
  bool strip; /* TRUE <=> Strip endspaces ?? */
 
120
  bool strip; /* true <=> Strip endspaces ?? */
121
121
 
122
122
  TABLE *get_rowid; /* _ != NULL <=> */
123
123
} CACHE_FIELD;
246
246
  uint          used_fields,used_fieldlength,used_blobs;
247
247
  enum join_type type;
248
248
  bool          cached_eq_ref_table,eq_ref_table,not_used_in_distinct;
249
 
  /* TRUE <=> index-based access method must return records in order */
 
249
  /* true <=> index-based access method must return records in order */
250
250
  bool          sorted;
251
251
  /* 
252
252
    If it's not 0 the number stored this field indicates that the index
427
427
  bool     sort_and_group,first_record,full_join,group, no_field_update;
428
428
  bool     do_send_rows;
429
429
  /**
430
 
    TRUE when we want to resume nested loop iterations when
 
430
    true when we want to resume nested loop iterations when
431
431
    fetching data from a cursor
432
432
  */
433
433
  bool     resume_nested_loop;
473
473
  /// select that processed
474
474
  SELECT_LEX *select_lex;
475
475
  /** 
476
 
    TRUE <=> optimizer must not mark any table as a constant table.
 
476
    true <=> optimizer must not mark any table as a constant table.
477
477
    This is needed for subqueries in form "a IN (SELECT .. UNION SELECT ..):
478
478
    when we optimize the select that reads the results of the union from a
479
479
    temporary table, we must not mark the temp. table as constant because
488
488
  /**
489
489
    If we have the GROUP BY statement in the query,
490
490
    but the group_list was emptied by optimizer, this
491
 
    flag is TRUE.
 
491
    flag is true.
492
492
    It happens when fields in the GROUP BY are from
493
493
    constant table
494
494
  */
573
573
    sort_and_group= 0;
574
574
    first_record= 0;
575
575
    do_send_rows= 1;
576
 
    resume_nested_loop= FALSE;
 
576
    resume_nested_loop= false;
577
577
    send_records= 0;
578
578
    found_records= 0;
579
579
    fetch_limit= HA_POS_ERROR;
616
616
    rollup.state= ROLLUP::STATE_NONE;
617
617
    sj_tmp_tables= NULL;
618
618
 
619
 
    no_const_tables= FALSE;
 
619
    no_const_tables= false;
620
620
  }
621
621
 
622
622
  int prepare(Item ***rref_pointer_array, TABLE_LIST *tables, uint wind_num,
632
632
  bool flatten_subqueries();
633
633
  bool setup_subquery_materialization();
634
634
  bool make_sum_func_list(List<Item> &all_fields, List<Item> &send_fields,
635
 
                          bool before_group_by, bool recompute= FALSE);
 
635
                          bool before_group_by, bool recompute= false);
636
636
 
637
637
  inline void set_items_ref_array(Item **ptr)
638
638
  {
721
721
class store_key :public Sql_alloc
722
722
{
723
723
public:
724
 
  bool null_key; /* TRUE <=> the value of the key has a null part */
 
724
  bool null_key; /* true <=> the value of the key has a null part */
725
725
  enum store_key_result { STORE_KEY_OK, STORE_KEY_FATAL, STORE_KEY_CONV };
726
726
  store_key(THD *thd, Field *field_arg, uchar *ptr, uchar *null, uint length)
727
727
    :null_key(0), null_ptr(null), err(0)