~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/sql_base.cc

  • Committer: Monty Taylor
  • Date: 2009-05-09 22:13:47 UTC
  • mto: This revision was merged to the branch mainline in revision 1009.
  • Revision ID: mordred@inaugust.com-20090509221347-l712szviusbobro0
Re-added bitset<> as a replacement for Bitmap<>

Show diffs side-by-side

added added

removed removed

Lines of Context:
3546
3546
      been set for all fields (for example for view).
3547
3547
    */
3548
3548
 
3549
 
    table->covering_keys.intersect(field->part_of_key);
3550
 
    table->merge_keys.merge(field->part_of_key);
 
3549
    table->covering_keys&= field->part_of_key;
 
3550
    table->merge_keys|= field->part_of_key;
3551
3551
 
3552
3552
    if (session->mark_used_columns == MARK_COLUMNS_READ)
3553
3553
    {
4628
4628
        Table *table_1= nj_col_1->table_ref->table;
4629
4629
        /* Mark field_1 used for table cache. */
4630
4630
        table_1->setReadSet(field_1->field_index);
4631
 
        table_1->covering_keys.intersect(field_1->part_of_key);
4632
 
        table_1->merge_keys.merge(field_1->part_of_key);
 
4631
        table_1->covering_keys&= field_1->part_of_key;
 
4632
        table_1->merge_keys|= field_1->part_of_key;
4633
4633
      }
4634
4634
      if (field_2)
4635
4635
      {
4636
4636
        Table *table_2= nj_col_2->table_ref->table;
4637
4637
        /* Mark field_2 used for table cache. */
4638
4638
        table_2->setReadSet(field_2->field_index);
4639
 
        table_2->covering_keys.intersect(field_2->part_of_key);
4640
 
        table_2->merge_keys.merge(field_2->part_of_key);
 
4639
        table_2->covering_keys&= field_2->part_of_key;
 
4640
        table_2->merge_keys|= field_2->part_of_key;
4641
4641
      }
4642
4642
 
4643
4643
      if (using_fields != NULL)
5315
5315
  String *name;
5316
5316
  uint32_t pos;
5317
5317
 
5318
 
  map->clear_all();
 
5318
  map->reset();
5319
5319
  while ((name=it++))
5320
5320
  {
5321
5321
    if (table->s->keynames.type_names == 0 ||
5325
5325
    {
5326
5326
      my_error(ER_KEY_DOES_NOT_EXITS, MYF(0), name->c_ptr(),
5327
5327
               table->pos_in_table_list->alias);
5328
 
      map->set_all();
 
5328
      map->set();
5329
5329
      return 1;
5330
5330
    }
5331
 
    map->set_bit(pos-1);
 
5331
    map->set(pos-1);
5332
5332
  }
5333
5333
  return 0;
5334
5334
}
5432
5432
        field->table->setReadSet(field->field_index);
5433
5433
        if (table)
5434
5434
        {
5435
 
          table->covering_keys.intersect(field->part_of_key);
5436
 
          table->merge_keys.merge(field->part_of_key);
 
5435
          table->covering_keys&= field->part_of_key;
 
5436
          table->merge_keys|= field->part_of_key;
5437
5437
        }
5438
5438
        if (tables->is_natural_join)
5439
5439
        {
5450
5450
          if (field_table)
5451
5451
          {
5452
5452
            session->used_tables|= field_table->map;
5453
 
            field_table->covering_keys.intersect(field->part_of_key);
5454
 
            field_table->merge_keys.merge(field->part_of_key);
 
5453
            field_table->covering_keys&= field->part_of_key;
 
5454
            field_table->merge_keys|= field->part_of_key;
5455
5455
            field_table->used_fields++;
5456
5456
          }
5457
5457
        }