~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/sql_base.cc

Merge trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
2295
2295
        fields.
2296
2296
      */
2297
2297
      {
2298
 
        Select_Lex *current_sel= session->lex->current_select;
 
2298
        Select_Lex *current_sel= session->getLex()->current_select;
2299
2299
        Select_Lex *last_select= table_ref->select_lex;
2300
2300
        /*
2301
2301
          If the field was an outer referencee, mark all selects using this
3274
3274
  Item *item;
3275
3275
  List<Item>::iterator it(fields.begin());
3276
3276
 
3277
 
  session->lex->current_select->cur_pos_in_select_list= 0;
 
3277
  session->getLex()->current_select->cur_pos_in_select_list= 0;
3278
3278
  while (wild_num && (item= it++))
3279
3279
  {
3280
3280
    if (item->type() == Item::FIELD_ITEM &&
3284
3284
    {
3285
3285
      uint32_t elem= fields.elements;
3286
3286
      bool any_privileges= ((Item_field *) item)->any_privileges;
3287
 
      Item_subselect *subsel= session->lex->current_select->master_unit()->item;
 
3287
      Item_subselect *subsel= session->getLex()->current_select->master_unit()->item;
3288
3288
      if (subsel &&
3289
3289
          subsel->substype() == Item_subselect::EXISTS_SUBS)
3290
3290
      {
3315
3315
      wild_num--;
3316
3316
    }
3317
3317
    else
3318
 
      session->lex->current_select->cur_pos_in_select_list++;
 
3318
      session->getLex()->current_select->cur_pos_in_select_list++;
3319
3319
  }
3320
 
  session->lex->current_select->cur_pos_in_select_list= UNDEF_POS;
 
3320
  session->getLex()->current_select->cur_pos_in_select_list= UNDEF_POS;
3321
3321
 
3322
3322
  return 0;
3323
3323
}
3332
3332
{
3333
3333
  register Item *item;
3334
3334
  enum_mark_columns save_mark_used_columns= session->mark_used_columns;
3335
 
  nesting_map save_allow_sum_func= session->lex->allow_sum_func;
 
3335
  nesting_map save_allow_sum_func= session->getLex()->allow_sum_func;
3336
3336
  List<Item>::iterator it(fields.begin());
3337
3337
  bool save_is_item_list_lookup;
3338
3338
 
3339
3339
  session->mark_used_columns= mark_used_columns;
3340
3340
  if (allow_sum_func)
3341
 
    session->lex->allow_sum_func|= 1 << session->lex->current_select->nest_level;
 
3341
    session->getLex()->allow_sum_func|= 1 << session->getLex()->current_select->nest_level;
3342
3342
  session->setWhere(Session::DEFAULT_WHERE);
3343
 
  save_is_item_list_lookup= session->lex->current_select->is_item_list_lookup;
3344
 
  session->lex->current_select->is_item_list_lookup= 0;
 
3343
  save_is_item_list_lookup= session->getLex()->current_select->is_item_list_lookup;
 
3344
  session->getLex()->current_select->is_item_list_lookup= 0;
3345
3345
 
3346
3346
  /*
3347
3347
    To prevent fail on forward lookup we fill it with zerows,
3359
3359
  }
3360
3360
 
3361
3361
  Item **ref= ref_pointer_array;
3362
 
  session->lex->current_select->cur_pos_in_select_list= 0;
 
3362
  session->getLex()->current_select->cur_pos_in_select_list= 0;
3363
3363
  while ((item= it++))
3364
3364
  {
3365
3365
    if ((!item->fixed && item->fix_fields(session, it.ref())) || (item= *(it.ref()))->check_cols(1))
3366
3366
    {
3367
 
      session->lex->current_select->is_item_list_lookup= save_is_item_list_lookup;
3368
 
      session->lex->allow_sum_func= save_allow_sum_func;
 
3367
      session->getLex()->current_select->is_item_list_lookup= save_is_item_list_lookup;
 
3368
      session->getLex()->allow_sum_func= save_allow_sum_func;
3369
3369
      session->mark_used_columns= save_mark_used_columns;
3370
3370
      return true;
3371
3371
    }
3375
3375
        sum_func_list)
3376
3376
      item->split_sum_func(session, ref_pointer_array, *sum_func_list);
3377
3377
    session->used_tables|= item->used_tables();
3378
 
    session->lex->current_select->cur_pos_in_select_list++;
 
3378
    session->getLex()->current_select->cur_pos_in_select_list++;
3379
3379
  }
3380
 
  session->lex->current_select->is_item_list_lookup= save_is_item_list_lookup;
3381
 
  session->lex->current_select->cur_pos_in_select_list= UNDEF_POS;
 
3380
  session->getLex()->current_select->is_item_list_lookup= save_is_item_list_lookup;
 
3381
  session->getLex()->current_select->cur_pos_in_select_list= UNDEF_POS;
3382
3382
 
3383
 
  session->lex->allow_sum_func= save_allow_sum_func;
 
3383
  session->getLex()->allow_sum_func= save_allow_sum_func;
3384
3384
  session->mark_used_columns= save_mark_used_columns;
3385
3385
  return(test(session->is_error()));
3386
3386
}
3656
3656
        session->used_tables|= item->used_tables();
3657
3657
      }
3658
3658
 
3659
 
      session->lex->current_select->cur_pos_in_select_list++;
 
3659
      session->getLex()->current_select->cur_pos_in_select_list++;
3660
3660
    }
3661
3661
    /*
3662
3662
      In case of stored tables, all fields are considered as used,
3709
3709
int Session::setup_conds(TableList *leaves, COND **conds)
3710
3710
{
3711
3711
  Session *session= this;
3712
 
  Select_Lex *select_lex= session->lex->current_select;
 
3712
  Select_Lex *select_lex= session->getLex()->current_select;
3713
3713
  TableList *table= NULL;       // For HP compilers
3714
3714
  void *save_session_marker= session->session_marker;
3715
3715
  /*
3767
3767
  }
3768
3768
  session->session_marker= save_session_marker;
3769
3769
 
3770
 
  session->lex->current_select->is_item_list_lookup= save_is_item_list_lookup;
 
3770
  session->getLex()->current_select->is_item_list_lookup= save_is_item_list_lookup;
3771
3771
  return(test(session->is_error()));
3772
3772
 
3773
3773
err_no_arena: