summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOleksandr Byelkin <sanja@mariadb.com>2023-04-12 15:08:23 +0200
committerOleksandr Byelkin <sanja@mariadb.com>2023-04-26 16:15:29 +0200
commit45d4f6b97b4811b1b7783dcd19526be1dbb196dc (patch)
tree3e8245d4abedecdbe9bd00e17673e5ece979fd75
parent348f4c9f3b9d7b2cb4aeff5f3b5c5d1b7291189a (diff)
downloadmariadb-git-45d4f6b97b4811b1b7783dcd19526be1dbb196dc.tar.gz
MDEV-30889: 2 - Allocation in TABLE_SHARE::init_from_sql_statement_string
Fix leack in TABLE_SHARE::init_from_sql_statement_string by removing uneeded switching arenas.
-rw-r--r--sql/table.cc15
1 files changed, 0 insertions, 15 deletions
diff --git a/sql/table.cc b/sql/table.cc
index d96e9248cd1..fd5334271be 100644
--- a/sql/table.cc
+++ b/sql/table.cc
@@ -3163,7 +3163,6 @@ int TABLE_SHARE::init_from_sql_statement_string(THD *thd, bool write,
char *sql_copy;
handler *file;
LEX *old_lex;
- Query_arena *arena, backup;
LEX tmp_lex;
KEY *unused1;
uint unused2;
@@ -3172,12 +3171,6 @@ int TABLE_SHARE::init_from_sql_statement_string(THD *thd, bool write,
LEX_CSTRING db_backup= thd->db;
DBUG_ENTER("TABLE_SHARE::init_from_sql_statement_string");
- /*
- Ouch. Parser may *change* the string it's working on.
- Currently (2013-02-26) it is used to permanently disable
- conditional comments.
- Anyway, let's copy the caller's string...
- */
if (!(sql_copy= thd->strmake(sql, sql_length)))
DBUG_RETURN(HA_ERR_OUT_OF_MEM);
@@ -3190,12 +3183,6 @@ int TABLE_SHARE::init_from_sql_statement_string(THD *thd, bool write,
old_lex= thd->lex;
thd->lex= &tmp_lex;
- arena= thd->stmt_arena;
- if (arena->is_conventional())
- arena= 0;
- else
- thd->set_n_backup_active_arena(arena, &backup);
-
thd->reset_db(&db);
lex_start(thd);
@@ -3230,8 +3217,6 @@ ret:
lex_end(thd->lex);
thd->reset_db(&db_backup);
thd->lex= old_lex;
- if (arena)
- thd->restore_active_arena(arena, &backup);
reenable_binlog(thd);
thd->variables.sql_mode= saved_mode;
thd->variables.character_set_client= old_cs;