1. 23 Nov, 2005 1 commit
    • monty@mysql.com's avatar
      Table definition cache, part 2 · e42c9809
      monty@mysql.com authored
      The table opening process now works the following way:
      - Create common TABLE_SHARE object
      - Read the .frm file and unpack it into the TABLE_SHARE object
      - Create a TABLE object based on the information in the TABLE_SHARE
        object and open a handler to the table object
      
      Other noteworthy changes:
      - In TABLE_SHARE the most common strings are now LEX_STRING's
      - Better error message when table is not found
      - Variable table_cache is now renamed 'table_open_cache'
      - New variable 'table_definition_cache' that is the number of table defintions that will be cached
      - strxnmov() calls are now fixed to avoid overflows
      - strxnmov() will now always add one end \0 to result
      - engine objects are now created with a TABLE_SHARE object instead of a TABLE object.
      - After creating a field object one must call field->init(table) before using it
      
      - For a busy system this change will give you:
       - Less memory usage for table object
       - Faster opening of tables (if it's has been in use or is in table definition cache)
       - Allow you to cache many table definitions objects
       - Faster drop of table
      e42c9809
  2. 22 Nov, 2005 5 commits
  3. 21 Nov, 2005 2 commits
  4. 20 Nov, 2005 2 commits
  5. 19 Nov, 2005 6 commits
  6. 18 Nov, 2005 12 commits
  7. 17 Nov, 2005 12 commits