• unknown's avatar
    WL#2486 - Natural/using join according to SQL:2003. · 4fd41f7c
    unknown authored
    Post-review fixes according to Monty's review.
    
    
    sql/item.h:
      Unite all code that stores and restores the state of a name resolution context
      into a class to represent the state, and methods to save/restore that
      state.
    sql/mysql_priv.h:
      Reorder parameters so that length is after the name of a field,
      and database is before table name.
    sql/sql_acl.cc:
      Reorder parameters so that length is after the name of a field,
      and database is before table name.
    sql/sql_base.cc:
      * Reorder parameters so that length is after the name of a field,
        and database is before table name.
      * Added new method - Field_iterator_table_ref::get_natural_column_ref
        to avoid unnecessary code when it is knwon that no new columns will
        be created when accessing natural join columns.
    sql/sql_insert.cc:
      Unite all code that stores and restores the state of a name resolution context
      into a class to represent the state, and methods to save/restore that
      state.
    sql/sql_lex.cc:
      Removed obsolete comment.
    sql/sql_lex.h:
      Return error from push_contex() if there is no memory.
    sql/sql_list.h:
      Extended base_list_iterator, List_iterator, and List_iterator_fast with an
      empty constructor, and init() methods, so that one doesn't have to construct
      a new iterator object every time one needs to iterate over a new list.
    sql/sql_parse.cc:
      Moved common functionality from the parser into one function, and renamed
      the function to better reflect what it does.
    sql/sql_yacc.yy:
      Moved common functionality from the parser into one function, and renamed
      the function to better reflect what it does.
    sql/table.cc:
      * Extended base_list_iterator, List_iterator, and List_iterator_fast with an
        empty constructor, and init() methods, so that one doesn't have to construct
        a new iterator object every time one needs to iterate over a new list.
      * Added new method Field_iterator_table_ref::get_natural_column_ref to be
        used in cases when it is known for sure that no new columns should be
        created.
    sql/table.h:
      - column_ref_it no longer allocated for each new list of columns
      - new method get_natural_join_column for faster/simpler access
        to natural join columns.
    4fd41f7c
sql_yacc.yy 231 KB