mirror of
https://github.com/MariaDB/server.git
synced 2026-04-29 11:45:32 +02:00
Fixed various memory leaks.
sql/sp.cc: Fixed memory leaks. Deletion of sps now in sp_cache. sql/sp_cache.cc: Fixed memory leaks. Use implicit delete of objects to make sure they're always freed. sql/sp_cache.h: Fixed memory leaks. Use implicit delete of objects to make sure they're always freed. sql/sp_head.cc: Fixed memory leaks. Make sure we use the right mem_root during parsing. sql/sp_head.h: Fixed memory leaks. Make sure we use the right mem_root during parsing. sql/sql_parse.cc: Fixed memory leaks. Don't forget to free the temporary object created at definition. sql/sql_yacc.yy: Fixed memory leaks. Make sure we use the right mem_root during parsing.
This commit is contained in:
parent
a6f85eeac1
commit
1d77c0412e
7 changed files with 42 additions and 34 deletions
|
|
@ -37,8 +37,8 @@ void sp_cache_insert(sp_cache **cp, sp_head *sp);
|
|||
/* Lookup an SP in cache */
|
||||
sp_head *sp_cache_lookup(sp_cache **cp, char *name, uint namelen);
|
||||
|
||||
/* Remove an SP from cache */
|
||||
sp_head *sp_cache_remove(sp_cache **cp, char *name, uint namelen);
|
||||
/* Remove an SP from cache. Returns true if something was removed */
|
||||
bool sp_cache_remove(sp_cache **cp, char *name, uint namelen);
|
||||
|
||||
|
||||
/*
|
||||
|
|
@ -75,14 +75,17 @@ public:
|
|||
return (sp_head *)hash_search(&m_hashtable, (const byte *)name, namelen);
|
||||
}
|
||||
|
||||
inline sp_head *
|
||||
inline bool
|
||||
remove(char *name, uint namelen)
|
||||
{
|
||||
sp_head *sp= lookup(name, namelen);
|
||||
|
||||
if (sp)
|
||||
{
|
||||
hash_delete(&m_hashtable, (byte *)sp);
|
||||
return sp;
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
inline void
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue