6776
6778
range->min_keypart_map= range->max_keypart_map=
6777
6779
make_prev_keypart_map(ref->key_parts);
6778
6780
range->flag= ((ref->key_length == key_info->key_length &&
6779
key_info->flags == 0) ? EQ_RANGE : 0);
6781
(key_info->flags & HA_END_SPACE_KEY) == 0) ? EQ_RANGE : 0);
6781
6784
if (!(quick->key_parts=key_part=(KEY_PART *)
6782
6785
alloc_root(&quick->alloc,sizeof(KEY_PART)*ref->key_parts)))
7240
MRR range sequence interface: array<QUICK_RANGE> impl: utility func for NDB
7243
mrr_persistent_flag_storage()
7244
seq Range sequence being traversed
7248
MRR/NDB implementation needs to store some bits for each range. This
7249
function returns a reference to the "range_flag" associated with the
7252
This function should be removed when we get a proper MRR/NDB
7256
Reference to range_flag associated with range number #idx
7259
uint16_t &mrr_persistent_flag_storage(range_seq_t seq, uint32_t idx)
7261
QUICK_RANGE_SEQ_CTX *ctx= (QUICK_RANGE_SEQ_CTX*)seq;
7262
return ctx->first[idx]->flag;
7267
MRR range sequence interface: array<QUICK_RANGE> impl: utility func for NDB
7270
mrr_get_ptr_by_idx()
7271
seq Range sequence bening traversed
7272
idx Number of the range
7275
An extension of MRR range sequence interface needed by NDB: return the
7276
data associated with the given range.
7278
A proper MRR interface implementer is supposed to store and return
7279
range-associated data. NDB stores number of the range instead. So this
7280
is a helper function that translates range number to range associated
7283
This function does nothing, as currrently there is only one user of the
7284
MRR interface - the quick range select code, and this user doesn't need
7285
to use range-associated data.
7288
Reference to range-associated data
7291
char* &mrr_get_ptr_by_idx(range_seq_t, uint32_t)
7299
7243
Get next possible record using quick-struct.