~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/sql_base.cc

  • Committer: Lee Bieber
  • Date: 2010-12-09 19:40:05 UTC
  • mfrom: (1991.1.2 build)
  • Revision ID: kalebral@gmail.com-20101209194005-hpxailmc9afmvelh
Remove disabling of drizzleslap test
Merge Shrews - fix bug 683147: Large row affecting statements failing mid-transaction may not get undone properly by TransactionServices if part of multi-message Transaction

Show diffs side-by-side

added added

removed removed

Lines of Context:
1633
1633
     * table/schema information via error messages
1634
1634
     */
1635
1635
    TableIdentifier the_table(tables->getSchemaName(), tables->getTableName());
1636
 
    if (not plugin::Authorization::isAuthorized(user(), the_table))
 
1636
    if (not plugin::Authorization::isAuthorized(getSecurityContext(),
 
1637
                                                the_table))
1637
1638
    {
1638
1639
      result= -1;                               // Fatal error
1639
1640
      break;
1918
1919
      current_bitmap= table->write_set;
1919
1920
    }
1920
1921
 
1921
 
    //if (current_bitmap->testAndSet(field->position()))
1922
 
    if (current_bitmap->test(field->position()))
 
1922
    //if (current_bitmap->testAndSet(field->field_index))
 
1923
    if (current_bitmap->test(field->field_index))
1923
1924
    {
1924
1925
      if (session->mark_used_columns == MARK_COLUMNS_WRITE)
1925
1926
        session->dup_field= field;
2229
2230
      {
2230
2231
        Table *table= field_to_set->getTable();
2231
2232
        if (session->mark_used_columns == MARK_COLUMNS_READ)
2232
 
          table->setReadSet(field_to_set->position());
 
2233
          table->setReadSet(field_to_set->field_index);
2233
2234
        else
2234
 
          table->setWriteSet(field_to_set->position());
 
2235
          table->setWriteSet(field_to_set->field_index);
2235
2236
      }
2236
2237
    }
2237
2238
  }
2903
2904
      {
2904
2905
        Table *table_1= nj_col_1->table_ref->table;
2905
2906
        /* Mark field_1 used for table cache. */
2906
 
        table_1->setReadSet(field_1->position());
 
2907
        table_1->setReadSet(field_1->field_index);
2907
2908
        table_1->covering_keys&= field_1->part_of_key;
2908
2909
        table_1->merge_keys|= field_1->part_of_key;
2909
2910
      }
2911
2912
      {
2912
2913
        Table *table_2= nj_col_2->table_ref->table;
2913
2914
        /* Mark field_2 used for table cache. */
2914
 
        table_2->setReadSet(field_2->position());
 
2915
        table_2->setReadSet(field_2->field_index);
2915
2916
        table_2->covering_keys&= field_2->part_of_key;
2916
2917
        table_2->merge_keys|= field_2->part_of_key;
2917
2918
      }
3657
3658
      if ((field= field_iterator.field()))
3658
3659
      {
3659
3660
        /* Mark fields as used to allow storage engine to optimze access */
3660
 
        field->getTable()->setReadSet(field->position());
 
3661
        field->getTable()->setReadSet(field->field_index);
3661
3662
        if (table)
3662
3663
        {
3663
3664
          table->covering_keys&= field->part_of_key;