mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Fixes for Opensolaris (to get buildbot green)
- Fixed memory leaks in mysqldump - Fixed printf of NULL which caused crashes on OpenSolaris when using --debug - Fixed realloc() problem that caused out of memory when running mysqldump.test on OpenSolaris client/mysqldump.c: Fixed memory leaks Fixed printf of NULL which caused crashes on OpenSolaris when using --debug client/mysqltest.cc: Fixed printf of NULL which caused crashes on OpenSolaris when using --debug include/my_global.h: Added simple macro val_or_null() to simplify detecting of NULL strings for printf sql/handler.cc: Fixed printf of NULL which caused crashes on OpenSolaris when using --debug sql/sql_db.cc: Fixed printf of NULL which caused crashes on OpenSolaris when using --debug Removed testing of 'new_db_name' as this is guranteed never NULL sql/sql_show.cc: Fixed printf of NULL which caused crashes on OpenSolaris when using --debug storage/csv/ha_tina.cc: Fixed realloc() problem that caused out of memory when running mysqldump.test on OpenSolaris (OpenSolaris default malloc() can't handle a lot of reallocs() of strings that are growing one byte at a time) This did speed up logging to cvs with a magnitude for large strings.
This commit is contained in:
@ -1539,12 +1539,9 @@ bool mysql_change_db(THD *thd, const LEX_STRING *new_db_name, bool force_switch)
|
||||
Security_context *sctx= thd->security_ctx;
|
||||
ulong db_access= sctx->db_access;
|
||||
CHARSET_INFO *db_default_cl;
|
||||
|
||||
DBUG_ENTER("mysql_change_db");
|
||||
DBUG_PRINT("enter",("name: '%s'", new_db_name->str));
|
||||
|
||||
if (new_db_name == NULL ||
|
||||
new_db_name->length == 0)
|
||||
if (new_db_name->length == 0)
|
||||
{
|
||||
if (force_switch)
|
||||
{
|
||||
@ -1553,8 +1550,7 @@ bool mysql_change_db(THD *thd, const LEX_STRING *new_db_name, bool force_switch)
|
||||
after loading stored program. The thing is that loading of stored
|
||||
program can happen when there is no current database.
|
||||
|
||||
TODO: actually, new_db_name and new_db_name->str seem to be always
|
||||
non-NULL. In case of stored program, new_db_name->str == "" and
|
||||
In case of stored program, new_db_name->str == "" and
|
||||
new_db_name->length == 0.
|
||||
*/
|
||||
|
||||
@ -1569,6 +1565,7 @@ bool mysql_change_db(THD *thd, const LEX_STRING *new_db_name, bool force_switch)
|
||||
DBUG_RETURN(TRUE);
|
||||
}
|
||||
}
|
||||
DBUG_PRINT("enter",("name: '%s'", new_db_name->str));
|
||||
|
||||
if (is_schema_db(new_db_name->str, new_db_name->length))
|
||||
{
|
||||
|
Reference in New Issue
Block a user