~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/sql_insert.cc

  • Committer: Brian Aker
  • Date: 2010-10-08 14:22:02 UTC
  • mfrom: (1802.16.21 bug621875)
  • mto: This revision was merged to the branch mainline in revision 1824.
  • Revision ID: brian@tangent.org-20101008142202-96maf31n9odkc13n
Merge Padraig

Show diffs side-by-side

added added

removed removed

Lines of Context:
168
168
      Unmark the timestamp field so that we can check if this is modified
169
169
      by update_fields
170
170
    */
171
 
    timestamp_mark= table->write_set->testAndClear(table->timestamp_field->field_index);
 
171
    timestamp_mark= table->write_set->test(table->timestamp_field->field_index);
 
172
    table->write_set->reset(table->timestamp_field->field_index);
172
173
  }
173
174
 
174
175
  /* Check the fields we are going to modify */
716
717
{
717
718
  int error;
718
719
  std::vector<unsigned char> key;
719
 
  MyBitmap *save_read_set, *save_write_set;
 
720
  boost::dynamic_bitset<> *save_read_set, *save_write_set;
720
721
  uint64_t prev_insert_id= table->cursor->next_insert_id;
721
722
  uint64_t insert_id_for_cur_row= 0;
722
723
 
819
820
            table->next_number_field->val_int());
820
821
        info->touched++;
821
822
        if ((table->cursor->getEngine()->check_flag(HTON_BIT_PARTIAL_COLUMN_READ) &&
822
 
             !bitmap_is_subset(table->write_set, table->read_set)) ||
 
823
            ! table->write_set->is_subset_of(*table->read_set)) ||
823
824
            table->compare_record())
824
825
        {
825
826
          if ((error=table->cursor->updateRecord(table->getUpdateRecord(),
910
911
    */
911
912
    if (table->read_set != save_read_set ||
912
913
        table->write_set != save_write_set)
913
 
      table->column_bitmaps_set(save_read_set, save_write_set);
 
914
      table->column_bitmaps_set(*save_read_set, *save_write_set);
914
915
  }
915
916
  else if ((error=table->cursor->insertRecord(table->getInsertRecord())))
916
917
  {
939
940
 
940
941
before_err:
941
942
  table->cursor->restore_auto_increment(prev_insert_id);
942
 
  table->column_bitmaps_set(save_read_set, save_write_set);
943
 
  return(1);
 
943
  table->column_bitmaps_set(*save_read_set, *save_write_set);
 
944
  return 1;
944
945
}
945
946
 
946
947