~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/sql_delete.cc

  • Committer: David Shrewsbury
  • Date: 2011-02-28 14:33:56 UTC
  • mfrom: (2207 bootstrap)
  • mto: (2208.1.3 build)
  • mto: This revision was merged to the branch mainline in revision 2209.
  • Revision ID: shrewsbury.dave@gmail.com-20110228143356-ws2m2tp7an44egkd
Merge with trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
56
56
  bool          const_cond_result;
57
57
  ha_rows       deleted= 0;
58
58
  uint32_t usable_index= MAX_KEY;
59
 
  Select_Lex   *select_lex= &session->lex->select_lex;
 
59
  Select_Lex   *select_lex= &session->getLex()->select_lex;
60
60
  Session::killed_state_t killed_status= Session::NOT_KILLED;
61
61
 
62
62
  if (session->openTablesLock(table_list))
92
92
                    fields, all_fields, (Order*) order->first))
93
93
      {
94
94
        delete select;
95
 
        free_underlaid_joins(session, &session->lex->select_lex);
 
95
        free_underlaid_joins(session, &session->getLex()->select_lex);
96
96
        DRIZZLE_DELETE_DONE(1, 0);
97
97
 
98
98
        return true;
101
101
 
102
102
  const_cond= (!conds || conds->const_item());
103
103
 
104
 
  select_lex->no_error= session->lex->ignore;
 
104
  select_lex->no_error= session->getLex()->ignore;
105
105
 
106
106
  const_cond_result= const_cond && (!conds || conds->val_int());
107
107
  if (session->is_error())
217
217
                                                    examined_rows)) == HA_POS_ERROR)
218
218
      {
219
219
        delete select;
220
 
        free_underlaid_joins(session, &session->lex->select_lex);
 
220
        free_underlaid_joins(session, &session->getLex()->select_lex);
221
221
 
222
222
        DRIZZLE_DELETE_DONE(1, 0);
223
223
        return true;
339
339
  free_underlaid_joins(session, select_lex);
340
340
 
341
341
  DRIZZLE_DELETE_DONE((error >= 0 || session->is_error()), deleted);
342
 
  if (error < 0 || (session->lex->ignore && !session->is_fatal_error))
 
342
  if (error < 0 || (session->getLex()->ignore && !session->is_fatal_error))
343
343
  {
344
344
    session->row_count_func= deleted;
345
345
    /**
370
370
*/
371
371
int prepare_delete(Session *session, TableList *table_list, Item **conds)
372
372
{
373
 
  Select_Lex *select_lex= &session->lex->select_lex;
 
373
  Select_Lex *select_lex= &session->getLex()->select_lex;
374
374
 
375
375
  List<Item> all_fields;
376
376
 
377
 
  session->lex->allow_sum_func= 0;
378
 
  if (setup_tables_and_check_access(session, &session->lex->select_lex.context,
379
 
                                    &session->lex->select_lex.top_join_list,
 
377
  session->getLex()->allow_sum_func= 0;
 
378
  if (setup_tables_and_check_access(session, &session->getLex()->select_lex.context,
 
379
                                    &session->getLex()->select_lex.top_join_list,
380
380
                                    table_list,
381
381
                                    &select_lex->leaf_tables, false) ||
382
382
      session->setup_conds(table_list, conds))
390
390
    }
391
391
  }
392
392
 
393
 
  if (select_lex->inner_refs_list.elements &&
 
393
  if (select_lex->inner_refs_list.size() &&
394
394
    fix_inner_refs(session, all_fields, select_lex, select_lex->ref_pointer_array))
395
395
    return(true);
396
396
 
415
415
  uint64_t save_options= session.options;
416
416
  table_list->lock_type= TL_WRITE;
417
417
  session.options&= ~(OPTION_BEGIN | OPTION_NOT_AUTOCOMMIT);
418
 
  init_select(session.lex);
 
418
  init_select(session.getLex());
419
419
  error= delete_query(&session, table_list, (COND*) 0, (SQL_LIST*) 0,
420
420
                      HA_POS_ERROR, 0L, true);
421
421
  /*