~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/sql_union.cc

  • Committer: Brian Aker
  • Date: 2009-02-07 22:33:25 UTC
  • Revision ID: brian@tangent.org-20090207223325-5ipgldvw1pkghboq
typdef class removal (just... use the name of the class).

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
#include <drizzled/sql_base.h>
25
25
 
26
26
bool mysql_union(Session *session, LEX *, select_result *result,
27
 
                 Select_Lex_UNIT *unit, ulong setup_tables_done_option)
 
27
                 Select_Lex_Unit *unit, ulong setup_tables_done_option)
28
28
{
29
29
  bool res;
30
30
  if (!(res= unit->prepare(session, result, SELECT_NO_UNLOCK |
40
40
** store records in temporary table for UNION
41
41
***************************************************************************/
42
42
 
43
 
int select_union::prepare(List<Item> &, Select_Lex_UNIT *u)
 
43
int select_union::prepare(List<Item> &, Select_Lex_Unit *u)
44
44
{
45
45
  unit= u;
46
46
  return 0;
152
152
  initialization procedures before fake_select_lex preparation()
153
153
 
154
154
  SYNOPSIS
155
 
    Select_Lex_unit::init_prepare_fake_select_lex()
 
155
    Select_Lex_Unit::init_prepare_fake_select_lex()
156
156
    session             - thread handler
157
157
 
158
158
  RETURN
160
160
*/
161
161
 
162
162
void
163
 
Select_Lex_unit::init_prepare_fake_select_lex(Session *session_arg)
 
163
Select_Lex_Unit::init_prepare_fake_select_lex(Session *session_arg)
164
164
{
165
165
  session_arg->lex->current_select= fake_select_lex;
166
166
  fake_select_lex->table_list.link_in_list((unsigned char *)&result_table_list,
185
185
}
186
186
 
187
187
 
188
 
bool Select_Lex_unit::prepare(Session *session_arg, select_result *sel_result,
 
188
bool Select_Lex_Unit::prepare(Session *session_arg, select_result *sel_result,
189
189
                                 uint32_t additional_options)
190
190
{
191
191
  Select_Lex *lex_select_save= session_arg->lex->current_select;
388
388
}
389
389
 
390
390
 
391
 
bool Select_Lex_unit::exec()
 
391
bool Select_Lex_Unit::exec()
392
392
{
393
393
  Select_Lex *lex_select_save= session->lex->current_select;
394
394
  Select_Lex *select_cursor=first_select();
592
592
}
593
593
 
594
594
 
595
 
bool Select_Lex_unit::cleanup()
 
595
bool Select_Lex_Unit::cleanup()
596
596
{
597
597
  int error= 0;
598
598
 
635
635
}
636
636
 
637
637
 
638
 
void Select_Lex_unit::reinit_exec_mechanism()
 
638
void Select_Lex_Unit::reinit_exec_mechanism()
639
639
{
640
640
  prepared= optimized= executed= 0;
641
641
}
645
645
  change select_result object of unit
646
646
 
647
647
  SYNOPSIS
648
 
    Select_Lex_unit::change_result()
 
648
    Select_Lex_Unit::change_result()
649
649
    result      new select_result object
650
650
    old_result  old select_result object
651
651
 
654
654
    true  - error
655
655
*/
656
656
 
657
 
bool Select_Lex_unit::change_result(select_result_interceptor *new_result,
 
657
bool Select_Lex_Unit::change_result(select_result_interceptor *new_result,
658
658
                                       select_result_interceptor *old_result)
659
659
{
660
660
  bool res= false;
673
673
  Get column type information for this unit.
674
674
 
675
675
  SYNOPSIS
676
 
    Select_Lex_unit::get_unit_column_types()
 
676
    Select_Lex_Unit::get_unit_column_types()
677
677
 
678
678
  DESCRIPTION
679
679
    For a single-select the column types are taken
680
680
    from the list of selected items. For a union this function
681
 
    assumes that Select_Lex_unit::prepare has been called
 
681
    assumes that Select_Lex_Unit::prepare has been called
682
682
    and returns the type holders that were created for unioned
683
683
    column types of all selects.
684
684
 
685
685
  NOTES
686
686
    The implementation of this function should be in sync with
687
 
    Select_Lex_unit::prepare()
 
687
    Select_Lex_Unit::prepare()
688
688
*/
689
689
 
690
 
List<Item> *Select_Lex_unit::get_unit_column_types()
 
690
List<Item> *Select_Lex_Unit::get_unit_column_types()
691
691
{
692
692
  Select_Lex *sl= first_select();
693
693
 
712
712
    delete join;
713
713
    join= 0;
714
714
  }
715
 
  for (Select_Lex_UNIT *lex_unit= first_inner_unit(); lex_unit ;
 
715
  for (Select_Lex_Unit *lex_unit= first_inner_unit(); lex_unit ;
716
716
       lex_unit= lex_unit->next_unit())
717
717
  {
718
718
    error= (bool) ((uint) error | (uint) lex_unit->cleanup());
725
725
 
726
726
void Select_Lex::cleanup_all_joins(bool full)
727
727
{
728
 
  Select_Lex_UNIT *unit;
 
728
  Select_Lex_Unit *unit;
729
729
  Select_Lex *sl;
730
730
 
731
731
  if (join)