~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/optimizer/range.cc

  • Committer: kalebral at gmail
  • Date: 2010-12-04 04:58:08 UTC
  • mto: (1971.1.2 build)
  • mto: This revision was merged to the branch mainline in revision 1972.
  • Revision ID: kalebral@gmail.com-20101204045808-acto22oxfg43m02e
a few more updates of files that did not have license or had incorrect license structure

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
2
 *  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3
3
 *
4
 
 *  Copyright (C) 2008-2009 Sun Microsystems, Inc.
 
4
 *  Copyright (C) 2008-2009 Sun Microsystems
5
5
 *
6
6
 *  This program is free software; you can redistribute it and/or modify
7
7
 *  it under the terms of the GNU General Public License as published by
111
111
 
112
112
#include <boost/dynamic_bitset.hpp>
113
113
 
114
 
#include "drizzled/check_stack_overrun.h"
 
114
#include "drizzled/sql_base.h"
 
115
#include "drizzled/sql_select.h"
115
116
#include "drizzled/error.h"
 
117
#include "drizzled/optimizer/cost_vector.h"
 
118
#include "drizzled/item/cmpfunc.h"
116
119
#include "drizzled/field/num.h"
117
 
#include "drizzled/internal/iocache.h"
118
 
#include "drizzled/internal/my_sys.h"
119
 
#include "drizzled/item/cmpfunc.h"
120
 
#include "drizzled/optimizer/cost_vector.h"
 
120
#include "drizzled/check_stack_overrun.h"
 
121
#include "drizzled/optimizer/sum.h"
 
122
#include "drizzled/optimizer/range.h"
 
123
#include "drizzled/optimizer/quick_range.h"
 
124
#include "drizzled/optimizer/quick_range_select.h"
121
125
#include "drizzled/optimizer/quick_group_min_max_select.h"
122
126
#include "drizzled/optimizer/quick_index_merge_select.h"
123
 
#include "drizzled/optimizer/quick_range.h"
124
 
#include "drizzled/optimizer/quick_range_select.h"
125
127
#include "drizzled/optimizer/quick_ror_intersect_select.h"
126
128
#include "drizzled/optimizer/quick_ror_union_select.h"
127
 
#include "drizzled/optimizer/range.h"
128
 
#include "drizzled/optimizer/range_param.h"
 
129
#include "drizzled/optimizer/table_read_plan.h"
129
130
#include "drizzled/optimizer/sel_arg.h"
130
131
#include "drizzled/optimizer/sel_imerge.h"
131
132
#include "drizzled/optimizer/sel_tree.h"
132
 
#include "drizzled/optimizer/sum.h"
133
 
#include "drizzled/optimizer/table_read_plan.h"
134
 
#include "drizzled/plugin/storage_engine.h"
 
133
#include "drizzled/optimizer/range_param.h"
135
134
#include "drizzled/records.h"
136
 
#include "drizzled/sql_base.h"
137
 
#include "drizzled/sql_select.h"
138
 
#include "drizzled/table_reference.h"
 
135
#include "drizzled/internal/my_sys.h"
 
136
#include "drizzled/internal/iocache.h"
139
137
 
140
138
#include "drizzled/temporal.h" /* Needed in get_mm_leaf() for timestamp -> datetime comparisons */
141
139
 
350
348
  {
351
349
    return 0;
352
350
  }
353
 
  if (! (select= new optimizer::SqlSelect()))
 
351
  if (! (select= new optimizer::SqlSelect))
354
352
  {
355
353
    *error= 1;                  // out of memory
356
354
    return 0;
3259
3257
 
3260
3258
#define CLONE_KEY1_MAYBE 1
3261
3259
#define CLONE_KEY2_MAYBE 2
 
3260
#define swap_clone_flag(A) ((A & 1) << 1) | ((A & 2) >> 1)
3262
3261
 
3263
 
static uint32_t swap_clone_flag(uint32_t a)
3264
 
{
3265
 
  return ((a & 1) << 1) | ((a & 2) >> 1);
3266
 
}
3267
3262
 
3268
3263
static optimizer::SEL_TREE *
3269
3264
tree_and(optimizer::RangeParameter *param, optimizer::SEL_TREE *tree1, optimizer::SEL_TREE *tree2)