~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/optimizer/range.cc

more updates

Show diffs side-by-side

added added

removed removed

Lines of Context:
4169
4169
  set_if_bigger(quick->max_used_key_length, (uint32_t)range->min_length);
4170
4170
  set_if_bigger(quick->max_used_key_length, (uint32_t)range->max_length);
4171
4171
  set_if_bigger(quick->used_key_parts, (uint32_t) key_tree->part+1);
4172
 
  if (insert_dynamic(&quick->ranges, (unsigned char*) &range))
4173
 
  {
4174
 
    return 1;
4175
 
  }
 
4172
  quick->ranges.push_back(&range);
4176
4173
 
4177
4174
 end:
4178
4175
  if (key_tree->right != &optimizer::null_element)
4296
4293
    key_part->null_bit=     key_info->key_part[part].null_bit;
4297
4294
    key_part->flag=         (uint8_t) key_info->key_part[part].key_part_flag;
4298
4295
  }
4299
 
  if (insert_dynamic(&quick->ranges,(unsigned char*)&range))
4300
 
    goto err;
 
4296
  quick->ranges.push_back(&range);
4301
4297
 
4302
4298
  /*
4303
4299
     Add a NULL range if REF_OR_NULL optimization is used.
4317
4313
                                 make_prev_keypart_map(ref->key_parts), EQ_RANGE)))
4318
4314
      goto err;
4319
4315
    *ref->null_ref_key= 0;              // Clear null byte
4320
 
    if (insert_dynamic(&quick->ranges,(unsigned char*)&null_range))
4321
 
      goto err;
 
4316
    quick->ranges.push_back(&null_range);
4322
4317
  }
4323
4318
 
4324
4319
  /* Call multi_range_read_info() to get the MRR flags and buffer size */