MCPcopy Create free account
hub / github.com/MariaDB/server / execute_server_runnable

Method execute_server_runnable

sql/sql_prepare.cc:4991–5027  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4989
4990
4991bool
4992Prepared_statement::execute_server_runnable(Server_runnable *server_runnable)
4993{
4994 Statement stmt_backup;
4995 bool error;
4996 Query_arena *save_stmt_arena= thd->stmt_arena;
4997 Reprepare_observer *save_reprepare_observer= thd->m_reprepare_observer;
4998 Item_change_list save_change_list;
4999
5000 thd->Item_change_list::move_elements_to(&save_change_list);
5001
5002 state= STMT_CONVENTIONAL_EXECUTION;
5003
5004 if (!(lex= new (mem_root) st_lex_local))
5005 return TRUE;
5006
5007 thd->set_n_backup_statement(this, &stmt_backup);
5008 thd->set_n_backup_active_arena(this, &stmt_backup);
5009
5010 thd->stmt_arena= this;
5011 thd->m_reprepare_observer= 0;
5012
5013 error= server_runnable->execute_server_code(thd);
5014
5015 thd->cleanup_after_query();
5016
5017 thd->m_reprepare_observer= save_reprepare_observer;
5018 thd->restore_active_arena(this, &stmt_backup);
5019 thd->restore_backup_statement(this, &stmt_backup);
5020 thd->stmt_arena= save_stmt_arena;
5021
5022 save_change_list.move_elements_to(thd);
5023
5024 /* Items and memory will freed in destructor */
5025
5026 return error;
5027}
5028
5029
5030/**

Callers 1

execute_directMethod · 0.80

Calls 7

execute_server_codeMethod · 0.80
restore_active_arenaMethod · 0.80
cleanup_after_queryMethod · 0.45
move_elements_toMethod · 0.45

Tested by

no test coverage detected