24#ifndef SP_INSTR_INLINE_INCLUDED
25#define SP_INSTR_INLINE_INCLUDED
28#include <unordered_set>
84 THD *thd,
sp_head *sp, std::unordered_set<sp_head *> &used_sp_functions);
113 std::string &err_reason);
Base class that is used to represent any kind of expression in a relational query.
Definition: item.h:928
A typesafe replacement for DYNAMIC_ARRAY.
Definition: mem_root_array.h:432
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:36
sp_head represents one instance of a stored program.
Definition: sp_head.h:389
Base class for every SP-instruction.
Definition: sp_instr.h:105
The class represents parse-time context, which keeps track of declared variables/parameters,...
Definition: sp_pcontext.h:252
Some integer typedefs for easier portability.
Definition: sp_instr_inline.cc:42
void report_stored_function_inlining_error(THD *thd, const char *func_name, std::string &err_reason)
Finalizes the error message for stored function inlining and reports the error.
Definition: sp_instr_inline.cc:1283
Mem_root_array< sp_inline_instr * > * prepare(THD *thd, sp_head *sp, std::unordered_set< sp_head * > &used_sp_functions)
Creates the list of prepared instructions.
Definition: sp_instr_inline.cc:1434
Item * inline_stored_function(THD *thd, Mem_root_array< sp_inline_instr * > *prepared_instructions, Item **sp_args, uint sp_arg_count, sp_head *sp_head, Name_resolution_context *sp_name_resolution_ctx)
Inlines the given stored function instructions into a single Item.
Definition: sp_instr_inline.cc:1508
bool needs_stored_function_inlining(THD *thd)
Main functions for stored function inlining.
Definition: sp_instr_inline.cc:1303
bool can_inline_stored_function(THD *thd, sp_head *sp, uint sp_arg_count)
Checks if general stored function properties are eligible for inlining.
Definition: sp_instr_inline.cc:1308
Instances of Name_resolution_context store the information necessary for name resolution of Items and...
Definition: item.h:413