~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/optimizer/range.h

  • Committer: Brian Aker
  • Date: 2010-05-27 01:22:55 UTC
  • mto: This revision was merged to the branch mainline in revision 1568.
  • Revision ID: brian@gaz-20100527012255-ssmjt4un8ptpg4jv
Remove dead .opt files. Removed two options from Innodb which do not relate
to drizzle (backwards compatible options for old MySQL). 

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
2
 *  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3
3
 *
4
 
 *  Copyright (C) 2008-2009 Sun Microsystems, Inc.
 
4
 *  Copyright (C) 2008-2009 Sun Microsystems
5
5
 *
6
6
 *  This program is free software; you can redistribute it and/or modify
7
7
 *  it under the terms of the GNU General Public License as published by
22
22
#ifndef DRIZZLED_OPTIMIZER_RANGE_H
23
23
#define DRIZZLED_OPTIMIZER_RANGE_H
24
24
 
25
 
#include <drizzled/field.h>
26
 
#include <drizzled/item/sum.h>
27
 
#include <drizzled/table_reference.h>
 
25
#include "drizzled/field.h"
 
26
#include "drizzled/item/sum.h"
28
27
 
29
28
#include <queue>
30
29
 
31
 
#include <boost/dynamic_bitset.hpp>
32
 
 
33
30
namespace drizzled
34
31
{
35
32
 
42
39
typedef struct st_io_cache IO_CACHE;
43
40
}
44
41
 
 
42
typedef struct st_handler_buffer HANDLER_BUFFER;
 
43
 
45
44
typedef struct st_key_part
46
45
{
47
46
  uint16_t key;
241
240
   * 
242
241
   * @note This is used by during explain plan.
243
242
   */
244
 
  virtual void add_keys_and_lengths(std::string *key_names,
245
 
                                    std::string *used_lengths)=0;
 
243
  virtual void add_keys_and_lengths(String *key_names, String *used_lengths)=0;
246
244
 
247
245
  /**
248
246
   * Append text representation of quick select structure (what and how is
253
251
   * This function is implemented only by quick selects that merge other quick
254
252
   * selects output and/or can produce output suitable for merging.
255
253
   */
256
 
  virtual void add_info_string(std::string *)
 
254
  virtual void add_info_string(String *) 
257
255
  {}
258
 
 
 
256
  
259
257
  /**
260
258
   * Returns true if any index used by this quick select
261
259
   * uses field which is marked in passed bitmap.
262
260
   */
263
 
  virtual bool is_keys_used(const boost::dynamic_bitset<>& fields);
 
261
  virtual bool is_keys_used(const MyBitmap *fields);
264
262
};
265
263
 
266
264
struct st_qsel_param;
316
314
};
317
315
 
318
316
QuickRangeSelect *get_quick_select_for_ref(Session *session, 
319
 
                                           Table *table,
320
 
                                           table_reference_st *ref,
321
 
                                           ha_rows records);
 
317
                                             Table *table,
 
318
                                             struct table_reference_st *ref,
 
319
                                             ha_rows records);
322
320
 
323
321
/*
324
322
  Create a QuickRangeSelect from given key and SEL_ARG tree for that key.
349
347
                                   uint32_t mrr_buf_size, 
350
348
                                   memory::Root *alloc);
351
349
 
352
 
uint32_t get_index_for_order(Table *table, Order *order, ha_rows limit);
 
350
uint32_t get_index_for_order(Table *table, order_st *order, ha_rows limit);
353
351
 
354
352
SqlSelect *make_select(Table *head, 
355
353
                       table_map const_tables,