~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/item/subselect.cc

Merged from fix-headers.

Show diffs side-by-side

added added

removed removed

Lines of Context:
26
26
#include <drizzled/server_includes.h>
27
27
#include <drizzled/sql_select.h>
28
28
#include <drizzled/error.h>
 
29
#include <drizzled/item/subselect.h>
 
30
#include <drizzled/item/cmpfunc.h>
29
31
 
30
32
inline Item * and_items(Item* cond, Item *item)
31
33
{
943
945
 
944
946
Item_subselect::trans_res
945
947
Item_in_subselect::single_value_transformer(JOIN *join,
946
 
                                            Comp_creator *func)
 
948
                                            const Comp_creator *func)
947
949
{
948
950
  SELECT_LEX *select_lex= join->select_lex;
949
951
 
1124
1126
*/
1125
1127
 
1126
1128
Item_subselect::trans_res
1127
 
Item_in_subselect::single_value_in_to_exists_transformer(JOIN * join, Comp_creator *func)
 
1129
Item_in_subselect::single_value_in_to_exists_transformer(JOIN * join, const Comp_creator *func)
1128
1130
{
1129
1131
  SELECT_LEX *select_lex= join->select_lex;
1130
1132
 
1577
1579
Item_subselect::trans_res
1578
1580
Item_in_subselect::select_transformer(JOIN *join)
1579
1581
{
1580
 
  return select_in_like_transformer(join, &eq_creator);
 
1582
  return select_in_like_transformer(join, Eq_creator::instance());
1581
1583
}
1582
1584
 
1583
1585
 
1603
1605
*/
1604
1606
 
1605
1607
Item_subselect::trans_res
1606
 
Item_in_subselect::select_in_like_transformer(JOIN *join, Comp_creator *func)
 
1608
Item_in_subselect::select_in_like_transformer(JOIN *join, const Comp_creator *func)
1607
1609
{
1608
1610
  SELECT_LEX *current= session->lex->current_select, *up;
1609
1611
  const char *save_where= session->where;
1669
1671
  else
1670
1672
  {
1671
1673
    /* we do not support row operation for ALL/ANY/SOME */
1672
 
    if (func != &eq_creator)
 
1674
    if (func != Eq_creator::instance())
1673
1675
    {
1674
1676
      my_error(ER_OPERAND_COLUMNS, MYF(0), 1);
1675
1677
      return(RES_ERROR);
1757
1759
      exec_method= NOT_TRANSFORMED;
1758
1760
      if (left_expr->cols() == 1)
1759
1761
        trans_res= single_value_in_to_exists_transformer(old_engine->join,
1760
 
                                                         &eq_creator);
 
1762
                                                         Eq_creator::instance());
1761
1763
      else
1762
1764
        trans_res= row_value_in_to_exists_transformer(old_engine->join);
1763
1765
      res= (trans_res != Item_subselect::RES_OK);