~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/innobase/include/dict0mem.h

  • Committer: Stewart Smith
  • Author(s): Vasil Dimov
  • Date: 2010-11-17 05:01:55 UTC
  • mto: (2021.1.2 build)
  • mto: This revision was merged to the branch mainline in revision 1971.
  • Revision ID: stewart@flamingspork.com-20101117050155-yj8coqr9wa9yvhd8
Merge Revision revid:vasil.dimov@oracle.com-20100622163043-dc0lxy0byg74viet from MySQL InnoDB

Original revid:vasil.dimov@oracle.com-20100622163043-dc0lxy0byg74viet

Original Authors: Vasil Dimov <vasil.dimov@oracle.com>
Original commit message:
Fix Bug#47991 InnoDB Dictionary Cache memory usage increases indefinitely
when renaming tables

Allocate the table name using ut_malloc() instead of table->heap because
the latter cannot be freed.

Adjust dict_sys->size calculations all over the code.

Change dict_table_t::name from const char* to char* because we need to
ut_malloc()/ut_free() it.

Reviewed by:    Inaam, Marko, Heikki (rb://384)
Approved by:    Heikki (rb://384)

Show diffs side-by-side

added added

removed removed

Lines of Context:
416
416
struct dict_table_struct{
417
417
        dulint          id;     /*!< id of the table */
418
418
        mem_heap_t*     heap;   /*!< memory heap */
419
 
        const char*     name;   /*!< table name */
 
419
        char*           name;   /*!< table name */
420
420
        const char*     dir_path_of_temp_table;/*!< NULL or the directory path
421
421
                                where a TEMPORARY table that was explicitly
422
422
                                created by a user should be placed if