~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/sql_delete.cc

Merge of Jay

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
#include <drizzled/sql_parse.h>
26
26
#include <drizzled/sql_base.h>
27
27
#include <drizzled/lock.h>
 
28
#include "drizzled/probes.h"
28
29
 
29
30
/**
30
31
  Implement DELETE SQL word.
51
52
  Select_Lex   *select_lex= &session->lex->select_lex;
52
53
  Session::killed_state killed_status= Session::NOT_KILLED;
53
54
 
54
 
 
55
55
  if (session->openTablesLock(table_list))
 
56
  {
 
57
    DRIZZLE_DELETE_DONE(1, 0);
56
58
    return true;
 
59
  }
57
60
 
58
61
  table= table_list->table;
59
62
  assert(table);
162
165
    delete select;
163
166
    free_underlaid_joins(session, select_lex);
164
167
    session->row_count_func= 0;
165
 
    DRIZZLE_DELETE_END();
 
168
    DRIZZLE_DELETE_DONE(0, 0);
166
169
    session->my_ok((ha_rows) session->row_count_func);
167
170
    /*
168
171
      We don't need to call reset_auto_increment in this case, because
169
172
      mysql_truncate always gives a NULL conds argument, hence we never
170
173
      get here.
171
174
    */
172
 
    return(0);                          // Nothing to delete
 
175
    return 0; // Nothing to delete
173
176
  }
174
177
 
175
178
  /* If running in safe sql mode, don't allow updates without keys */
322
325
  assert(transactional_table || !deleted || session->transaction.stmt.modified_non_trans_table);
323
326
  free_underlaid_joins(session, select_lex);
324
327
 
325
 
  DRIZZLE_DELETE_END();
 
328
  DRIZZLE_DELETE_DONE((error >= 0 || session->is_error()), deleted);
326
329
  if (error < 0 || (session->lex->ignore && !session->is_fatal_error))
327
330
  {
328
331
    session->row_count_func= deleted;
329
332
    session->my_ok((ha_rows) session->row_count_func);
330
333
  }
331
 
  return(error >= 0 || session->is_error());
 
334
  return (error >= 0 || session->is_error());
332
335
 
333
336
err:
334
 
  DRIZZLE_DELETE_END();
335
 
  return(true);
 
337
  DRIZZLE_DELETE_DONE(1, 0);
 
338
  return true;
336
339
}
337
340
 
338
341