22 #include <boost/dynamic_bitset.hpp>
24 #include <drizzled/field.h>
28 typedef struct st_key_part KEY_PART;
42 covered_fields_size(0),
43 used_fields_covered(0),
46 first_uncovered_field(0),
50 boost::dynamic_bitset<> bitsToBitset()
const;
52 void subtractBitset(
const boost::dynamic_bitset<>& in_bitset);
54 uint32_t findFirstNotSet()
const;
56 size_t getBitCount()
const;
66 uint64_t covered_fields;
67 size_t covered_fields_size;
68 uint32_t used_fields_covered;
75 double index_read_cost;
76 uint32_t first_uncovered_field;
77 uint32_t key_components;
97 using_real_indexes(
false),
98 remove_jump_scans(
false),
100 force_default_mrr(
false)
106 table_map prev_tables;
107 table_map read_tables;
108 table_map current_table;
126 bool using_real_indexes;
128 bool remove_jump_scans;
134 uint32_t real_keynr[MAX_KEY];
136 uint32_t alloced_sel_args;
137 bool force_default_mrr;
151 tmp_covered_fields(),
153 imerge_cost_buff(NULL),
154 imerge_cost_buff_size(0),
160 uint32_t max_key_part;
162 uint32_t range_count;
163 unsigned char min_key[MAX_KEY_LENGTH+MAX_FIELD_WIDTH];
164 unsigned char max_key[MAX_KEY_LENGTH+MAX_FIELD_WIDTH];
167 boost::dynamic_bitset<> needed_fields;
168 boost::dynamic_bitset<> tmp_covered_fields;
172 uint32_t *imerge_cost_buff;
173 uint32_t imerge_cost_buff_size;
TODO: Rename this file - func.h is stupid.