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 void Name_resolution_context_state::save_state(Name_resolution_context *context, TableList *table_list)
00029 {
00030 save_table_list= context->table_list;
00031 save_first_name_resolution_table= context->first_name_resolution_table;
00032 save_resolve_in_select_list= context->resolve_in_select_list;
00033 save_next_local= table_list->next_local;
00034 save_next_name_resolution_table= table_list->next_name_resolution_table;
00035 }
00036
00037 void Name_resolution_context_state::restore_state(Name_resolution_context *context, TableList *table_list) const
00038 {
00039 table_list->next_local= save_next_local;
00040 table_list->next_name_resolution_table= save_next_name_resolution_table;
00041 context->table_list= save_table_list;
00042 context->first_name_resolution_table= save_first_name_resolution_table;
00043 context->resolve_in_select_list= save_resolve_in_select_list;
00044 }
00045
00046 TableList *Name_resolution_context_state::get_first_name_resolution_table()
00047 {
00048 return save_first_name_resolution_table;
00049 }
00050
00051 }