1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

Merge 11.4 into 11.8

This commit is contained in:
Marko Mäkelä
2025-03-05 20:39:47 +02:00
177 changed files with 5360 additions and 2623 deletions

View File

@ -4081,6 +4081,9 @@ public:
sp_rcontext *spcont; // SP runtime context
sp_rcontext *get_rcontext(const sp_rcontext_addr &addr);
Item_field *get_variable(const sp_rcontext_addr &addr);
/** number of name_const() substitutions, see sp_head.cc:subst_spvars() */
uint query_name_consts;
@ -6480,10 +6483,11 @@ private:
/// FETCH <cname> INTO <varlist>.
class Select_fetch_into_spvars: public select_result_interceptor
{
List<sp_variable> *spvar_list;
List<sp_fetch_target> *m_fetch_target_list;
uint field_count;
bool m_view_structure_only;
bool send_data_to_variable_list(List<sp_variable> &vars, List<Item> &items);
bool send_data_to_variable_list(List<sp_fetch_target> &vars,
List<Item> &items);
public:
Select_fetch_into_spvars(THD *thd_arg, bool view_structure_only)
:select_result_interceptor(thd_arg),
@ -6492,11 +6496,14 @@ private:
void reset(THD *thd_arg)
{
select_result_interceptor::reinit(thd_arg);
spvar_list= NULL;
m_fetch_target_list= NULL;
field_count= 0;
}
uint get_field_count() { return field_count; }
void set_spvar_list(List<sp_variable> *vars) { spvar_list= vars; }
void set_spvar_list(List<sp_fetch_target> *vars)
{
m_fetch_target_list= vars;
}
bool send_eof() override { return FALSE; }
int send_data(List<Item> &items) override;
@ -6526,7 +6533,7 @@ public:
my_bool is_open()
{ return MY_TEST(server_side_cursor); }
int fetch(THD *, List<sp_variable> *vars, bool error_on_no_data);
int fetch(THD *, List<sp_fetch_target> *vars, bool error_on_no_data);
bool export_structure(THD *thd, Row_definition_list *list);