1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

MDEV-32225 Test case from opt_tvc.test fails with statement memory protection

Memory for type holders of the columns of a table value constructor must
be allocated only once.

Approved by Oleksandr Byelkin <sanja@mariadb.com>
This commit is contained in:
Igor Babaev
2023-09-23 19:02:52 -07:00
parent 1ee0d09a2b
commit ab9b1461a0
2 changed files with 31 additions and 26 deletions

View File

@ -24,6 +24,7 @@ class Explain_query;
class Item_func_in;
class st_select_lex_unit;
typedef class st_select_lex SELECT_LEX;
class Type_holder;
/**
@class table_value_constr
@ -38,6 +39,7 @@ public:
List<List_item> lists_of_values;
select_result *result;
SELECT_LEX *select_lex;
Type_holder *type_holders;
enum { QEP_NOT_PRESENT_YET, QEP_AVAILABLE} have_query_plan;
@ -46,7 +48,7 @@ public:
table_value_constr(List<List_item> tvc_values, SELECT_LEX *sl,
ulonglong select_options_arg) :
lists_of_values(tvc_values), result(0), select_lex(sl),
lists_of_values(tvc_values), result(0), select_lex(sl), type_holders(0),
have_query_plan(QEP_NOT_PRESENT_YET), explain(0),
select_options(select_options_arg)
{ };