~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/sql_delete.cc

  • Committer: Brian Aker
  • Date: 2009-12-06 01:55:53 UTC
  • mfrom: (1238.1.5 push)
  • Revision ID: brian@gaz-20091206015553-cva833q4gvwj11ob
Bundle for staging.

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
 
19
19
  Multi-table deletes were introduced by Monty and Sinisa
20
20
*/
21
 
#include <drizzled/server_includes.h>
22
 
#include <drizzled/sql_select.h>
23
 
#include <drizzled/error.h>
24
 
#include <drizzled/probes.h>
25
 
#include <drizzled/sql_parse.h>
26
 
#include <drizzled/sql_base.h>
27
 
#include <drizzled/lock.h>
28
 
#include "drizzled/probes.h"
 
21
#include "drizzled/server_includes.h"
 
22
#include "drizzled/sql_select.h"
 
23
#include "drizzled/error.h"
 
24
#include "drizzled/probes.h"
 
25
#include "drizzled/sql_parse.h"
 
26
#include "drizzled/sql_base.h"
 
27
#include "drizzled/lock.h"
 
28
#include "drizzled/probes.h"
 
29
#include "drizzled/optimizer/range.h"
 
30
#include "drizzled/records.h"
29
31
 
30
32
using namespace drizzled;
31
33
 
43
45
{
44
46
  int           error;
45
47
  Table         *table;
46
 
  SQL_SELECT    *select=0;
 
48
  optimizer::SQL_SELECT *select= NULL;
47
49
  READ_RECORD   info;
48
50
  bool          using_limit=limit != HA_POS_ERROR;
49
51
  bool          transactional_table, const_cond;
151
153
 
152
154
  table->covering_keys.reset();
153
155
  table->quick_keys.reset();            // Can't use 'only index'
154
 
  select=make_select(table, 0, 0, conds, 0, &error);
 
156
  select= optimizer::make_select(table, 0, 0, conds, 0, &error);
155
157
  if (error)
156
158
    goto err;
157
159
  if ((select && select->check_quick(session, false, limit)) || !limit)
187
189
    ha_rows examined_rows;
188
190
 
189
191
    if ((!select || table->quick_keys.none()) && limit != HA_POS_ERROR)
190
 
      usable_index= get_index_for_order(table, (order_st*)(order->first), limit);
 
192
      usable_index= optimizer::get_index_for_order(table, (order_st*)(order->first), limit);
191
193
 
192
194
    if (usable_index == MAX_KEY)
193
195
    {