~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/statement/alter_table.cc

  • Committer: Brian Aker
  • Date: 2011-02-18 16:48:57 UTC
  • mfrom: (2180.1.3 drizzle-staging)
  • Revision ID: brian@tangent.org-20110218164857-4n61en8wai9c91gi
Rollup all of Olaf's branch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
255
255
  List<CreateField> new_create_list;
256
256
  /* New key definitions are added here */
257
257
  List<Key> new_key_list;
258
 
  List_iterator<AlterDrop> drop_it(alter_info->drop_list);
259
 
  List_iterator<CreateField> def_it(alter_info->create_list);
260
 
  List_iterator<AlterColumn> alter_it(alter_info->alter_list);
261
 
  List_iterator<Key> key_it(alter_info->key_list);
262
 
  List_iterator<CreateField> find_it(new_create_list);
263
 
  List_iterator<CreateField> field_it(new_create_list);
 
258
  List<AlterDrop>::iterator drop_it(alter_info->drop_list);
 
259
  List<CreateField>::iterator def_it(alter_info->create_list);
 
260
  List<AlterColumn>::iterator alter_it(alter_info->alter_list);
 
261
  List<Key>::iterator key_it(alter_info->key_list);
 
262
  List<CreateField>::iterator find_it(new_create_list);
 
263
  List<CreateField>::iterator field_it(new_create_list);
264
264
  List<Key_part_spec> key_parts;
265
265
  uint32_t used_fields= create_info->used_fields;
266
266
  KeyInfo *key_info= table->key_info;
291
291
  {
292
292
    /* Check if field should be dropped */
293
293
    AlterDrop *drop;
294
 
    drop_it.rewind();
 
294
    drop_it= alter_info->drop_list;
295
295
    while ((drop= drop_it++))
296
296
    {
297
297
      if (drop->type == AlterDrop::COLUMN &&
318
318
    field->setReadSet();
319
319
 
320
320
    /* Check if field is changed */
321
 
    def_it.rewind();
 
321
    def_it= alter_info->create_list;
322
322
    while ((def= def_it++))
323
323
    {
324
324
      if (def->change &&
344
344
      */
345
345
      def= new CreateField(field, field);
346
346
      new_create_list.push_back(def);
347
 
      alter_it.rewind(); /* Change default if ALTER */
 
347
      alter_it= alter_info->alter_list; /* Change default if ALTER */
348
348
      AlterColumn *alter;
349
349
 
350
350
      while ((alter= alter_it++))
375
375
    }
376
376
  }
377
377
 
378
 
  def_it.rewind();
 
378
  def_it= alter_info->create_list;
379
379
  while ((def= def_it++)) /* Add new columns */
380
380
  {
381
381
    if (def->change && ! def->field)
401
401
    else
402
402
    {
403
403
      CreateField *find;
404
 
      find_it.rewind();
 
404
      find_it= new_create_list;
405
405
 
406
406
      while ((find= find_it++)) /* Add new columns */
407
407
      {
463
463
    char *key_name= key_info->name;
464
464
    AlterDrop *drop;
465
465
 
466
 
    drop_it.rewind();
 
466
    drop_it= alter_info->drop_list;
467
467
    while ((drop= drop_it++))
468
468
    {
469
469
      if (drop->type == AlterDrop::KEY &&
478
478
    }
479
479
 
480
480
    KeyPartInfo *key_part= key_info->key_part;
481
 
    key_parts.empty();
 
481
    key_parts.clear();
482
482
    for (uint32_t j= 0; j < key_info->key_parts; j++, key_part++)
483
483
    {
484
484
      if (! key_part->field)
486
486
 
487
487
      const char *key_part_name= key_part->field->field_name;
488
488
      CreateField *cfield;
489
 
      field_it.rewind();
 
489
      field_it= new_create_list;
490
490
      while ((cfield= field_it++))
491
491
      {
492
492
        if (cfield->change)
568
568
  for (int32_t j= 0; j < original_proto.fk_constraint_size(); j++)
569
569
  {
570
570
    AlterDrop *drop;
571
 
    drop_it.rewind();
 
571
    drop_it= alter_info->drop_list;
572
572
    while ((drop= drop_it++))
573
573
    {
574
574
      if (drop->type == AlterDrop::FOREIGN_KEY &&
1487
1487
  from->cursor->info(HA_STATUS_VARIABLE | HA_STATUS_NO_LOCK);
1488
1488
  to->cursor->ha_start_bulk_insert(from->cursor->stats.records);
1489
1489
 
1490
 
  List_iterator<CreateField> it(create);
 
1490
  List<CreateField>::iterator it(create);
1491
1491
  CreateField *def;
1492
1492
  copy_end= copy;
1493
1493
  for (Field **ptr= to->getFields(); *ptr ; ptr++)