~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/optimizer/quick_range_select.h

  • Committer: Brian Aker
  • Date: 2010-08-09 18:04:12 UTC
  • mfrom: (1689.3.7 staging)
  • Revision ID: brian@gaz-20100809180412-olurwh51ojllev6p
Merge in heap conversion, and case insensitive patch, and remove need for
M_HASH in session.

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
20
20
#ifndef DRIZZLED_OPTIMIZER_QUICK_RANGE_SELECT_H
21
21
#define DRIZZLED_OPTIMIZER_QUICK_RANGE_SELECT_H
22
22
 
23
 
#include <drizzled/optimizer/range.h>
 
23
#include "drizzled/optimizer/range.h"
24
24
 
25
 
#include <boost/dynamic_bitset.hpp>
26
25
#include <vector>
27
26
 
28
27
namespace drizzled
47
46
 
48
47
  /** Members to deal with case when this quick select is a ROR-merged scan */
49
48
  bool in_ror_merged_scan;
50
 
  boost::dynamic_bitset<> *column_bitmap;
51
 
  boost::dynamic_bitset<> *save_read_set;
52
 
  boost::dynamic_bitset<> *save_write_set;
 
49
  MyBitmap column_bitmap;
 
50
  MyBitmap *save_read_set;
 
51
  MyBitmap *save_write_set;
53
52
  bool free_file; /**< True when this->file is "owned" by this quick select */
54
53
 
55
54
  /* Range pointers to be used when not using MRR interface */
107
106
                     Table *table,
108
107
                     uint32_t index_arg,
109
108
                     bool no_alloc,
110
 
                     memory::Root *parent_alloc);
 
109
                     memory::Root *parent_alloc,
 
110
                     bool *create_err);
111
111
 
112
112
  ~QuickRangeSelect();
113
113
 
203
203
    return QS_TYPE_RANGE;
204
204
  }
205
205
 
206
 
  void add_keys_and_lengths(std::string *key_names, std::string *used_lengths);
 
206
  void add_keys_and_lengths(String *key_names, String *used_lengths);
207
207
 
208
 
  void add_info_string(std::string *str);
 
208
  void add_info_string(String *str);
209
209
 
210
210
  void resetCursor()
211
211
  {