1. 21 Dec, 2009 2 commits
    • Mats Kindahl's avatar
      Merging with mysql-5.1-rep+2 · 51dc566e
      Mats Kindahl authored
      51dc566e
    • Mats Kindahl's avatar
      WL#5151: Conversion between different types when replicating · a22bc99f
      Mats Kindahl authored
      Bug#49836 reports that the geometry type does not work
      with WL#5151 applied.
      
      The GEOMETRY type inherits the blob comparison function,
      which read the pack length from the metadata. The GEOMETRY
      type does not fill in the metadata with anything sensible,
      so it is always zero, meaning that the pack length for the
      source type is considered zero, rendering it always "smaller"
      than the target type which has pack length 4 (without pointer).
      
      This patch fixes the problem by defining
      Field_geom::pack_length_from_metadata() to always use the
      same as Field_geom::row_pack_length().
      a22bc99f
  2. 18 Dec, 2009 4 commits
  3. 17 Dec, 2009 1 commit
  4. 16 Dec, 2009 5 commits
  5. 15 Dec, 2009 3 commits
    • Mats Kindahl's avatar
      WL#5151: Conversion between different types when replicating · 24823d3a
      Mats Kindahl authored
      Fixing error codes that changed after merge.
      24823d3a
    • Mats Kindahl's avatar
      Merging with mysql-5.1-rep+2 · 2511f3c4
      Mats Kindahl authored
      2511f3c4
    • Mats Kindahl's avatar
      BUG#49618: Field length stored incorrectly in binary log · f43ca025
      Mats Kindahl authored
                 for InnoDB
      
      The class Field_bit_as_char stores the metadata for the
      field incorrecly because bytes_in_rec and bit_len are set
      to (field_length + 7 ) / 8 and 0 respectively, while
      Field_bit has the correct values field_length / 8 and
      field_length % 8.
      
      Solved the problem by re-computing the values for the
      metadata based on the field_length instead of using the
      bytes_in_rec and bit_len variables.
      
      To handle compatibility with old server, a table map
      flag was added to indicate that the bit computation is
      exact. If the flag is clear, the slave computes the
      number of bytes required to store the bit field and
      compares that instead, effectively allowing replication
      *without conversion* from any field length that require
      the same number of bytes to store.
      f43ca025
  6. 14 Dec, 2009 2 commits
    • Mats Kindahl's avatar
      WL#5151: Conversion between different types when replicating · c701fe6a
      Mats Kindahl authored
      Fixing minor error when printing SQL types from master and cleaning some code.
      
      Updating result files.
      c701fe6a
    • Mats Kindahl's avatar
      WL#5151: Conversion between different types when replicating · c63df11f
      Mats Kindahl authored
      Row-based replication requires the types of columns on the
      master and slave to be approximately the same (some safe
      conversions between strings are allowed), but does not
      allow safe conversions between fields of similar types such
      as TINYINT and INT.
      
      This patch implement type conversions between similar fields
      on the master and slave.
      
      The conversions are controlled using a new variable
      SLAVE_TYPE_CONVERSIONS of type SET('ALL_LOSSY','ALL_NON_LOSSY').
      
      Non-lossy conversions are any conversions that do not run the
      risk of losing any information, while lossy conversions can
      potentially truncate the value. The column definitions are
      checked to decide if the conversion is acceptable.
      
      If neither conversion is enabled, it is required that the
      definitions of the columns are identical on master and slave.
      
      Conversion is done by creating an internal conversion table,
      unpacking the master data into it, and then copy the data to
      the real table on the slave.
      c63df11f
  7. 08 Dec, 2009 1 commit
  8. 03 Dec, 2009 1 commit
    • 's avatar
      WL#5142 FLUSH LOGS should take optional arguments for which log(s) to flush · 34ab4521
      authored
      Support for flushing individual logs, so that the user can
      selectively flush a subset of the server logs.
      
      Flush of individual logs is done according to the 
      following syntax:
      
        FLUSH <log_category> LOGS;
      
      The syntax is extended so that the user is able to flush a
      subset of logs:
      
        FLUSH [log_category LOGS,];
      
      where log_category is one of:
        SLOW
        ERROR
        BINARY
        ENGINE
        GENERAL
        RELAY.
      34ab4521
  9. 02 Dec, 2009 4 commits
  10. 01 Dec, 2009 8 commits
  11. 30 Nov, 2009 9 commits
    • Andrei Elkin's avatar
    • Satya B's avatar
      merge to mysql-5.1-bugteam · ce449a7f
      Satya B authored
      ce449a7f
    • Satya B's avatar
      Applying InnoDB Plugin 1.0.6 snapshot, Fixes BUG#48469 · 685725eb
      Satya B authored
      applied revisions: r6201, r6202, r6207, r6208, r6210
      
      r6202 - port fix for BUG#48469 to plugin
      
      Detailed revision comments:
      
      r6201 | marko | 2009-11-19 14:09:11 +0200 (Thu, 19 Nov 2009) | 2 lines
      branches/zip: ha_innobase::add_index(): Clarify the comment
      on orphaned tables when creating a primary key.
      r6202 | jyang | 2009-11-19 15:01:00 +0200 (Thu, 19 Nov 2009) | 8 lines
      branches/zip: Function fseg_free() is no longer defined
      in branches/zip. To port fix for bug #48469 to zip,
      we can use btr_free_root() which frees the page,
      and also does not require mini-transaction.
      
      Approved by Marko.
      
      
      r6207 | vasil | 2009-11-20 10:19:14 +0200 (Fri, 20 Nov 2009) | 54 lines
      branches/zip: Merge r6198:6206 from branches/5.1:
      
      (r6203 was skipped as it is already in branches/zip)
      
        ------------------------------------------------------------------------
        r6200 | vasil | 2009-11-19 12:14:23 +0200 (Thu, 19 Nov 2009) | 4 lines
        Changed paths:
           M /branches/5.1/btr/btr0btr.c
        
        branches/5.1:
        
        White space fixup - indent under the opening (
        
        ------------------------------------------------------------------------
        r6203 | jyang | 2009-11-19 15:12:22 +0200 (Thu, 19 Nov 2009) | 8 lines
        Changed paths:
           M /branches/5.1/btr/btr0btr.c
        
        branches/5.1: Use btr_free_root() instead of fseg_free() for
        the fix of bug #48469, because fseg_free() is not defined
        in the zip branch. And we could save one mini-trasaction started
        by fseg_free().
        
        Approved by Marko.
        
        
        ------------------------------------------------------------------------
        r6205 | jyang | 2009-11-20 07:55:48 +0200 (Fri, 20 Nov 2009) | 11 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
        
        branches/5.1: Add a special case to handle the Duplicated Key error
        and return DB_ERROR instead. This is to avoid a possible SIGSEGV
        by mysql error handling re-entering the storage layer for dup key
        info without proper table handle.
        This is to prevent a server crash when error situation in bug
        #45961 "DDL on partitioned innodb tables leaves data dictionary
        in an inconsistent state" happens.
        
        rb://157 approved by Sunny Bains.
        
        
        ------------------------------------------------------------------------
        r6206 | jyang | 2009-11-20 09:38:43 +0200 (Fri, 20 Nov 2009) | 5 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
        
        branches/5.1: Fix a minor code formating issue for 
        the parenthesis iplacement of the if condition in
        rename_table().
        
        
        ------------------------------------------------------------------------
      
      r6208 | vasil | 2009-11-20 10:49:24 +0200 (Fri, 20 Nov 2009) | 4 lines
      branches/zip:
      
      Add ChangeLog entry for c6207.
      
      r6210 | vasil | 2009-11-20 23:39:48 +0200 (Fri, 20 Nov 2009) | 3 lines
      branches/zip:
      
      Whitespace fixup.
      685725eb
    • Satya B's avatar
      Applying InnoDB Plugin 1.0.6 snapshot, part 9. Fixes BUG#48526, BUG#48317 · f35e3c0a
      Satya B authored
      applied revisions: r6197, r6198, r6199
      r6197 - BUG#48317
      r6199 - BUG#48526
      
      Detailed revision comments:
      
      r6197 | calvin | 2009-11-19 09:32:55 +0200 (Thu, 19 Nov 2009) | 6 lines
      branches/zip: merge the fix of bug#48317 (CMake file)
      
      Due to MySQL changes to the CMake, it is no longer able
      to build InnoDB plugin as a static library on Windows.
      The fix is proposed by Vlad of MySQL.
      
      r6198 | vasil | 2009-11-19 09:44:31 +0200 (Thu, 19 Nov 2009) | 4 lines
      branches/zip:
      
      Add ChangeLog entry for r6197.
      
      r6199 | vasil | 2009-11-19 12:10:12 +0200 (Thu, 19 Nov 2009) | 31 lines
      branches/zip: Merge r6159:6198 from branches/5.1:
      
        ------------------------------------------------------------------------
        r6187 | jyang | 2009-11-18 05:27:30 +0200 (Wed, 18 Nov 2009) | 9 lines
        Changed paths:
           M /branches/5.1/btr/btr0btr.c
        
        branches/5.1: Fix bug #48469 "when innodb tablespace is
        configured too small, crash and corruption!". Function
        btr_create() did not check the return status of fseg_create(),
        and continue the index creation even there is no sufficient
        space.
        
        rb://205 Approved by Marko
        
        
        ------------------------------------------------------------------------
        r6188 | jyang | 2009-11-18 07:14:23 +0200 (Wed, 18 Nov 2009) | 8 lines
        Changed paths:
           M /branches/5.1/data/data0type.c
        
        branches/5.1: Fix bug #48526 "Data type for float and
        double is incorrectly reported in InnoDB table monitor".
        Certain datatypes are not printed correctly in
        dtype_print().
        
        rb://204 Approved by Marko.
        
        
        ------------------------------------------------------------------------
      f35e3c0a
    • Satya B's avatar
      Applying InnoDB Plugin 1.0.6 snapshot, part 8. Fixes BUG#48782 · 7cec3500
      Satya B authored
      applied revisions: r6185, r6186, r6189, r6194
      
      r6185 - only code changes incorporated, changesets which change
              innodb tests in the main mysql suite are discarded
      
      r61889 - Fixes BUG#48782
      
      Detailed revision comments:
      
      r6185 | marko | 2009-11-17 16:44:20 +0200 (Tue, 17 Nov 2009) | 16 lines
      branches/zip: Report duplicate table names
      to the client connection, not to the error log.  This change will allow
      innodb-index.test to be re-enabled.  It was previously disabled, because
      mysql-test-run does not like output in the error log.
      
      row_create_table_for_mysql(): Do not output anything to the error log
      when reporting DB_DUPLICATE_KEY.  Let the caller report the error.
      Add a TODO comment that the dict_table_t object is apparently not freed
      when an error occurs.
      
      create_table_def(): Convert InnoDB table names to the character set
      of the client connection for reporting.  Use my_error(ER_WRONG_COLUMN_NAME)
      for reporting reserved column names.  Report my_error(ER_TABLE_EXISTS_ERROR)
      when row_create_table_for_mysql() returns DB_DUPLICATE_KEY.
      
      rb://206
      r6186 | vasil | 2009-11-17 16:48:14 +0200 (Tue, 17 Nov 2009) | 4 lines
      branches/zip:
      
      Add ChangeLog entry for r6185.
      
      r6189 | marko | 2009-11-18 11:36:18 +0200 (Wed, 18 Nov 2009) | 5 lines
      branches/zip: ha_innobase::add_index(): When creating the primary key
      and the table is being locked by another transaction,
      do not attempt to drop the table. (Bug #48782)
      
      Approved by Sunny Bains over IM
      r6194 | vasil | 2009-11-19 09:24:45 +0200 (Thu, 19 Nov 2009) | 5 lines
      branches/zip:
      
      Increment version number from 1.0.5 to 1.0.6 since 1.0.5 was just released
      by MySQL and we will soon release 1.0.6.
      7cec3500
    • Satya B's avatar
      Applying InnoDB Plugin 1.0.6 snapshot, part 7 · 072e2bb4
      Satya B authored
      Fixes several test cases.
      
      applied revisions: r6181, r6182, r6183, r6184
      
      r6183 - changes are made only to tests in innodb suite which is only 
              innodb-consistent-master.opt
      
      Detailed revision comments:
      
      r6181 | vasil | 2009-11-17 12:21:41 +0200 (Tue, 17 Nov 2009) | 33 lines
      branches/zip:
      
      At the end of innodb-index.test: restore the environment as it was before
      the test was started to silence this warning:
      
        MTR's internal check of the test case 'main.innodb-index' failed.
        This means that the test case does not preserve the state that existed
        before the test case was executed.  Most likely the test case did not
        do a proper clean-up.
        This is the diff of the states of the servers before and after the
        test case was executed:
        mysqltest: Logging to '/tmp/autotest.sh-20091117_033000-zip.btyZwu/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.log'.
        mysqltest: Results saved in '/tmp/autotest.sh-20091117_033000-zip.btyZwu/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.result'.
        mysqltest: Connecting to server localhost:13000 (socket /tmp/autotest.sh-20091117_033000-zip.btyZwu/mysql-5.1/mysql-test/var/tmp/mysqld.1.sock) as 'root', connection 'default', attempt 0 ...
        mysqltest: ... Connected.
        mysqltest: Start processing test commands from './include/check-testcase.test' ...
        mysqltest: ... Done processing test commands.
        --- /tmp/autotest.sh-20091117_033000-zip.btyZwu/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.result	2009-11-17 13:10:40.000000000 +0300
        +++ /tmp/autotest.sh-20091117_033000-zip.btyZwu/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.reject	2009-11-17 13:10:54.000000000 +0300
        @@ -84,7 +84,7 @@
         INNODB_DOUBLEWRITE	ON
         INNODB_FAST_SHUTDOWN	1
         INNODB_FILE_FORMAT	Antelope
        -INNODB_FILE_FORMAT_CHECK	Antelope
        +INNODB_FILE_FORMAT_CHECK	Barracuda
         INNODB_FILE_PER_TABLE	OFF
         INNODB_FLUSH_LOG_AT_TRX_COMMIT	1
         INNODB_FLUSH_METHOD	
        
        mysqltest: Result content mismatch
        
        not ok
      
      r6182 | marko | 2009-11-17 13:49:15 +0200 (Tue, 17 Nov 2009) | 1 line
      branches/zip: Set svn:eol-style on mysql-test files.
      r6183 | marko | 2009-11-17 13:51:16 +0200 (Tue, 17 Nov 2009) | 1 line
      branches/zip: Prepend loose_ to plugin-only mysql-test options.
      r6184 | marko | 2009-11-17 13:52:01 +0200 (Tue, 17 Nov 2009) | 1 line
      branches/zip: innodb-index.test: Restore innodb_file_format_check.
      072e2bb4
    • Andrei Elkin's avatar
      merging from 5.1 to rep+2 starting at gca(5.1, next-mr) ==... · a6f2076c
      Andrei Elkin authored
      merging from 5.1 to rep+2 starting at gca(5.1, next-mr) == build@mysql.com-20091104182209-iui387z35159aoyw
      a6f2076c
    • Satya B's avatar
      Applying InnoDB Plugin 1.0.6 snapshot, part 6. Add Testcase for BUG#46676 · 7950aae4
      Satya B authored
      1. add testcase for BUG#46676
      2. Allow CREATE INDEX to be interrupted
      3. ha_innobase::change_active_index(): When the history is
         missing, report it to the client, not to the error log
      4. ChangeLog entries
      
      appplied revisions:r6169, r6170, r6175, r6177, r6179
      
      Detailed revision comments:
      
      r6169 | calvin | 2009-11-12 14:40:43 +0200 (Thu, 12 Nov 2009) | 6 lines
      branches/zip: add test case for bug#46676
      
      This crash is reproducible with InnoDB plugin 1.0.4 + MySQL 5.1.37.
      But no longer reproducible after MySQL 5.1.38 (with plugin 1.0.5).
      Add test case to catch future regression.
      
      r6170 | marko | 2009-11-12 15:49:08 +0200 (Thu, 12 Nov 2009) | 4 lines
      branches/zip: Allow CREATE INDEX to be interrupted.  (Issue #354)
      
      rb://183 approved by Heikki Tuuri
      
      r6175 | vasil | 2009-11-16 20:07:39 +0200 (Mon, 16 Nov 2009) | 4 lines
      branches/zip:
      
      Wrap line at 78th char in the ChangeLog
      
      r6177 | calvin | 2009-11-16 20:20:38 +0200 (Mon, 16 Nov 2009) | 2 lines
      branches/zip: add an entry to ChangeLog for r6065
      
      r6179 | marko | 2009-11-17 10:19:34 +0200 (Tue, 17 Nov 2009) | 2 lines
      branches/zip: ha_innobase::change_active_index(): When the history is
      missing, report it to the client, not to the error log.
      7950aae4
    • Satya B's avatar
      Applying InnoDB Plugin 1.0.6 snapshot, part 5. · fa028051
      Satya B authored
      applied revisions: r6161, r6162, r6163
      
      Detailed revision comments:
      
      r6161 | vasil | 2009-11-11 15:36:16 +0200 (Wed, 11 Nov 2009) | 4 lines
      branches/zip:
      
      Add changelog entry for r6160.
      
      r6162 | vasil | 2009-11-11 16:00:12 +0200 (Wed, 11 Nov 2009) | 4 lines
      branches/zip:
      
      Add ChangeLog for r6157.
      
      r6163 | calvin | 2009-11-11 17:53:20 +0200 (Wed, 11 Nov 2009) | 8 lines
      branches/zip: Exclude thd_binlog_filter_ok() when building
      with older version of MySQL.
      
      thd_binlog_filter_ok() is introduced in MySQL 5.1.41. But the
      plugin can be built with MySQL prior to 5.1.41.
      
      Approved by Heikki (on IM).
      fa028051