~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/name_resolution_context.h

  • Committer: Brian Aker
  • Date: 2009-02-07 22:02:41 UTC
  • Revision ID: brian@tangent.org-20090207220241-ez3828o1246ab2sp
Removing on typedeffed class.

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
class TableList;
24
24
class Security_context;
25
25
class Session;
26
 
class st_select_lex;
 
26
class Select_Lex;
27
27
 
28
28
/*
29
29
  Instances of Name_resolution_context store the information necesary for
30
30
  name resolution of Items and other context analysis of a query made in
31
31
  fix_fields().
32
32
 
33
 
  This structure is a part of SELECT_LEX, a pointer to this structure is
 
33
  This structure is a part of Select_Lex, a pointer to this structure is
34
34
  assigned when an item is created (which happens mostly during  parsing
35
35
  (sql_yacc.yy)), but the structure itself will be initialized after parsing
36
36
  is complete
37
37
 
38
38
  TODO: move subquery of INSERT ... SELECT and CREATE ... SELECT to
39
 
  separate SELECT_LEX which allow to remove tricks of changing this
 
39
  separate Select_Lex which allow to remove tricks of changing this
40
40
  structure before and after INSERT/CREATE and its SELECT to make correct
41
41
  field name resolution.
42
42
*/
54
54
    List of tables used to resolve the items of this context.  Usually these
55
55
    are tables from the FROM clause of SELECT statement.  The exceptions are
56
56
    INSERT ... SELECT and CREATE ... SELECT statements, where SELECT
57
 
    subquery is not moved to a separate SELECT_LEX.  For these types of
 
57
    subquery is not moved to a separate Select_Lex.  For these types of
58
58
    statements we have to change this member dynamically to ensure correct
59
59
    name resolution of different parts of the statement.
60
60
  */
74
74
  TableList *last_name_resolution_table;
75
75
 
76
76
  /*
77
 
    SELECT_LEX item belong to, in case of merged VIEW it can differ from
78
 
    SELECT_LEX where item was created, so we can't use table_list/field_list
 
77
    Select_Lex item belong to, in case of merged VIEW it can differ from
 
78
    Select_Lex where item was created, so we can't use table_list/field_list
79
79
    from there
80
80
  */
81
 
  st_select_lex *select_lex;
 
81
  Select_Lex *select_lex;
82
82
 
83
83
  /*
84
84
    Processor of errors caused during Item name resolving, now used only to