~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/sql_select.h

  • Committer: Stewart Smith
  • Date: 2011-01-21 01:09:12 UTC
  • mfrom: (2099 staging)
  • mto: (2099.1.3 build)
  • mto: This revision was merged to the branch mainline in revision 2100.
  • Revision ID: stewart@flamingspork.com-20110121010912-x5ogi8rm08nortxp
merge trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
56
56
enum_nested_loop_state end_send_group(Join *join, JoinTable *join_tab, bool end_of_records);
57
57
enum_nested_loop_state end_write_group(Join *join, JoinTable *join_tab, bool end_of_records);
58
58
 
59
 
typedef struct st_rollup
 
59
class Rollup
60
60
{
 
61
public:
61
62
  enum State { STATE_NONE, STATE_INITED, STATE_READY };
 
63
 
 
64
  Rollup()
 
65
  :
 
66
  state(),
 
67
  null_items(NULL),
 
68
  ref_pointer_arrays(NULL),
 
69
  fields()
 
70
  {}
 
71
  
 
72
  Rollup(State in_state,
 
73
         Item_null_result **in_null_items,
 
74
         Item ***in_ref_pointer_arrays,
 
75
         List<Item> *in_fields)
 
76
  :
 
77
  state(in_state),
 
78
  null_items(in_null_items),
 
79
  ref_pointer_arrays(in_ref_pointer_arrays),
 
80
  fields(in_fields)
 
81
  {}
 
82
  
 
83
  State getState() const
 
84
  {
 
85
    return state;
 
86
  }
 
87
 
 
88
  void setState(State in_state)
 
89
  {
 
90
    state= in_state;
 
91
  }
 
92
 
 
93
  Item_null_result **getNullItems() const
 
94
  {
 
95
    return null_items;
 
96
  }
 
97
 
 
98
  void setNullItems(Item_null_result **in_null_items)
 
99
  {
 
100
    null_items= in_null_items;
 
101
  }
 
102
 
 
103
  Item ***getRefPointerArrays() const
 
104
  {
 
105
    return ref_pointer_arrays;
 
106
  }
 
107
 
 
108
  void setRefPointerArrays(Item ***in_ref_pointer_arrays)
 
109
  {
 
110
    ref_pointer_arrays= in_ref_pointer_arrays;
 
111
  }
 
112
 
 
113
  List<Item> *getFields() const
 
114
  {
 
115
    return fields;
 
116
  }
 
117
 
 
118
  void setFields(List<Item> *in_fields)
 
119
  {
 
120
    fields= in_fields;
 
121
  }
 
122
  
 
123
private:
62
124
  State state;
63
125
  Item_null_result **null_items;
64
126
  Item ***ref_pointer_arrays;
65
127
  List<Item> *fields;
66
 
} ROLLUP;
 
128
};
67
129
 
68
130
} /* namespace drizzled */
69
131
 
177
239
void add_not_null_conds(Join *join);
178
240
uint32_t max_part_bit(key_part_map bits);
179
241
COND *add_found_match_trig_cond(JoinTable *tab, COND *cond, JoinTable *root_tab);
180
 
Order *create_distinct_group(Session *session,
181
 
                                Item **ref_pointer_array,
182
 
                                Order *order,
183
 
                                List<Item> &fields,
184
 
                                List<Item> &all_fields,
185
 
                                bool *all_order_by_fields_used);
186
242
bool eq_ref_table(Join *join, Order *start_order, JoinTable *tab);
187
243
int remove_dup_with_compare(Session *session, Table *table, Field **first_field, uint32_t offset, Item *having);
188
244
int remove_dup_with_hash_index(Session *session,