~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/optimizer/range.h

  • Committer: pcrews
  • Date: 2011-05-24 17:36:24 UTC
  • mfrom: (1099.4.232 drizzle)
  • Revision ID: pcrews@lucid32-20110524173624-mwr1bvq6fa1r01ao
Updated translations + 2011.05.18 tarball tag

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
 
20
20
/* classes to use when handling where clause */
21
21
 
22
 
#ifndef DRIZZLED_OPTIMIZER_RANGE_H
23
 
#define DRIZZLED_OPTIMIZER_RANGE_H
 
22
#pragma once
24
23
 
25
24
#include <drizzled/field.h>
26
25
#include <drizzled/item/sum.h>
30
29
 
31
30
#include <boost/dynamic_bitset.hpp>
32
31
 
33
 
namespace drizzled
34
 
{
35
 
 
36
 
class Join;
37
 
class RorIntersectReadPlan; 
38
 
typedef class Item COND;
39
 
 
40
 
namespace internal
41
 
{
42
 
typedef struct st_io_cache IO_CACHE;
43
 
}
 
32
namespace drizzled {
44
33
 
45
34
typedef struct st_key_part
46
35
{
59
48
} KEY_PART;
60
49
 
61
50
 
62
 
namespace optimizer
63
 
{
64
 
 
65
 
class Parameter;
66
 
class SEL_ARG;
 
51
namespace optimizer {
67
52
 
68
53
/**
69
54
  Quick select interface.
241
226
   * 
242
227
   * @note This is used by during explain plan.
243
228
   */
244
 
  virtual void add_keys_and_lengths(String *key_names, String *used_lengths)=0;
 
229
  virtual void add_keys_and_lengths(std::string *key_names,
 
230
                                    std::string *used_lengths)=0;
245
231
 
246
232
  /**
247
233
   * Append text representation of quick select structure (what and how is
252
238
   * This function is implemented only by quick selects that merge other quick
253
239
   * selects output and/or can produce output suitable for merging.
254
240
   */
255
 
  virtual void add_info_string(String *) 
 
241
  virtual void add_info_string(std::string *)
256
242
  {}
257
 
  
 
243
 
258
244
  /**
259
245
   * Returns true if any index used by this quick select
260
246
   * uses field which is marked in passed bitmap.
262
248
  virtual bool is_keys_used(const boost::dynamic_bitset<>& fields);
263
249
};
264
250
 
265
 
struct st_qsel_param;
266
 
class QuickRange;
267
 
class QuickRangeSelect;
268
 
 
269
251
/**
270
252
 * MRR range sequence, array<QuickRange> implementation: sequence traversal
271
253
 * context.
295
277
  QuickSelectInterface *quick; /**< If quick-select used */
296
278
  COND *cond; /**< where condition */
297
279
  Table *head;
298
 
  internal::IO_CACHE *file; /**< Positions to used records */
 
280
  internal::io_cache_st *file; /**< Positions to used records */
299
281
  ha_rows records; /**< Records in use if read from file */
300
282
  double read_time; /**< Time to read rows */
301
283
  key_map quick_keys; /**< Possible quick keys */
370
352
 
371
353
} /* namespace drizzled */
372
354
 
373
 
#endif /* DRIZZLED_OPTIMIZER_RANGE_H */