1. 30 Apr, 2008 6 commits
    • vasil's avatar
      branches/zip: Merge 2423:2437 from branches/5.1: · 0260a98c
      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
        
        
        ------------------------------------------------------------------------
      0260a98c
    • vasil's avatar
      Rename install_dynamic.sql to install_innodb_plugins.sql · 19ebecd6
      vasil authored
      Suggested by:	Ken
      19ebecd6
    • vasil's avatar
      Add SQL script to install InnoDB if it is built as a dynamic plugin · fa5f770f
      vasil authored
      Suggested by:	Ken
      fa5f770f
    • vasil's avatar
    • vasil's avatar
      Add ChangeLog. · b7aa8ed8
      vasil authored
      Formatted in compliance with many GNU tools, roughly described in
      http://www.gnu.org/software/guile/changelogs/guile-changelogs_toc.html
      
      b7aa8ed8
    • vasil's avatar
      branches/zip: Merge 2384:2423 from branches/5.1: · 22cd31a6
      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
        
        ------------------------------------------------------------------------
      22cd31a6
  2. 29 Apr, 2008 1 commit
    • vasil's avatar
      branches/zip: · c45dedd4
      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
      c45dedd4
  3. 23 Apr, 2008 1 commit
    • vasil's avatar
      branches/zip: · 4316056a
      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
      4316056a
  4. 12 Apr, 2008 1 commit
  5. 11 Apr, 2008 3 commits
  6. 10 Apr, 2008 2 commits
    • calvin's avatar
      branches/zip: Implementation of using animal names for innodb_file_format, · ff014f21
      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.
      ff014f21
    • sunny's avatar
      branches/zip: Handle rename of variables. If the statically linked in engine · 3c2af842
      sunny authored
      has a config variable that has since been renamed, we use a mapping table
      to check for matches.
      3c2af842
  7. 09 Apr, 2008 3 commits
  8. 07 Apr, 2008 2 commits
  9. 04 Apr, 2008 5 commits
  10. 28 Mar, 2008 6 commits
    • marko's avatar
      branches/zip: i_s_cmpmem_fill_low(): Do not reset all buddy allocator · 3b102cf2
      marko authored
      statistics, but only the cumulated count and duration of relocation
      operations.
      3b102cf2
    • marko's avatar
      branches/zip: Minor change to the formatting of integer fields · d7585cea
      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.
      d7585cea
    • marko's avatar
      branches/zip: Rename the compression-related INFORMATION_SCHEMA tables · 6d0b76d8
      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
      6d0b76d8
    • marko's avatar
      branches/zip: Implement the INFORMATION_SCHEMA tables · caa6afcf
      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.
      caa6afcf
    • marko's avatar
      branches/zip: Correct minor mistakes made in r2390. · 9cf9b9c3
      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".
      9cf9b9c3
    • marko's avatar
      branches/zip: Rename the INFORMATION_SCHEMA tables · bd8d5d3e
      marko authored
      INNODB_ZIP and INNODB_ZIP_RESET to
      INNODB_COMPRESSION and INNODB_COMPRESSION_RESET,
      and remove the statistics of the buddy system.
      
      This change was discussed with Ken.  It makes the tables shorter
      and easier to understand.  The removed data will be represented in
      the tables INNODB_COMPRESSION_BUDDY and INNODB_COMPRESSION_BUDDY_RESET
      that will be added later.
      
      i_s_innodb_zip, i_s_innodb_zip_reset, i_s_zip_fields_info[],
      i_s_zip_fill_low(), i_s_zip_fill(), i_s_zip_reset_fill(),
      i_s_zip_init(), i_s_zip_reset_init(): Replace "zip" with "compression".
      
      i_s_compression_fields_info[]: Remove "used", "free",
      "relocated", "relocated_usec".  In "compressed_usec" and "decompressed_usec",
      replace microseconds with seconds ("usec" with "sec").
      
      page_zip_decompress(): Correct a typo in the function comment.
      
      PAGE_ZIP_SSIZE_BITS, PAGE_ZIP_NUM_SSIZE: New constants.
      
      page_zip_stat_t, page_zip_stat: Statistics of the compression, grouped
      by page size.
      
      page_zip_simple_validate(): Assert that page_zip->ssize is reasonable.
      bd8d5d3e
  11. 27 Mar, 2008 1 commit
    • vasil's avatar
      branches/zip: · f8eba2fa
      vasil authored
      Add the prototype of check_global_access() if MySQL version is less than
      5.1.24 to make zip compile with 5.1.23. This was removed when MySQL added
      the prototype in their code in 5.1.24 but we still need zip to compile with
      older versions.
      f8eba2fa
  12. 26 Mar, 2008 1 commit
  13. 19 Mar, 2008 1 commit
    • marko's avatar
      branches/zip: Remove innodb.patch. · ab7b62e7
      marko authored
      This patch tries to enable resizeable buffer pool by polling the configuration
      parameter for the buffer pool size, which is not a good solution.  The
      right way could be to have an update function callback of a settable
      MySQL variable to send an event to the master thread.
      
      It could also make sense to expose the buffer pool chunks to the user.
      The first chunk would never be freed.  Other chunks than the first one
      would only be used for allocating page frames (uncompressed or compressed)
      and block descriptors of of compressed pages (buf_page_t).  That is, other
      users of the buffer pool, such as mem_heap_create_block() and the lock
      table, would be restricted to the first chunk.  This would allow other
      chunks to be freed by simply flushing any dirty blocks that they contain.
      
      It might also be worthwhile to create multiple chunks initially, based on
      the initial buffer pool size and the HugeTLB page size.  In that way, the
      buffer pool could be reduced from the initial configuration at runtime.
      ab7b62e7
  14. 18 Mar, 2008 2 commits
    • marko's avatar
      branches/zip: Pass the tablespace flags correctly when creating or opening · 8dafbcef
      marko authored
      single-table tablespaces.  This bug was reported by Sunny as Mantis issue #26.
      
      fil_space_create(), fil_create_new_single_table_tablespace(),
      fil_open_single_table_tablespace(), fsp_header_init_fields():
      Add ut_a(flags != DICT_TF_COMPACT).
      
      dict_build_table_def_step(), row_import_tablespace_for_mysql(),
      row_truncate_table_for_mysql(): Pass correct flags to
      fil_create_new_single_table_tablespace() or fil_open_single_table_tablespace().
      8dafbcef
    • marko's avatar
      branches/zip: dict_load_table(): Remove a redundant check for !flags. · 09b38fab
      marko authored
      The function dict_sys_tables_get_flags() already ensures that the
      table flags are 0 unless ROW_FORMAT=COMPACT.
      09b38fab
  15. 17 Mar, 2008 5 commits