~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/csv/ha_tina.cc

  • Committer: Brian Aker
  • Date: 2010-10-22 23:33:58 UTC
  • mfrom: (1869.1.7 refactor)
  • Revision ID: brian@tangent.org-20101022233358-kmtrpm1yvmmyaame
Merge in overhaul to how cursor and table are handled. Cursor now only knows
about table, and will always have a table and engine reference.

This cleans up a number of ownership issues, the biggest being that it now
creates the space needed for the next big refactor in locks.

Show diffs side-by-side

added added

removed removed

Lines of Context:
112
112
    pthread_mutex_destroy(&tina_mutex);
113
113
  }
114
114
 
115
 
  virtual Cursor *create(TableShare &table)
 
115
  virtual Cursor *create(Table &table)
116
116
  {
117
117
    return new ha_tina(*this, table);
118
118
  }
279
279
{
280
280
  pthread_mutex_lock(&tina_mutex);
281
281
 
282
 
  Tina *a_tina= static_cast<Tina *>(engine);
 
282
  Tina *a_tina= static_cast<Tina *>(getEngine());
283
283
  share= a_tina->findOpenTable(table_name);
284
284
 
285
285
  std::string meta_file_name;
481
481
      share->tina_write_opened= false;
482
482
    }
483
483
 
484
 
    Tina *a_tina= static_cast<Tina *>(engine);
 
484
    Tina *a_tina= static_cast<Tina *>(getEngine());
485
485
    a_tina->deleteOpenTable(share->table_name);
486
486
    delete share;
487
487
  }
530
530
 
531
531
 
532
532
 
533
 
ha_tina::ha_tina(drizzled::plugin::StorageEngine &engine_arg, TableShare &table_arg)
 
533
ha_tina::ha_tina(drizzled::plugin::StorageEngine &engine_arg, Table &table_arg)
534
534
  :Cursor(engine_arg, table_arg),
535
535
  /*
536
536
    These definitions are found in Cursor.h
557
557
 
558
558
  buffer.length(0);
559
559
 
560
 
  for (Field **field= table->getFields() ; *field ; field++)
 
560
  for (Field **field= getTable()->getFields() ; *field ; field++)
561
561
  {
562
562
    const char *ptr;
563
563
    const char *end_ptr;
675
675
 
676
676
  error= HA_ERR_CRASHED_ON_USAGE;
677
677
 
678
 
  memset(buf, 0, table->getShare()->null_bytes);
 
678
  memset(buf, 0, getTable()->getShare()->null_bytes);
679
679
 
680
 
  for (Field **field=table->getFields() ; *field ; field++)
 
680
  for (Field **field= getTable()->getFields() ; *field ; field++)
681
681
  {
682
682
    char curr_char;
683
683