1. 01 Apr, 2010 23 commits
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 1aefc268
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6433 | marko | 2010-01-13 13:19:00 +0200 (Wed, 13 Jan 2010) | 2 lines
      branches/zip: dict_sys_tables_get_flags(), dict_create_sys_*_tuple():
      Add some const qualifiers and comments.
      1aefc268
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 944fd108
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6426 | marko | 2010-01-12 15:36:14 +0200 (Tue, 12 Jan 2010) | 2 lines
      branches/zip: row_sel_sec_rec_is_for_clust_rec(): Document the return value
      more accurately.
      944fd108
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · a8c583f8
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6425 | marko | 2010-01-12 13:47:11 +0200 (Tue, 12 Jan 2010) | 45 lines
      branches/zip: Merge revisions 6350:6424 from branches/5.1:
      
        ------------------------------------------------------------------------
        r6421 | jyang | 2010-01-12 07:59:16 +0200 (Tue, 12 Jan 2010) | 8 lines
        Changed paths:
           M /branches/5.1/row/row0mysql.c
      
        branches/5.1: Fix bug #49238: Creating/Dropping a temporary table
        while at 1023 transactions will cause assert. Handle possible
        DB_TOO_MANY_CONCURRENT_TRXS when deleting metadata in
        row_drop_table_for_mysql().
      
        rb://220, approved by Marko
        ------------------------------------------------------------------------
        r6422 | marko | 2010-01-12 11:34:27 +0200 (Tue, 12 Jan 2010) | 3 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
           M /branches/5.1/handler/ha_innodb.h
      
        branches/5.1: Non-functional change:
        Make innobase_get_int_col_max_value() a static function.
        It does not access any fields of class ha_innobase.
        ------------------------------------------------------------------------
        r6424 | marko | 2010-01-12 12:22:19 +0200 (Tue, 12 Jan 2010) | 16 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
           M /branches/5.1/handler/ha_innodb.h
      
        branches/5.1: In innobase_initialize_autoinc(), do not attempt to read
        the maximum auto-increment value from the table if
        innodb_force_recovery is set to at least 4, so that writes are
        disabled. (Bug #46193)
      
        innobase_get_int_col_max_value(): Move the function definition before
        ha_innobase::innobase_initialize_autoinc(), because that function now
        calls this function.
      
        ha_innobase::innobase_initialize_autoinc(): Change the return type to
        void.  Do not attempt to read the maximum auto-increment value from
        the table if innodb_force_recovery is set to at least 4.  Issue
        ER_AUTOINC_READ_FAILED to the client when the auto-increment value
        cannot be read.
      
        rb://144 by Sunny, revised by Marko
        ------------------------------------------------------------------------
      a8c583f8
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 2f6a57a9
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6367 | marko | 2009-12-28 15:39:19 +0200 (Mon, 28 Dec 2009) | 2 lines
      branches/zip: dict_index_add_to_cache(): Always free the index object,
      also when returning DB_CORRUPTION.
      2f6a57a9
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · cbeff93f
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6348 | marko | 2009-12-22 11:04:34 +0200 (Tue, 22 Dec 2009) | 37 lines
      branches/zip: Merge a change from MySQL:
      r6351 | marko | 2009-12-22 11:11:18 +0200 (Tue, 22 Dec 2009) | 1 line
      branches/zip: Remove an obsolete declaration of LOCK_thread_count.
      r6352 | marko | 2009-12-22 12:33:01 +0200 (Tue, 22 Dec 2009) | 104 lines
      branches/zip: Merge revisions 6206:6350 from branches/5.1,
      except r6347, r6349, r6350 which were committed separately
      to both branches, and r6310, which was backported from zip to 5.1.
      
        ------------------------------------------------------------------------
        r6206 | jyang | 2009-11-20 09:38:43 +0200 (Fri, 20 Nov 2009) | 3 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
      
        branches/5.1: Non-functional change, fix formatting.
        ------------------------------------------------------------------------
        r6230 | sunny | 2009-11-24 23:52:43 +0200 (Tue, 24 Nov 2009) | 3 lines
        Changed paths:
           M /branches/5.1/mysql-test/innodb-autoinc.result
      
        branches/5.1: Fix autoinc failing test results.
        (this should be skipped when merging 5.1 into zip)
        ------------------------------------------------------------------------
        r6231 | sunny | 2009-11-25 10:26:27 +0200 (Wed, 25 Nov 2009) | 7 lines
        Changed paths:
           M /branches/5.1/mysql-test/innodb-autoinc.result
           M /branches/5.1/mysql-test/innodb-autoinc.test
           M /branches/5.1/row/row0sel.c
      
        branches/5.1: Fix BUG#49032 - auto_increment field does not initialize to last value in InnoDB Storage Engine.
      
        We use the appropriate function to read the column value for non-integer
        autoinc column types, namely float and double.
      
        rb://208. Approved by Marko.
        ------------------------------------------------------------------------
        r6232 | sunny | 2009-11-25 10:27:39 +0200 (Wed, 25 Nov 2009) | 2 lines
        Changed paths:
           M /branches/5.1/row/row0sel.c
      
        branches/5.1: This is an interim fix, fix white space errors.
        ------------------------------------------------------------------------
        r6233 | sunny | 2009-11-25 10:28:35 +0200 (Wed, 25 Nov 2009) | 2 lines
        Changed paths:
           M /branches/5.1/include/mach0data.h
           M /branches/5.1/include/mach0data.ic
           M /branches/5.1/mysql-test/innodb-autoinc.result
           M /branches/5.1/mysql-test/innodb-autoinc.test
           M /branches/5.1/row/row0sel.c
      
        branches/5.1: This is an interim fix, fix tests and make read float/double arg const.
        ------------------------------------------------------------------------
        r6234 | sunny | 2009-11-25 10:29:03 +0200 (Wed, 25 Nov 2009) | 2 lines
        Changed paths:
           M /branches/5.1/row/row0sel.c
      
        branches/5.1: This is an interim fix, fix whitepsace issues.
        ------------------------------------------------------------------------
        r6235 | sunny | 2009-11-26 01:14:42 +0200 (Thu, 26 Nov 2009) | 9 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
           M /branches/5.1/mysql-test/innodb-autoinc.result
           M /branches/5.1/mysql-test/innodb-autoinc.test
      
        branches/5.1: Fix Bug#47720 - REPLACE INTO Autoincrement column with negative values.
      
        This bug is similiar to the negative autoinc filter patch from earlier,
        with the additional handling of filtering out the negative column values
        set explicitly by the user.
      
        rb://184
        Approved by Heikki.
        ------------------------------------------------------------------------
        r6242 | vasil | 2009-11-27 22:07:12 +0200 (Fri, 27 Nov 2009) | 4 lines
        Changed paths:
           M /branches/5.1/export.sh
      
        branches/5.1:
      
        Minor changes to support plugin snapshots.
        ------------------------------------------------------------------------
        r6306 | calvin | 2009-12-14 15:12:46 +0200 (Mon, 14 Dec 2009) | 5 lines
        Changed paths:
           M /branches/5.1/mysql-test/innodb-autoinc.result
           M /branches/5.1/mysql-test/innodb-autoinc.test
      
        branches/5.1: fix bug#49267: innodb-autoinc.test fails on windows
        because of different case mode
      
        There is no change to the InnoDB code, only to fix test case by
        changing "T1" to "t1".
        ------------------------------------------------------------------------
        r6324 | jyang | 2009-12-17 06:54:24 +0200 (Thu, 17 Dec 2009) | 8 lines
        Changed paths:
           M /branches/5.1/handler/ha_innodb.cc
           M /branches/5.1/include/lock0lock.h
           M /branches/5.1/include/srv0srv.h
           M /branches/5.1/lock/lock0lock.c
           M /branches/5.1/log/log0log.c
           M /branches/5.1/srv/srv0srv.c
           M /branches/5.1/srv/srv0start.c
      
        branches/5.1: Fix bug #47814 - Diagnostics are frequently not
        printed after a long lock wait in InnoDB. Separate out the
        lock wait timeout check thread from monitor information
        printing thread.
      
        rb://200 Approved by Marko.
        ------------------------------------------------------------------------
      r6364 | marko | 2009-12-26 21:06:31 +0200 (Sat, 26 Dec 2009) | 4 lines
      branches/zip: ibuf_bitmap_get_map_page():
      Define a wrapper macro that passes __FILE__, __LINE__ of the caller
      to buf_page_get_gen().
      This will ease the diagnosis of the likes of Issue #135.
      cbeff93f
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 1c75a493
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6346 | marko | 2009-12-21 12:03:25 +0200 (Mon, 21 Dec 2009) | 2 lines
      branches/zip: recv_recovery_from_checkpoint_finish():
      Revert a change that was accidentally committed in r6345.
      1c75a493
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · d3eefa0d
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6345 | marko | 2009-12-21 10:46:14 +0200 (Mon, 21 Dec 2009) | 7 lines
      branches/zip: recv_scan_log_recs(): Non-functional change: Replace a
      debug assertion ut_ad(len > 0) with ut_ad(len >= OS_FILE_LOG_BLOCK_SIZE).
      
      This change is only for readability, for Issue #428.  Another
      assertion on len being an integer multiple of OS_FILE_LOG_BLOCK_SIZE
      already ensured together with the old ut_ad(len > 0) that actually len
      must be at least OS_FILE_LOG_BLOCK_SIZE.
      d3eefa0d
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · af071005
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6321 | marko | 2009-12-16 16:16:33 +0200 (Wed, 16 Dec 2009) | 4 lines
      branches/zip: row_merge_drop_temp_indexes(): Revert a hack to
      transaction isolation level that was made unnecessary by r5826 (Issue #337).
      When this function is called, any active data dictionary transaction
      should have been rolled back.
      af071005
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 061edd2c
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6312 | marko | 2009-12-16 10:10:36 +0200 (Wed, 16 Dec 2009) | 6 lines
      branches/zip: fil_close(): Add #ifndef UNIV_HOTBACKUP around a debug
      assertion on mutex.magic_n.  InnoDB Hot Backup is a single-threaded
      program and does not contain mutexes.  This change allows InnoDB Hot
      Backup to be compiled with UNIV_DEBUG.
      
      Suggested by Michael Izioumtchenko.
      061edd2c
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 8939cb86
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6309 | marko | 2009-12-15 14:05:50 +0200 (Tue, 15 Dec 2009) | 3 lines
      branches/zip: lock_rec_insert_check_and_lock(): Avoid casting away constness.
      Use page_rec_get_next_const() instead. This silences a gcc 4.2.4 warning.
      Reported by Sunny Bains.
      8939cb86
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · a404d993
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6305 | marko | 2009-12-14 13:03:57 +0200 (Mon, 14 Dec 2009) | 2 lines
      branches/zip: row_undo_mod_del_unmark_sec_and_undo_update(): Add a missing
      const qualifier.
      a404d993
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · f6466bb8
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6285 | marko | 2009-12-09 09:24:50 +0200 (Wed, 09 Dec 2009) | 13 lines
      branches/zip: row_sel_fetch_columns(): Remove redundant code that was
      accidentally added in r1591, which introduced dfield_t::ext in order
      to make the merge sort of fast index creation support externally
      stored columns,
      
      Initially, I tried to allocate the bit for dfield_t::ext from
      dfield_t::len by making the length 31 bits and mapping UNIV_SQL_NULL
      to something that would fit in it.  Then I decided that it would be
      too risky.  The redundant check was part of the mapping.  The
      condition may have been dfield_is_null() initially.
      
      This redundant code was noticed by Sergey Petrunya on the MySQL
      internals list.
      r6288 | marko | 2009-12-09 09:51:00 +0200 (Wed, 09 Dec 2009) | 15 lines
      branches/zip: row_upd_copy_columns(): Remove redundant code that was
      accidentally added in r1591, which introduced dfield_t::ext in order
      to make the merge sort of fast index creation support externally
      stored columns.
      
      Initially, I tried to allocate the bit for dfield_t::ext from
      dfield_t::len by making the length 31 bits and mapping UNIV_SQL_NULL
      to something that would fit in it.  Then I decided that it would be
      too risky.  The redundant check was part of the mapping.  The
      condition may have been dfield_is_null() initially.
      
      This is similar to the redundant code in row_sel_fetch_columns() that
      was noticed by Sergey Petrunya on the MySQL internals list and removed
      in r6285.  As far as I can tell, there are no redundant UNIV_SQL_NULL
      assignments remaining after this change.
      f6466bb8
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 3d1b9ed7
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6277 | marko | 2009-12-08 11:13:36 +0200 (Tue, 08 Dec 2009) | 1 line
      branches/zip: fsp0fsp.c: Add some missing in/out and const qualifiers.
      3d1b9ed7
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · eb27168c
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6275 | pekka | 2009-12-03 18:32:47 +0200 (Thu, 03 Dec 2009) | 10 lines
      branches/zip: Minor changes which allow build with UNIV_HOTBACKUP
      defined to succeed:
      
      include/trx0sys.h: Allow Hot Backup build to see some
                         TRX_SYS_DOUBLEWRITE_... macros. 
      trx/trx0sys.c:     Exclude trx_sys_close() function from Hot Backup build.
      log/log0recv.[ch]: Exclude recv_sys_var_init() function from Hot Backup build.
      
      This change should not affect !UNIV_HOTBACKUP build.
      eb27168c
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 51105de0
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6274 | marko | 2009-12-03 14:47:12 +0200 (Thu, 03 Dec 2009) | 6 lines
      branches/zip: dict_table_check_for_dup_indexes(): Assert that the
      data dictionary mutex is being held while table->indexes is accessed.
      This is already the case.
      
      Currently, only dict_table_get_next_index() and dict_table_get_first_index()
      are being invoked without holding dict_sys->mutex.
      51105de0
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 72554b36
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6272 | marko | 2009-12-02 11:46:05 +0200 (Wed, 02 Dec 2009) | 1 line
      branches/zip: Revert changes that were accidentally committed in r6271.
      72554b36
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 621a39c8
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6271 | marko | 2009-12-02 11:43:49 +0200 (Wed, 02 Dec 2009) | 2 lines
      branches/zip: ChangeLog: Document that since r6270, the zlib version number
      will be displayed at start-up.
      621a39c8
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 341162d6
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6270 | marko | 2009-12-02 11:36:47 +0200 (Wed, 02 Dec 2009) | 1 line
      branches/zip: innobase_start_or_create_for_mysql(): Log the zlib version.
      341162d6
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 7c3c3fca
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6269 | marko | 2009-12-02 11:35:22 +0200 (Wed, 02 Dec 2009) | 2 lines
      branches/zip: innobase_start_or_create_for_mysql(): UNIV_IBUF_DEBUG
      should not break crash recovery, but UNIV_IBUF_COUNT_DEBUG will.
      7c3c3fca
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 599700e5
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6264 | vasil | 2009-12-01 16:19:44 +0200 (Tue, 01 Dec 2009) | 1 line
      branches/zip: Add ChangeLog entry for the release of 1.0.6.
      599700e5
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · b7a7a9b0
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6263 | vasil | 2009-12-01 14:49:05 +0200 (Tue, 01 Dec 2009) | 4 lines
      branches/zip: Increment version number from 1.0.6 to 1.0.7
      
      1.0.6 has been released
      b7a7a9b0
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot, fixes BUG#41609. · 31143f1c
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6252 | marko | 2009-11-30 12:50:11 +0200 (Mon, 30 Nov 2009) | 23 lines
      branches/zip: Suppress errors about non-found temporary tables.
      Write the is_temp flag to SYS_TABLES.MIX_LEN.
      
      dict_table_t::flags: Add a flag for is_temporary, DICT_TF2_TEMPORARY.
      Unlike other flags, this will not be written to the tablespace flags
      or SYS_TABLES.TYPE, but only to SYS_TABLES.MIX_LEN.
      
      dict_build_table_def_step(): Only pass DICT_TF_BITS to tablespaces.
      
      dict_check_tablespaces_and_store_max_id(), dict_load_table():
      Suppress errors about temporary tables not being found.
      
      dict_create_sys_tables_tuple(): Write the DICT_TF2_TEMPORARY flag
      to SYS_TABLES.MIX_LEN.
      
      fil_space_create(), fil_create_new_single_table_tablespace(): Add assertions
      about space->flags.
      
      row_drop_table_for_mysql(): Do not complain about non-found temporary tables.
      
      rb://160 approved by Heikki Tuuri.  This addresses the second part of
      Bug #41609 Crash recovery does not work for InnoDB temporary tables.
      31143f1c
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · c29c9d93
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6248 | marko | 2009-11-30 12:19:50 +0200 (Mon, 30 Nov 2009) | 1 line
      branches/zip: ChangeLog: Document r4922 that was forgotten.
      c29c9d93
  2. 31 Mar, 2010 1 commit
    • Ramil Kalimullin's avatar
      Fix for bug#52397: another crash with explain extended and group_concat · 55852670
      Ramil Kalimullin authored
      Problem: EXPLAIN EXTENDED was trying to resolve references to 
      freed temporary table fields for GROUP_CONCAT()'s ORDER BY arguments.
      
      Fix: use stored original GROUP_CONCAT()'s arguments in such a case.
      
      
      mysql-test/r/func_gconcat.result:
        Fix for bug#52397: another crash with explain extended and group_concat
          - test result.
      mysql-test/t/func_gconcat.test:
        Fix for bug#52397: another crash with explain extended and group_concat
          - test case.
      sql/item_sum.cc:
        Fix for bug#52397: another crash with explain extended and group_concat
          - use "pargs", printing ORDER BY arguments in the 
        Item_func_group_concat::print() instead of "order" to avoid
        possible reference resolving to (freed) temporary table fields.
      55852670
  3. 29 Mar, 2010 1 commit
  4. 30 Mar, 2010 2 commits
  5. 26 Mar, 2010 1 commit
    • Sergey Glukhov's avatar
      Bug#52177 crash with explain, row comparison, join, text field · f57839cd
      Sergey Glukhov authored
      The crash is the result of an attempt made by JOIN::optimize to evaluate
      the WHERE condition when no records have been actually read.
      The fix is to remove erroneous 'outer_join' variable check.
      
      
      mysql-test/r/join.result:
        test result
      mysql-test/t/join.test:
        test case
      sql/sql_select.cc:
        removed erroneous 'outer_join' variable check.
      f57839cd
  6. 24 Mar, 2010 1 commit
    • Sergey Glukhov's avatar
      Bug#48483 crash in get_best_combination() · bccf219b
      Sergey Glukhov authored
      The crash happens because greedy_serach
      can not determine best plan due to
      wrong inner table dependences. These
      dependences affects join table sorting
      which performs before greedy_search starting.
      In our case table which has real 'no dependences'
      should be put on top of the list but it does not
      happen as inner tables have no dependences as well.
      The fix is to exclude RAND_TABLE_BIT mask from
      condition which checks if table dependences
      should be updated.
      
      
      mysql-test/r/join.result:
        test result
      mysql-test/t/join.test:
        test case
      sql/sql_select.cc:
        RAND_TABLE_BIT mask should not be counted as it
        prevents update of inner table dependences.
        For example it might happen if RAND() function
        is used in JOIN ON clause.
      bccf219b
  7. 23 Mar, 2010 1 commit
  8. 26 Mar, 2010 1 commit
  9. 29 Mar, 2010 1 commit
    • Tatiana A. Nurnberg's avatar
      Bug#48525: trigger changes "Column 'id' cannot be null" behaviour · 28e95ba5
      Tatiana A. Nurnberg authored
      CHECK_FIELD_IGNORE was treated as CHECK_FIELD_ERROR_FOR_NULL;
      UPDATE...SET...NULL on NOT NULL fields behaved differently after
      a trigger.
      
      Now distinguishes between IGNORE and ERROR_FOR_NULL and save/restores
      check-field options.
      
      
      mysql-test/r/trigger.result:
        Show that UPDATE...SET...NULL on NOT NULL columns doesn't behave differently
        when run after a trigger.
      mysql-test/t/trigger.test:
        Show that UPDATE...SET...NULL on NOT NULL columns doesn't behave differently
        when run after a trigger.
      sql/field_conv.cc:
        CHECK_FIELD_IGNORE was treated as CHECK_FIELD_ERROR_FOR_NULL.
        Distinguish between the two.
      sql/sp_head.cc:
        Raise error as needed.
      sql/sql_class.cc:
        Save and restore check-fields options.
      sql/sql_class.h:
        Make room so we can save check-fields options.
      sql/sql_insert.cc:
        Raise error as needed.
      28e95ba5
  10. 28 Mar, 2010 2 commits
    • unknown's avatar
      Bug #50407 mysqlbinlog --database=X produces bad output for SAVEPOINTs · 454c003a
      unknown authored
      When mysqlbinlog was given the --database=X flag, it always printed
      'ROLLBACK TO', but the corresponding 'SAVEPOINT' statement was not
      printed. The replicated filter(replicated-do/ignore-db) and binlog
      filter (binlog-do/ignore-db) has the same problem. They are solved
      in this patch together.
      
      After this patch, We always check whether the query is 'SAVEPOINT'
      statement or not. Because this is a literal check, 'SAVEPOINT' and
      'ROLLBACK TO' statements are also binlogged in uppercase with no
      any comments.
      
      The binlog before this patch can be handled correctly except one case
      that any comments are in front of the keywords. for example:
       /* bla bla */ SAVEPOINT a;
       /* bla bla */ ROLLBACK TO a;
      454c003a
    • unknown's avatar
      Bug #50095 Multi statement including CREATE EVENT causes rotten binlog entry · 47756010
      unknown authored
      The log event of 'CREATE EVENT' was being binlogged with garbage
      at the end of the query if 'CREATE EVENT' is followed by another SQL statement
      and they were executed as one command.
      for example:
          DELIMITER |;
          CREATE EVENT e1 ON EVERY DAY DO SELECT 1; SELECT 'a';
          DELIMITER ;|
      When binlogging 'CREATE EVENT', we always create a new statement with definer
      and write it into the log event. The new statement is made from cpp_buf(preprocessed buffer).
      which is not a c string(end with '\0'), but it is copied as a c string.
      
      In this patch, cpp_buf is copied with its length.
      47756010
  11. 26 Mar, 2010 4 commits
    • Sergey Vojtovich's avatar
      Applying InnoDB snapshot · 604ab4d2
      Sergey Vojtovich authored
      Detailed revision comments:
      
      r6884 | vdimov | 2010-03-26 13:05:03 +0200 (Fri, 26 Mar 2010) | 6 lines
      branches/5.1:
      
      Fix a non-determinism in innodb_bug38231.
      
      Reported by:	Sergey Vojtovich <svoj@Sun.COM>
      
      r6884 | vdimov | 2010-03-26 13:05:03 +0200 (Fri, 26 Mar 2010) | 6 lines
      branches/5.1:
      
      Fix a non-determinism in innodb_bug38231.
      
      Reported by:	Sergey Vojtovich <svoj@Sun.COM>
      604ab4d2
    • Sergey Vojtovich's avatar
      3569fe77
    • Sergey Vojtovich's avatar
      bded6a7f
    • Sergey Glukhov's avatar
      Bug#52164 Assertion failed: param.sort_length, file .\filesort.cc, line 149 · d5325c77
      Sergey Glukhov authored
      The crash happens because of incorrect max_length calculation
      in QUOTE function(due to overflow). max_length is set
      to 0 and it leads to assert failure.
      The fix is to cast expression result to
      ulonglong variable and adjust it if the
      result exceeds MAX_BLOB_WIDTH.
      
      
      mysql-test/r/func_str.result:
        test case
      mysql-test/t/func_str.test:
        test case
      sql/item_strfunc.h:
        cast expression result to ulonglong variable and
        adjust it if the result exceeds MAX_BLOB_WIDTH.
      d5325c77
  12. 25 Mar, 2010 2 commits
    • Sergey Vojtovich's avatar
      BUG#46565 - repair of partition fail for archive engine · 298c067e
      Sergey Vojtovich authored
      There was no way to repair corrupt ARCHIVE data file,
      when unrecoverable data loss is inevitable.
      
      With this fix REPAIR ... EXTENDED attempts to restore
      as much rows as possible, ignoring unrecoverable data.
      
      Normal REPAIR is still able to repair meta-data file
      only.
      
      mysql-test/r/archive.result:
        A test case for BUG#46565.
      mysql-test/std_data/bug46565.ARZ:
        A test case for BUG#46565.
      mysql-test/std_data/bug46565.frm:
        A test case for BUG#46565.
      mysql-test/t/archive.test:
        A test case for BUG#46565.
      storage/archive/ha_archive.cc:
        Allow unrecoverable data loss when extended repair
        is requested.
      298c067e
    • Ramil Kalimullin's avatar
      An addition to fix for BUG#51866 - crash with repair · 251be017
      Ramil Kalimullin authored
      by sort and fulltext keys.
      
      Min value for myisam_sort_buffer_size is 4096.
      
      251be017