~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/optimizer/table_read_plan.h

  • Committer: Olaf van der Spek
  • Date: 2011-06-22 17:45:22 UTC
  • mto: This revision was merged to the branch mainline in revision 2347.
  • Revision ID: olafvdspek@gmail.com-20110622174522-81mj1izig7kj2ujp
Refactor

Show diffs side-by-side

added added

removed removed

Lines of Context:
67
67
 
68
68
  /* Table read plans are allocated on memory::Root and are never deleted */
69
69
  static void *operator new(size_t size, memory::Root *mem_root)
70
 
  { 
71
 
    return mem_root->alloc(size); 
 
70
  {
 
71
    return mem_root->alloc(size);
72
72
  }
73
73
 
74
74
  static void operator delete(void *, size_t)
90
90
*/
91
91
class RangeReadPlan : public TableReadPlan
92
92
{
93
 
 
94
93
public:
95
 
 
96
94
  SEL_ARG *key; /* set of intervals to be used in "range" method retrieval */
97
95
  uint32_t     key_idx; /* key number in Parameter::key */
98
96
  uint32_t     mrr_flags;
104
102
      key_idx(idx_arg),
105
103
      mrr_flags(mrr_flags_arg)
106
104
  {}
107
 
  virtual ~RangeReadPlan() {}                     /* Remove gcc warning */
108
105
 
109
106
  QuickSelectInterface *make_quick(Parameter *param, bool, memory::Root *parent_alloc);
110
 
 
111
107
};
112
108
 
113
109
 
115
111
class RorIntersectReadPlan : public TableReadPlan
116
112
{
117
113
public:
118
 
 
119
 
  RorIntersectReadPlan() {}                      /* Remove gcc warning */
120
 
  virtual ~RorIntersectReadPlan() {}             /* Remove gcc warning */
121
 
 
122
114
  QuickSelectInterface *make_quick(Parameter *param,
123
115
                                   bool retrieve_full_rows,
124
116
                                   memory::Root *parent_alloc);
143
135
class RorUnionReadPlan : public TableReadPlan
144
136
{
145
137
public:
146
 
  RorUnionReadPlan() {}                          /* Remove gcc warning */
147
 
  virtual ~RorUnionReadPlan() {}                 /* Remove gcc warning */
148
138
  QuickSelectInterface *make_quick(Parameter *param,
149
139
                                   bool retrieve_full_rows,
150
140
                                   memory::Root *parent_alloc);
162
152
class IndexMergeReadPlan : public TableReadPlan
163
153
{
164
154
public:
165
 
  IndexMergeReadPlan() {}                        /* Remove gcc warning */
166
 
  virtual ~IndexMergeReadPlan() {}               /* Remove gcc warning */
167
155
  QuickSelectInterface *make_quick(Parameter *param,
168
156
                                   bool retrieve_full_rows,
169
157
                                   memory::Root *parent_alloc);
197
185
  ha_rows quick_prefix_records;
198
186
 
199
187
public:
200
 
  GroupMinMaxReadPlan(bool have_min_arg, 
 
188
  GroupMinMaxReadPlan(bool have_min_arg,
201
189
                      bool have_max_arg,
202
190
                      KeyPartInfo *min_max_arg_part_arg,
203
 
                      uint32_t group_prefix_len_arg, 
 
191
                      uint32_t group_prefix_len_arg,
204
192
                      uint32_t used_key_parts_arg,
205
 
                      uint32_t group_key_parts_arg, 
 
193
                      uint32_t group_key_parts_arg,
206
194
                      KeyInfo *index_info_arg,
207
 
                      uint32_t index_arg, 
 
195
                      uint32_t index_arg,
208
196
                      uint32_t key_infix_len_arg,
209
197
                      unsigned char *key_infix_arg,
210
 
                      SEL_TREE *tree_arg, 
 
198
                      SEL_TREE *tree_arg,
211
199
                      SEL_ARG *index_tree_arg,
212
 
                      uint32_t param_idx_arg, 
 
200
                      uint32_t param_idx_arg,
213
201
                      ha_rows quick_prefix_records_arg)
214
202
    :
215
203
      have_min(have_min_arg),
229
217
      if (key_infix_len)
230
218
        memcpy(this->key_infix, key_infix_arg, key_infix_len);
231
219
    }
232
 
  virtual ~GroupMinMaxReadPlan() {}             /* Remove gcc warning */
233
220
 
234
221
  QuickSelectInterface *make_quick(Parameter *param,
235
222
                                   bool retrieve_full_rows,