1. 08 May, 2008 1 commit
  2. 07 May, 2008 3 commits
    • vasil's avatar
      branches/zip: · d36e588d
      vasil authored
      Add a ChangeLog entry for Bug#36222
      d36e588d
    • vasil's avatar
      branches/zip: · b3fabcfb
      vasil authored
      Add new entries to the ChangeLog
      b3fabcfb
    • vasil's avatar
      branches/zip: · 68ba0e9f
      vasil authored
      Remove too detailed entry from ChangeLog. Best to have only user-visible
      changes there.
      68ba0e9f
  3. 06 May, 2008 4 commits
    • sunny's avatar
      1cd233d2
    • calvin's avatar
      branches/zip: · fc02f76d
      calvin authored
      Implement the system tablespace tagging described on the wiki:
      https://svn.innodb.com/innobase/InnoDB_version_and_feature_compatibility
      
      A brief description of the changes:
      
      * The file format tag will be saved in the trx system page, starting at
        (UNIV_PAGE_SIZE - 16) for 8 bytes.
      * The configuration parameter innodb_file_format_check is introduced.
        This variable can be set to on/off and any of the supported file
        formats in the configuration file, but can only be set to any of
        the supported file formats during runtime. The default is on.
      * During table create/open, check the current file format against
        the max in file_format_max. If the current file format is newer,
        update file_format_max and tag the system tablespace with the
        newer one in a normal mtr.
      * During startup, write the tag to the error log and check it against
        DICT_TF_FORMAT_MAX. Refuse to start with error, if
        -- DICT_TF_FORMAT_MAX < the tag, and
        -- innodb_file_format_check is ON
        Print out a warning , if
        -- DICT_TF_FORMAT_MAX < the tag, but
        -- innodb_file_format_check is off
      * The system tablespace tag is re-settable using:
        set innodb_file_format_check = <file_format>
      
      Approved by:	Sunny
      fc02f76d
    • vasil's avatar
      branches/zip: · 3bad6e25
      vasil authored
       
      Add InnoDB version in these places:
       
      * In INFORMATION_SCHEMA.PLUGINS.PLUGIN_VERSION, only 1.2 out of 1.2.3
        because MySQL supports only one dot there
       
      * At startup:
        "080501 12:28:06 InnoDB Plugin 1.0.1 started; log sequence number 46509"
      
      * In a server variable innodb_version;
        mysql> select @@innodb_version;
        +------------------+
        | @@innodb_version |
        +------------------+
        | 1.0.1            |
        +------------------+
      
      Approved by:	Sunny
      3bad6e25
    • vasil's avatar
      branches/zip: · 2daf8121
      vasil authored
       
      Allow InnoDB I_S plugins to be installed when InnoDB storage engine is
      not installed but show empty tables when SELECTing from them in this
      case. Set srv_was_started to FALSE at the end of
      innobase_shutdown_for_mysql() so the I_S plugins can detect if InnoDB is
      uninstalled.
       
      This is needed to workaround the MySQL
      Bug#36399 Double free bug when INFORMATION_SCHEMA plugin init function fails
      and is more flexible as it allows I_S plugins to be installed before the
      InnoDB plugin and detects if the latter is uninstalled after this.
      
      Approved by:	Heikki
      2daf8121
  4. 05 May, 2008 1 commit
  5. 04 May, 2008 2 commits
  6. 30 Apr, 2008 6 commits
    • vasil's avatar
      branches/zip: Merge 2423:2437 from branches/5.1: · 9dd184ef
      vasil authored
        ------------------------------------------------------------------------
        r2429 | vasil | 2008-04-30 11:19:06 +0300 (Wed, 30 Apr 2008) | 10 lines
        
        branches/5.1:
        
        * Use INNODB_CFLAGS insead of cluttering CFLAGS with InnoDB specific
          flags. CFLAGS are used to compile every file in the MySQL source tree.
        
        * Add INNODB_DYNAMIC_CFLAGS to the flags of the dynamic plugin and use
          -prefer-non-pic to make the dynamic plugin faster on i386.
        
        Approved by:	Sunny
        
        ------------------------------------------------------------------------
        r2430 | vasil | 2008-04-30 11:48:35 +0300 (Wed, 30 Apr 2008) | 8 lines
        
        branches/5.1:
        
        Use CFLAGS instead of INNODB_CFLAGS to avoid having incompatible flags
        inserted in CFLAGS and INNODB_CFLAGS and to avoid compiling mysql and
        innodb with different flags.
        
        Discussed with:	Sunny
        
        ------------------------------------------------------------------------
        r2431 | vasil | 2008-04-30 11:54:49 +0300 (Wed, 30 Apr 2008) | 4 lines
        
        branches/5.1:
        
        Fix r2430, it should be CFLAGS="$CFLAGS ..." not CFLAGS="..."
        
        ------------------------------------------------------------------------
        r2432 | vasil | 2008-04-30 11:58:38 +0300 (Wed, 30 Apr 2008) | 4 lines
        
        branches/5.1:
        
        Non-functional change: use tabs for indentation in plug.in.
        
        ------------------------------------------------------------------------
        r2433 | vasil | 2008-04-30 12:02:35 +0300 (Wed, 30 Apr 2008) | 5 lines
        
        branches/5.1:
        
        Add vim modeline to hint it that plug.in is a config file
        so it can be colorized.
        
        ------------------------------------------------------------------------
        r2434 | vasil | 2008-04-30 18:45:44 +0300 (Wed, 30 Apr 2008) | 17 lines
        
        branches/5.1:
        
        Merge changes from MySQL:
        
          ChangeSet@1.2645, 2007-12-19 13:24:43+00:00, jperkin@chorlton.adsl.perkin.org.uk +14 -0
            Add new pkgplugindir handling to seperate plugins from libraries,
            and allow override for binary distributions.  Extend mysql_config
            to print compiled-in plugin location for third-party plugins to
            use.  Resolves bug#31736.
        
        and
        
          ChangeSet@1.2646, 2008-01-02 13:00:46+00:00, jperkin@chorlton.adsl.perkin.org.uk +11 -0
            Use pkglibdir to simplify pkgplugindir, and fix the path in a
            couple of Makefiles.  Continuation of the fix for bug#31736.
        
        
        ------------------------------------------------------------------------
        r2435 | vasil | 2008-04-30 19:04:36 +0300 (Wed, 30 Apr 2008) | 10 lines
        
        branches/5.1:
        
        Merge change from MySQL:
        
          ChangeSet@1.2563, 2008-03-18 19:42:04+04:00, gluh@mysql.com +1 -0
            Bug#35406 5.1-opt crashes on select from I_S.REFERENTIAL_CONSTRAINTS
            added intialization of f_key_info.referenced_key_name for the case when
            referenced table is dropped
        
        
        ------------------------------------------------------------------------
        r2436 | vasil | 2008-04-30 19:15:46 +0300 (Wed, 30 Apr 2008) | 7 lines
        
        branches/5.1:
        
        Non-functional white space change in Makefile.am:
        Use tabs for indentation and be consistent about spaces around the
        equal sign.
        
        
        ------------------------------------------------------------------------
        r2437 | vasil | 2008-04-30 20:36:11 +0300 (Wed, 30 Apr 2008) | 8 lines
        
        branches/5.1:
        
        Fix Bug#36434 ha_innodb.so is installed in the wrong directory
        
        Change pkglib_LTLIBRARIES with pkgplugin_LTLIBRARIES which has been
        forgotten in this commit: http://lists.mysql.com/commits/40206
        
        
        ------------------------------------------------------------------------
      9dd184ef
    • vasil's avatar
      Rename install_dynamic.sql to install_innodb_plugins.sql · 508c71fe
      vasil authored
      Suggested by:	Ken
      508c71fe
    • vasil's avatar
      Add SQL script to install InnoDB if it is built as a dynamic plugin · 5e446ef7
      vasil authored
      Suggested by:	Ken
      5e446ef7
    • vasil's avatar
    • vasil's avatar
      Add ChangeLog. · 4d0cd8e4
      vasil authored
      Formatted in compliance with many GNU tools, roughly described in
      http://www.gnu.org/software/guile/changelogs/guile-changelogs_toc.html
      4d0cd8e4
    • vasil's avatar
      branches/zip: Merge 2384:2423 from branches/5.1: · 55db138b
      vasil authored
        ------------------------------------------------------------------------
        r2386 | vasil | 2008-03-27 07:45:02 +0200 (Thu, 27 Mar 2008) | 22 lines
        
        branches/5.1:
        
        Merge change from MySQL (this fixes the failing innodb test):
        
        ChangeSet@1.1810.3601.4, 2008-02-07 02:33:21+04:00, gshchepa@host.loc +9 -0
          Fixed bug#30059.
          Server handles truncation for assignment of too-long values
          into CHAR/VARCHAR/TEXT columns in a different ways when the
          truncated characters are spaces:
          1. CHAR(N) columns silently ignore end-space truncation;
          2. TEXT columns post a truncation warning/error in the
             non-strict/strict mode.
          3. VARCHAR columns always post a truncation note in
             any mode.
        
          Space truncation processing has been synchronised over
          CHAR/VARCHAR/TEXT columns: current behavior of VARCHAR
          columns has been propagated as standard.
        
          Binary-encoded string/BLOB columns are not affected.
        
        
        ------------------------------------------------------------------------
        r2387 | vasil | 2008-03-27 08:49:05 +0200 (Thu, 27 Mar 2008) | 8 lines
        
        branches/5.1:
        
        Check whether *trx->mysql_query_str is != NULL in addition to
        trx->mysql_query_str. This adds more safety.
        
        This may or may not fix Bug#35226 RBR event crashes slave.
        
        
        ------------------------------------------------------------------------
        r2388 | vasil | 2008-03-27 14:02:34 +0200 (Thu, 27 Mar 2008) | 7 lines
        
        branches/5.1:
        
        Swap the order in which mysql_thd, mysql_query_str and *mysql_query_str
        are checked for non-NULL.
        
        Suggested by:	Marko
        
        ------------------------------------------------------------------------
        r2419 | vasil | 2008-04-23 19:08:06 +0300 (Wed, 23 Apr 2008) | 9 lines
        
        branches/5.1:
        
        Change the fix for Bug#32440 to show bytes instead of kilobytes in
        INFORMATION_SCHEMA.TABLES.DATA_FREE.
        
        Suggested by:	Domas Mituzas <domas@mysql.com>
        Approved by:	Heikki
        
        
        ------------------------------------------------------------------------
        r2420 | calvin | 2008-04-24 15:25:30 +0300 (Thu, 24 Apr 2008) | 4 lines
        
        branches/5.1: Fix bug#29507 TRUNCATE shows to many rows effected
        
        In InnoDB, the row count is only a rough estimate used by SQL
        optimization. InnoDB is now return row count 0 for TRUNCATE operation.
        ------------------------------------------------------------------------
        r2421 | calvin | 2008-04-24 15:32:30 +0300 (Thu, 24 Apr 2008) | 6 lines
        
        branches/5.1: Fix bug#35537 - Innodb doesn't increment handler_update
        and handler_delete
        
        Add the calls to ha_statistic_increment() in ha_innobase::delete_row()
        and ha_innobase::update_row().
        
        ------------------------------------------------------------------------
        r2422 | vasil | 2008-04-24 16:00:30 +0300 (Thu, 24 Apr 2008) | 11 lines
        
        branches/5.1:
        
        Fix Bug#36169 create innodb compressed table with too large row size crashed
        
        Sometimes it is possible that
        row_drop_table_for_mysql(index->table_name, trx, FALSE); is invoked in
        row_create_index_for_mysql() when the index object is freed so copy the
        table name to a safe place beforehand and use the copy.
        
        Approved by:	Sunny
        
        ------------------------------------------------------------------------
      55db138b
  7. 29 Apr, 2008 1 commit
    • vasil's avatar
      branches/zip: · 03a3d076
      vasil authored
       
      Fix Mantis issue#34 https://svn.innodb.com/mantis/view.php?id=34
      "I_S plugins should refuse to load if the storage engine plugin is not loaded"
      and MySQL Bug#36310 http://bugs.mysql.com/36310
      "InnoDB plugin crash"
      
      * Make srv_was_started public
      * Set srv_was_started at the end of innobase_start_or_create_for_mysql()
        so it is not set to TRUE if innodb encounters some startup error
      * Refuse to start any of the I_S plugins if srv_was_started is not TRUE
      
      Approved by:	Heikki
      03a3d076
  8. 23 Apr, 2008 1 commit
    • vasil's avatar
      branches/zip: · a5b8b883
      vasil authored
      Fix Bug#36169 create innodb compressed table with too large row size crashed
      
      Sometimes it is possible that
      row_drop_table_for_mysql(index->table_name, trx, FALSE); is invoked in
      row_create_index_for_mysql() when the index object is freed, so copy the
      table name to a safe place beforehand and use the copy.
      
      Approved by:	Sunny
      a5b8b883
  9. 12 Apr, 2008 1 commit
  10. 11 Apr, 2008 3 commits
  11. 10 Apr, 2008 2 commits
    • calvin's avatar
      branches/zip: Implementation of using animal names for innodb_file_format, · e978b4a2
      calvin authored
      described in Mantis#30. Specifically:
      
      - Allow innodb_file_format to take string arguments
      - Make innodb_file_format system variable a string instead of a number
      - Implement the callback functions
      - Update warning messages
      
      Three new functions are implemented:
      
      file_format_name_lookup(): Validate the file format name and return
      its corresponding id.
      
      innodb_file_format_check(): Check if it is a valid file format. This
      function is registered as a callback with MySQL.
      
      innodb_file_format_update(): Update the global variable using the
      "saved" value. This functions is registered as a callback with MySQL.
      e978b4a2
    • sunny's avatar
      branches/zip: Handle rename of variables. If the statically linked in engine · 0f9b2523
      sunny authored
      has a config variable that has since been renamed, we use a mapping table
      to check for matches.
      0f9b2523
  12. 09 Apr, 2008 3 commits
  13. 07 Apr, 2008 2 commits
  14. 04 Apr, 2008 5 commits
  15. 28 Mar, 2008 5 commits
    • marko's avatar
      branches/zip: i_s_cmpmem_fill_low(): Do not reset all buddy allocator · 7a370443
      marko authored
      statistics, but only the cumulated count and duration of relocation
      operations.
      7a370443
    • marko's avatar
      branches/zip: Minor change to the formatting of integer fields · 6c9311af
      marko authored
      in INFORMATION_SCHEMA.INNODB_CMP*.
      
      i_s_cmp_fields_info, i_s_cmpmem_fields_info: Define the field lengths
      as MY_INT32_NUM_DECIMAL_DIGITS or MY_INT64_NUM_DECIMAL_DIGITS.
      
      i_s_cmpmem_fields_info: Define "relocation_ops" as MYSQL_TYPE_LONGLONG.
      6c9311af
    • marko's avatar
      branches/zip: Rename the compression-related INFORMATION_SCHEMA tables · 74ac5b11
      marko authored
      and columns as suggested by Ken.
      
      INNODB_COMPRESSION, INNODB_COMPRESSION_RESET:
      Rename to INNODB_CMP, INNODB_CMP_RESET, with the following columns:
      page_size
      compress_ops
      compress_ops_ok
      compress_time
      uncompress_ops
      uncompress_time
      
      INNODB_COMPRESSION_BUDDY, INNODB_COMPRESSION_BUDDY_RESET:
      Rename to INNODB_CMPMEM, INNODB_CMPMEM_RESET, with the following columns:
      page_size
      pages_used
      pages_free
      relocation_ops
      relocation_time
      74ac5b11
    • marko's avatar
      branches/zip: Implement the INFORMATION_SCHEMA tables · eb04f0f8
      marko authored
      INNODB_COMPRESSION_BUDDY and INNODB_COMPRESSION_BUDDY_RESET.
      
      buf_buddy_stat_struct, buf_buddy_stat_t, buf_buddy_stat[]:
      Statistics of the buddy system grouped by block size.
      
      i_s_innodb_compression_buddy, i_s_innodb_compression_buddy_reset:
      New INFORMATION_SCHEMA plugins.
      
      i_s_compression_buddy_fields_info[]: Define the fields:
      size, used, free, relocated, relocated_sec.
      
      i_s_compression_buddy_fill_low(), i_s_compression_buddy_fill(),
      i_s_compression_buddy_reset_fill(): Fill the fields.
      
      i_s_compression_buddy_init(), i_s_compression_buddy_reset_init():
      Initialize the tables.
      eb04f0f8
    • marko's avatar
      branches/zip: Correct minor mistakes made in r2390. · 71e4f9af
      marko authored
      i_s_compression_fill_low(): Do not acquire or release the buffer pool
      mutex.  The page_zip_stat[] is not protected by any mutex.
      
      i_s_innodb_compression, i_s_innodb_compression_reset: Change the
      description to say "compression" instead of "compressed buffer pool".
      71e4f9af