00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include <config.h>
00021 #include <drizzled/name_resolution_context.h>
00022
00023 #include <drizzled/name_resolution_context_state.h>
00024 #include <drizzled/table_list.h>
00025
00026 namespace drizzled
00027 {
00028
00029 void
00030 Name_resolution_context_state::save_state(Name_resolution_context *context,
00031 TableList *table_list)
00032 {
00033 save_table_list= context->table_list;
00034 save_first_name_resolution_table= context->first_name_resolution_table;
00035 save_resolve_in_select_list= context->resolve_in_select_list;
00036 save_next_local= table_list->next_local;
00037 save_next_name_resolution_table= table_list->next_name_resolution_table;
00038 }
00039
00040 void
00041 Name_resolution_context_state::restore_state(Name_resolution_context *context,
00042 TableList *table_list)
00043 {
00044 table_list->next_local= save_next_local;
00045 table_list->next_name_resolution_table= save_next_name_resolution_table;
00046 context->table_list= save_table_list;
00047 context->first_name_resolution_table= save_first_name_resolution_table;
00048 context->resolve_in_select_list= save_resolve_in_select_list;
00049 }
00050
00051
00052 TableList *Name_resolution_context_state::get_first_name_resolution_table()
00053 {
00054 return save_first_name_resolution_table;
00055 }
00056
00057 }