~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/sql_delete.cc

* Renames Ha_trx_info to drizzled::ResourceContext
* Renames Sesssion_TRANS to drizzled::TransactionContext
* Replaces homegrown linked-lists of Ha_trx_info pointers
  with vector<drizzled::ResourceContext> operations
* Renames Session::getEngineInfo() to Session::getResourceContext()

Show diffs side-by-side

added added

removed removed

Lines of Context:
31
31
#include "drizzled/internal/iocache.h"
32
32
#include "drizzled/transaction_services.h"
33
33
 
34
 
namespace drizzled
35
 
{
 
34
using namespace drizzled;
36
35
 
37
36
/**
38
37
  Implement DELETE SQL word.
196
195
 
197
196
    if (usable_index == MAX_KEY)
198
197
    {
199
 
      table->sort.io_cache= new internal::IO_CACHE;
200
 
      memset(table->sort.io_cache, 0, sizeof(internal::IO_CACHE));
 
198
      table->sort.io_cache= new IO_CACHE;
 
199
      memset(table->sort.io_cache, 0, sizeof(IO_CACHE));
201
200
 
202
201
 
203
202
      if (!(sortorder= make_unireg_sortorder((order_st*) order->first,
299
298
  transactional_table= table->cursor->has_transactions();
300
299
 
301
300
  if (!transactional_table && deleted > 0)
302
 
    session->transaction.stmt.markModifiedNonTransData();
 
301
    session->transaction.stmt.modified_non_trans_table= true;
303
302
 
304
303
  /* See similar binlogging code in sql_update.cc, for comments */
305
 
  if ((error < 0) || session->transaction.stmt.hasModifiedNonTransData())
 
304
  if ((error < 0) || session->transaction.stmt.modified_non_trans_table)
306
305
  {
307
 
    if (session->transaction.stmt.hasModifiedNonTransData())
308
 
      session->transaction.all.markModifiedNonTransData();
 
306
    if (session->transaction.stmt.modified_non_trans_table)
 
307
      session->transaction.all.modified_non_trans_table= true;
309
308
  }
310
 
  assert(transactional_table || !deleted || session->transaction.stmt.hasModifiedNonTransData());
 
309
  assert(transactional_table || !deleted || session->transaction.stmt.modified_non_trans_table);
311
310
  free_underlaid_joins(session, select_lex);
312
311
 
313
312
  DRIZZLE_DELETE_DONE((error >= 0 || session->is_error()), deleted);
401
400
 
402
401
  return error;
403
402
}
404
 
 
405
 
} /* namespace drizzled */