1. 08 Feb, 2009 2 commits
    • vasil's avatar
      branches/5.1: · fe8fbb1e
      vasil authored
      Merge a change from MySQL:
      
      [looks like the changes to innodb-autoinc.test were made as part of
      the following huge merge, but we are merging only changes to that file]
      
        ------------------------------------------------------------
        revno: 2546.47.1
        committer: Luis Soares <luis.soares@sun.com>
        branch nick: 5.1-rpl
        timestamp: Fri 2009-01-23 13:22:05 +0100
        message:
          merge: 5.1 -> 5.1-rpl
          conflicts:
            Text conflict in client/mysqltest.cc
            Text conflict in mysql-test/include/wait_until_connected_again.inc
            Text conflict in mysql-test/lib/mtr_report.pm
            Text conflict in mysql-test/mysql-test-run.pl
            Text conflict in mysql-test/r/events_bugs.result
            Text conflict in mysql-test/r/log_state.result
            Text conflict in mysql-test/r/myisam_data_pointer_size_func.result
            Text conflict in mysql-test/r/mysqlcheck.result
            Text conflict in mysql-test/r/query_cache.result
            Text conflict in mysql-test/r/status.result
            Text conflict in mysql-test/suite/binlog/r/binlog_index.result
            Text conflict in mysql-test/suite/binlog/r/binlog_innodb.result
            Text conflict in mysql-test/suite/rpl/r/rpl_packet.result
            Text conflict in mysql-test/suite/rpl/t/rpl_packet.test
            Text conflict in mysql-test/t/disabled.def
            Text conflict in mysql-test/t/events_bugs.test
            Text conflict in mysql-test/t/log_state.test
            Text conflict in mysql-test/t/myisam_data_pointer_size_func.test
            Text conflict in mysql-test/t/mysqlcheck.test
            Text conflict in mysql-test/t/query_cache.test
            Text conflict in mysql-test/t/rpl_init_slave_func.test
            Text conflict in mysql-test/t/status.test
        removed:
          mysql-test/suite/parts/r/partition_bit_ndb.result
          mysql-test/suite/parts/t/partition_bit_ndb.test
          mysql-test/suite/parts/t/partition_sessions.test
          mysql-test/suite/sys_vars/inc/tmp_table_size_basic.inc
          mysql-test/suite/sys_vars/r/tmp_table_size_basic_32.result
          mysql-test/suite/sys_vars/r/tmp_table_size_basic_64.result
          mysql-test/suite/sys_vars/t/tmp_table_size_basic_32.test
          mysql-test/suite/sys_vars/t/tmp_table_size_basic_64.test
          mysql-test/t/log_bin_trust_function_creators_func-master.opt
          mysql-test/t/rpl_init_slave_func-slave.opt
        added:
          mysql-test/include/check_events_off.inc
          mysql-test/include/cleanup_fake_relay_log.inc
          mysql-test/include/have_simple_parser.inc
          mysql-test/include/no_running_event_scheduler.inc
          mysql-test/include/no_running_events.inc
          mysql-test/include/running_event_scheduler.inc
          mysql-test/include/setup_fake_relay_log.inc
          mysql-test/include/wait_condition_sp.inc
          mysql-test/r/fulltext_plugin.result
          mysql-test/r/have_simple_parser.require
          mysql-test/r/innodb_bug38231.result
          mysql-test/r/innodb_bug39438.result
          mysql-test/r/innodb_mysql_rbk.result
          mysql-test/r/partition_innodb_semi_consistent.result
          mysql-test/r/query_cache_28249.result
          mysql-test/r/status2.result
          mysql-test/std_data/bug40482-bin.000001
          mysql-test/suite/binlog/r/binlog_innodb_row.result
          mysql-test/suite/binlog/t/binlog_innodb_row.test
          mysql-test/suite/rpl/r/rpl_binlog_corruption.result
          mysql-test/suite/rpl/t/rpl_binlog_corruption-master.opt
          mysql-test/suite/rpl/t/rpl_binlog_corruption.test
          mysql-test/suite/sys_vars/r/tmp_table_size_basic.result
          mysql-test/suite/sys_vars/t/tmp_table_size_basic.test
          mysql-test/t/fulltext_plugin-master.opt
          mysql-test/t/fulltext_plugin.test
          mysql-test/t/innodb_bug38231.test
          mysql-test/t/innodb_bug39438-master.opt
          mysql-test/t/innodb_bug39438.test
          mysql-test/t/innodb_mysql_rbk-master.opt
          mysql-test/t/innodb_mysql_rbk.test
          mysql-test/t/partition_innodb_semi_consistent-master.opt
          mysql-test/t/partition_innodb_semi_consistent.test
          mysql-test/t/query_cache_28249.test
          mysql-test/t/status2.test
        renamed:
          mysql-test/suite/funcs_1/r/is_collation_character_set_applicability.result => mysql-test/suite/funcs_1/r/is_coll_char_set_appl.result
          mysql-test/suite/funcs_1/t/is_collation_character_set_applicability.test => mysql-test/suite/funcs_1/t/is_coll_char_set_appl.test
        modified:
          .bzr-mysql/default.conf
          CMakeLists.txt
          client/mysql.cc
          client/mysql_upgrade.c
          client/mysqlcheck.c
          client/mysqltest.cc
          configure.in
          extra/resolve_stack_dump.c
          extra/yassl/include/openssl/ssl.h
          include/config-win.h
          include/m_ctype.h
          include/my_global.h
          mysql-test/extra/binlog_tests/database.test
          mysql-test/extra/rpl_tests/rpl_auto_increment.test
          mysql-test/include/commit.inc
          mysql-test/include/have_32bit.inc
          mysql-test/include/have_64bit.inc
          mysql-test/include/index_merge1.inc
          mysql-test/include/linux_sys_vars.inc
          mysql-test/include/windows_sys_vars.inc
          mysql-test/lib/mtr_report.pm
          mysql-test/mysql-test-run.pl
          mysql-test/r/alter_table.result
          mysql-test/r/commit_1innodb.result
          mysql-test/r/create.result
          mysql-test/r/csv.result
          mysql-test/r/ctype_ucs.result
          mysql-test/r/date_formats.result
          mysql-test/r/events_bugs.result
          mysql-test/r/events_scheduling.result
          mysql-test/r/fulltext.result
          mysql-test/r/func_if.result
          mysql-test/r/func_in.result
          mysql-test/r/func_str.result
          mysql-test/r/func_time.result
          mysql-test/r/grant.result
          mysql-test/r/index_merge_myisam.result
          mysql-test/r/information_schema.result
          mysql-test/r/innodb-autoinc.result
          mysql-test/r/innodb.result
          mysql-test/r/innodb_mysql.result
          mysql-test/r/log_bin_trust_function_creators_func.result
          mysql-test/r/log_state.result
          mysql-test/r/myisampack.result
          mysql-test/r/mysql.result
          mysql-test/r/mysqlcheck.result
          mysql-test/r/partition_datatype.result
          mysql-test/r/partition_mgm.result
          mysql-test/r/partition_pruning.result
          mysql-test/r/query_cache.result
          mysql-test/r/read_buffer_size_basic.result
          mysql-test/r/read_rnd_buffer_size_basic.result
          mysql-test/r/rpl_init_slave_func.result
          mysql-test/r/select.result
          mysql-test/r/status.result
          mysql-test/r/strict.result
          mysql-test/r/temp_table.result
          mysql-test/r/type_bit.result
          mysql-test/r/type_date.result
          mysql-test/r/type_float.result
          mysql-test/r/warnings_engine_disabled.result
          mysql-test/r/xml.result
          mysql-test/suite/binlog/r/binlog_database.result
          mysql-test/suite/binlog/r/binlog_index.result
          mysql-test/suite/binlog/r/binlog_innodb.result
          mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result
          mysql-test/suite/binlog/t/binlog_innodb.test
          mysql-test/suite/funcs_1/r/is_columns_is.result
          mysql-test/suite/funcs_1/r/is_engines.result
          mysql-test/suite/funcs_1/r/storedproc.result
          mysql-test/suite/funcs_1/storedproc/param_check.inc
          mysql-test/suite/funcs_2/t/disabled.def
          mysql-test/suite/ndb/t/disabled.def
          mysql-test/suite/parts/r/partition_bit_innodb.result
          mysql-test/suite/parts/r/partition_bit_myisam.result
          mysql-test/suite/parts/r/partition_special_innodb.result
          mysql-test/suite/parts/t/disabled.def
          mysql-test/suite/parts/t/partition_special_innodb.test
          mysql-test/suite/parts/t/partition_value_innodb.test
          mysql-test/suite/parts/t/partition_value_myisam.test
          mysql-test/suite/parts/t/partition_value_ndb.test
          mysql-test/suite/rpl/r/rpl_auto_increment.result
          mysql-test/suite/rpl/r/rpl_packet.result
          mysql-test/suite/rpl/r/rpl_row_create_table.result
          mysql-test/suite/rpl/r/rpl_slave_skip.result
          mysql-test/suite/rpl/r/rpl_trigger.result
          mysql-test/suite/rpl/t/disabled.def
          mysql-test/suite/rpl/t/rpl_packet.test
          mysql-test/suite/rpl/t/rpl_row_create_table.test
          mysql-test/suite/rpl/t/rpl_slave_skip.test
          mysql-test/suite/rpl/t/rpl_trigger.test
          mysql-test/suite/rpl_ndb/t/disabled.def
          mysql-test/suite/sys_vars/inc/key_buffer_size_basic.inc
          mysql-test/suite/sys_vars/inc/sort_buffer_size_basic.inc
          mysql-test/suite/sys_vars/r/key_buffer_size_basic_32.result
          mysql-test/suite/sys_vars/r/key_buffer_size_basic_64.result
          mysql-test/suite/sys_vars/r/sort_buffer_size_basic_32.result
          mysql-test/suite/sys_vars/r/sort_buffer_size_basic_64.result
          mysql-test/t/alter_table.test
          mysql-test/t/create.test
          mysql-test/t/csv.test
          mysql-test/t/ctype_ucs.test
          mysql-test/t/date_formats.test
          mysql-test/t/disabled.def
          mysql-test/t/events_bugs.test
          mysql-test/t/events_scheduling.test
          mysql-test/t/fulltext.test
          mysql-test/t/func_if.test
          mysql-test/t/func_in.test
          mysql-test/t/func_str.test
          mysql-test/t/func_time.test
          mysql-test/t/grant.test
          mysql-test/t/information_schema.test
          mysql-test/t/innodb-autoinc.test
          mysql-test/t/innodb.test
          mysql-test/t/innodb_mysql.test
          mysql-test/t/log_bin_trust_function_creators_func.test
          mysql-test/t/log_state.test
          mysql-test/t/myisam_data_pointer_size_func.test
          mysql-test/t/myisampack.test
          mysql-test/t/mysql.test
          mysql-test/t/mysqlcheck.test
          mysql-test/t/partition_innodb_stmt.test
          mysql-test/t/partition_mgm.test
          mysql-test/t/partition_pruning.test
          mysql-test/t/query_cache.test
          mysql-test/t/rpl_init_slave_func.test
          mysql-test/t/select.test
          mysql-test/t/status.test
          mysql-test/t/strict.test
          mysql-test/t/temp_table.test
          mysql-test/t/type_bit.test
          mysql-test/t/type_date.test
          mysql-test/t/type_float.test
          mysql-test/t/warnings_engine_disabled.test
          mysql-test/t/xml.test
          mysys/my_getopt.c
          mysys/my_init.c
          scripts/mysql_install_db.sh
          sql-common/my_time.c
          sql/field.cc
          sql/field.h
          sql/filesort.cc
          sql/ha_partition.cc
          sql/ha_partition.h
          sql/item.cc
          sql/item_cmpfunc.cc
          sql/item_func.h
          sql/item_strfunc.cc
          sql/item_sum.cc
          sql/item_timefunc.cc
          sql/item_timefunc.h
          sql/log.cc
          sql/log.h
          sql/log_event.cc
          sql/log_event.h
          sql/mysql_priv.h
          sql/mysqld.cc
          sql/opt_range.cc
          sql/partition_info.cc
          sql/repl_failsafe.cc
          sql/rpl_constants.h
          sql/set_var.cc
          sql/slave.cc
          sql/spatial.h
          sql/sql_acl.cc
          sql/sql_base.cc
          sql/sql_binlog.cc
          sql/sql_class.h
          sql/sql_cursor.cc
          sql/sql_delete.cc
          sql/sql_lex.cc
          sql/sql_lex.h
          sql/sql_locale.cc
          sql/sql_parse.cc
          sql/sql_partition.cc
          sql/sql_plugin.cc
          sql/sql_plugin.h
          sql/sql_profile.cc
          sql/sql_repl.cc
          sql/sql_select.cc
          sql/sql_select.h
          sql/sql_show.cc
          sql/sql_table.cc
          sql/sql_trigger.cc
          sql/sql_trigger.h
          sql/table.cc
          sql/table.h
          sql/unireg.cc
          storage/csv/ha_tina.cc
          storage/federated/ha_federated.cc
          storage/heap/ha_heap.cc
          storage/innobase/Makefile.am
          storage/innobase/btr/btr0sea.c
          storage/innobase/buf/buf0lru.c
          storage/innobase/dict/dict0dict.c
          storage/innobase/dict/dict0mem.c
          storage/innobase/handler/ha_innodb.cc
          storage/innobase/handler/ha_innodb.h
          storage/innobase/include/btr0sea.h
          storage/innobase/include/dict0dict.h
          storage/innobase/include/dict0mem.h
          storage/innobase/include/ha_prototypes.h
          storage/innobase/include/lock0lock.h
          storage/innobase/include/row0mysql.h
          storage/innobase/include/sync0sync.ic
          storage/innobase/include/ut0ut.h
          storage/innobase/lock/lock0lock.c
          storage/innobase/os/os0file.c
          storage/innobase/plug.in
          storage/innobase/row/row0mysql.c
          storage/innobase/row/row0sel.c
          storage/innobase/srv/srv0srv.c
          storage/innobase/srv/srv0start.c
          storage/innobase/ut/ut0ut.c
          storage/myisam/ft_boolean_search.c
          strings/ctype.c
          strings/xml.c
          tests/mysql_client_test.c
          win/configure.js
          mysql-test/suite/funcs_1/t/is_coll_char_set_appl.test
      fe8fbb1e
    • vasil's avatar
      branches/5.1: · 7b3443d1
      vasil authored
      Merge a change from MySQL:
      
        ------------------------------------------------------------
        revno: 2709.20.31
        committer: Timothy Smith <timothy.smith@sun.com>
        branch nick: 51
        timestamp: Fri 2008-12-19 01:28:51 +0100
        message:
          Disable part of innodb-autoinc.test, because the MySQL server asserts when
          compiled --with-debug, due to bug 39828, "autoinc wraps around when offset and
          increment > 1".  This change should be reverted when that bug is fixed (and a
          a few other minor changes to the test as described in comments).
        modified:
          mysql-test/r/innodb-autoinc.result
          mysql-test/t/innodb-autoinc.test
      7b3443d1
  2. 03 Feb, 2009 1 commit
  3. 29 Jan, 2009 1 commit
  4. 26 Jan, 2009 1 commit
    • vasil's avatar
      branches/5.1: · 3f5355a0
      vasil authored
      Merge a change from MySQL:
      
        ------------------------------------------------------------
        revno: 2646.161.4
        committer: Tatiana A. Nurnberg <azundris@mysql.com>
        branch nick: 51-31177v2
        timestamp: Mon 2009-01-12 06:32:49 +0100
        message:
          Bug#31177: Server variables can't be set to their current values
          
          Bounds-checks and blocksize corrections were applied to user-input,
          but constants in the server were trusted implicitly. If these values
          did not actually meet the requirements, the user could not set change
          a variable, then set it back to the (wonky) factory default or maximum
          by explicitly specifying it (SET <var>=<value> vs SET <var>=DEFAULT).
          
          Now checks also apply to the server's presets. Wonky values and maxima
          get corrected at startup. Consequently all non-offsetted values the user
          sees are valid, and users can set the variable to that exact value if
          they so desire.
      3f5355a0
  5. 23 Jan, 2009 1 commit
    • marko's avatar
      branches/5.1: Merge r4031 from branches/5.0: · c4d9f678
      marko authored
      btr_search_drop_page_hash_when_freed(): Check if buf_page_get_gen()
      returns NULL.  The page may have been evicted from the buffer pool
      between buf_page_peek_if_search_hashed() and buf_page_get_gen(),
      because the buffer pool mutex will be released between these two calls.
      (Bug #42279)
      
      rb://82 approved by Heikki Tuuri
      c4d9f678
  6. 20 Jan, 2009 2 commits
    • marko's avatar
      branches/5.1: lock_is_table_exclusive(): Acquire kernel_mutex before · 6b2f6cb2
      marko authored
      accessing table->locks and release kernel_mutex before returning from
      the function.  This fixes a portential race condition in the
      "commit every 10,000 rows" in ALTER TABLE, CREATE INDEX, DROP INDEX,
      and OPTIMIZE TABLE. (Bug #42152)
      
      rb://80 approved by Heikki Tuuri
      6b2f6cb2
    • marko's avatar
      branches/5.1: Merge r4003 from branches/5.0: · 7d5683b6
      marko authored
      rec_set_nth_field(): When the field already is SQL null,
      do nothing when it is being changed to SQL null. (Bug #41571)
      
      Normally, MySQL does not pass "do-nothing" updates to the storage engine.
      When it does and a column of an InnoDB table that is in ROW_FORMAT=COMPACT
      is being updated from NULL to NULL, the InnoDB buffer pool will be corrupted
      without this fix.
      
      rb://81 approved by Heikki Tuuri
      7d5683b6
  7. 14 Jan, 2009 1 commit
  8. 13 Jan, 2009 1 commit
    • sunny's avatar
      branches/5.1: Fix Bug#38187 Error 153 when creating savepoints · 40f7819e
      sunny authored
      InnoDB previously treated savepoints as a stack e.g.,
        SAVEPOINT a;
        SAVEPOINT b;
        SAVEPOINT c;
        SAVEPOINT b; <- This would delete b and c.
      
      This fix changes the behavior to:
        SAVEPOINT a;
        SAVEPOINT b;
        SAVEPOINT c;
        SAVEPOINT b; <- Does not delete savepoint c
      40f7819e
  9. 22 Dec, 2008 2 commits
    • marko's avatar
      branches/5.1: Make · d3244010
      marko authored
      SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED
      a true replacement of SET GLOBAL INNODB_LOCKS_UNSAFE_FOR_BINLOG=1.
      This fixes an error that was introduced in r370, causing
      semi-consistent read not to not unlock rows in READ COMMITTED mode.
      (Bug #41671, Issue #146)
      
      rb://67 approved by Heikki Tuuri
      d3244010
    • marko's avatar
      branches/5.1: ibuf_delete_rec(): When the record cannot be found and · 5354bf6b
      marko authored
      the tablespace has been dropped, commit the mini-transaction, so that
      InnoDB will not hold the insert buffer tree latch in exclusive mode,
      causing a potential deadlock.  This bug was introduced in the fix of
      Bug #27276 in r2924.
      5354bf6b
  10. 18 Dec, 2008 2 commits
    • marko's avatar
      branches/5.1: When converting a record to MySQL format, copy the default · 7f5f09d6
      marko authored
      column values for columns that are SQL NULL.  This addresses failures in
      row-based replication (Bug #39648).
      
      row_prebuilt_t: Add default_rec, for the default values of the columns in
      MySQL format.
      
      row_sel_store_mysql_rec(): Use prebuilt->default_rec instead of
      padding columns.
      
      rb://64 approved by Heikki Tuuri
      7f5f09d6
    • inaam's avatar
      branches/5.1 · b3f58ea7
      inaam authored
      It is a bug in unused code. If we don't calculate the hash value when
      calculating the mutex number then two pages which map to same hash
      value can get two different mutex numbers.
      
      Approved by: Marko
      b3f58ea7
  11. 10 Dec, 2008 1 commit
  12. 09 Dec, 2008 1 commit
    • vasil's avatar
      branches/5.1: · 809a539d
      vasil authored
      Merge a change from MySQL to fix the failing innodb_bug34300 mysql-test:
      
        main.innodb_bug34300           [ fail ]
        
        mysqltest: At line 11: query 'SET @@max_allowed_packet=16777216' failed: 1621: SESSION variable 'max_allowed_packet' is read-only. Use SET GLOBAL to assign the value
        
        Aborting: main.innodb_bug34300 failed in default mode. 
      
      The changeset is this:
      
        ------------------------------------------------------------
        revno: 2709.1.10
        committer: Staale Smedseng <staale.smedseng@sun.com>
        branch nick: b22891-51-bugteam
        timestamp: Thu 2008-11-20 08:51:48 +0100
        message:
          A fix for Bug#22891 "session level max_allowed_packet can be
          set but is ignored".
        
          This patch makes @@session.max_allowed_packed and
          @@session.net_buffer_length read-only as suggested in the bug
          report. The user will have to use SET GLOBAL (and reconnect)
          to alter the session values of these variables.
        
          The error string ER_VARIABLE_IS_READONLY is introduced.
        
          Tests are modified accordingly.
        modified:
          mysql-test/r/func_compress.result
          mysql-test/r/max_allowed_packet_basic.result
          mysql-test/r/max_allowed_packet_func.result
          mysql-test/r/net_buffer_length_basic.result
          mysql-test/r/packet.result
          mysql-test/r/union.result
          mysql-test/r/variables.result
          mysql-test/t/func_compress.test
          mysql-test/t/innodb_bug34300.test
          mysql-test/t/max_allowed_packet_basic.test
          mysql-test/t/max_allowed_packet_func.test
          mysql-test/t/net_buffer_length_basic.test
          mysql-test/t/packet.test
          mysql-test/t/union.test
          mysql-test/t/variables.test
          sql/set_var.cc
          sql/set_var.h
          sql/share/errmsg.txt
        ------------------------------------------------------------
      809a539d
  13. 05 Dec, 2008 1 commit
    • vasil's avatar
      branches/5.1: · f4e5efeb
      vasil authored
      Add the traditional 2 spaces after the timestamp so the message does
      not look like:
      
      070223 13:26:01InnoDB: Warning: canno....
      f4e5efeb
  14. 04 Dec, 2008 1 commit
    • calvin's avatar
      branches/5.1: revert the changes in r2933 · fce0c716
      calvin authored
      The changes in r2933 causes test failure on Linux.
      More investigation is needed for Windows.
      
      Change the followings in innodb-autoinc.result:
        auto-increment-increment
        auto-increment-offset
      
      back to:
        auto_increment_increment
        auto_increment_offset
      fce0c716
  15. 24 Nov, 2008 1 commit
    • inaam's avatar
      branches/5.1: · 9b4f5f6f
      inaam authored
      Fix Bug#40760 "set global innodb_thread_concurrency = 0;" is not safe
      
      The config param innodb_thread_concurrency is dynamically set and is
      read when a thread enters/exits innodb. If the value is changed between
      the enter and exit time the behaviour becomes erratic.
      The fix is not to use srv_thread_concurrency when exiting, instead use
      the flag trx->declared_to_be_inside_innodb.
      
      rb://57
      
      Approved by: Marko
      9b4f5f6f
  16. 14 Nov, 2008 1 commit
  17. 07 Nov, 2008 1 commit
  18. 30 Oct, 2008 1 commit
  19. 29 Oct, 2008 2 commits
    • marko's avatar
      branches/5.1: dtype_get_sql_null_size(): return the correct storage · 133118cd
      marko authored
      size of a SQL NULL column. (Bug #40369)
      
      When MySQL Bug #20877 was fixed in r834, this function was
      accidentally modified to return 0 or 1. Apparently, the only impact of
      this bug is that fixed-length columns cannot be updated in-place from
      or to SQL NULL, even in ROW_FORMAT=REDUNDANT.  After this fix,
      fixed-length columns in ROW_FORMAT=REDUNDANT will have a constant
      storage size as they should, no matter if NULL or non-NULL.  The bug
      caused fixed-length NULL columns to occupy 1 byte.
      
      rb://37 approved by Heikki over IM.
      133118cd
    • marko's avatar
      branches/5.1: Merge revision 2866 from branches/zip: · 279bbc9d
      marko authored
      ibuf_delete_rec(): When the cursor to the insert buffer record cannot be
      restored, do not complain if the tablespace does not exist. (Bug #27276)
      
      Approved by Sunny Bains (rb://34)
      279bbc9d
  20. 28 Oct, 2008 1 commit
    • vasil's avatar
      branches/5.1: · fd5bac67
      vasil authored
      Fix Bug#38189 innodb_stats_on_metadata missing
      
      Make the variable innodb_stats_on_metadata visible to the users and
      also settable at runtime. Previously it was only "visible" as a command
      line startup option to mysqld.
      
      Approved by:	Marko (https://svn.innodb.com/rb/r/36)
      fd5bac67
  21. 27 Oct, 2008 1 commit
  22. 23 Oct, 2008 1 commit
    • sunny's avatar
      branches/5.1: Backport changes from branches/zip r2725 · 4ef075b5
      sunny authored
      Simplify the autoinc initialization code. This removes the
      non-determinism related to reading the table's autoinc value for the first
      time. This change has also reduced the sizeof dict_table_t by sizeof(ibool)
      bytes because we don't need the dict_table_t::autoinc_inited field anymore.
      
      Bug#39830 Table autoinc value not updated on first insert.
      Bug#35498 Cannot get table test/table1 auto-inccounter value in ::info
      Bug#36411 Failed to read auto-increment value from storage engine" in 5.1.24 auto-inc
      rb://16
      4ef075b5
  23. 22 Oct, 2008 2 commits
    • sunny's avatar
      branches/5.1: Backport r2724 from branches/zip · a37b1be6
      sunny authored
      Check column value against the col max value before updating the table's
      global autoinc counter value. This is part of simplifying the AUTOINC
      sub-system. We extract the type info from MySQL data structures at runtime.
      
      This fixes Bug#37788 InnoDB Plugin: AUTO_INCREMENT wrong for compressed tables
      a37b1be6
    • sunny's avatar
      branches/5.1: Return the actual error code encountered when allocating · 2e84d822
      sunny authored
      a new autoinc value. The change in behavior (bug) was introduced in 5.1.22
      when we introduced the new AUTOINC locking model.
      
      rb://31
      
      Bug#40224 New AUTOINC changes mask reporting of deadlock/timeout errors
      2e84d822
  24. 21 Oct, 2008 2 commits
    • vasil's avatar
      branches/5.1: · 12617fa3
      vasil authored
      Merge a change from MySQL (this fixes the failing innodb and
      innodb-semi-consistent tests):
      
        revno: 2757
        committer: Georgi Kodinov <kgeorge@mysql.com>
        branch nick: B39812-5.1-5.1.29-rc
        timestamp: Fri 2008-10-03 15:24:19 +0300
        message:
          Bug #39812: Make statement replication default for 5.1 (to match 5.0)
          
          Make STMT replication default for 5.1.
          Add a default of MIXED into the config files
          Fix the tests that needed MIXED replication mode.
        modified:
          mysql-test/include/mix1.inc
          mysql-test/r/innodb-semi-consistent.result
          mysql-test/r/innodb.result
          mysql-test/r/innodb_mysql.result
          mysql-test/r/tx_isolation_func.result
          mysql-test/t/innodb-semi-consistent.test
          mysql-test/t/innodb.test
          mysql-test/t/tx_isolation_func.test
          sql/mysqld.cc
          support-files/my-huge.cnf.sh
          support-files/my-innodb-heavy-4G.cnf.sh
          support-files/my-large.cnf.sh
          support-files/my-medium.cnf.sh
          support-files/my-small.cnf.sh
      12617fa3
    • vasil's avatar
      branches/5.1: · 06683f69
      vasil authored
      In ha_innobase::info():
      
      Replace sql_print_warning() which prints to mysqld error log with
      push_warning_printf() which sends the error message to the client.
      
      Suggested by:	Marko, Sunny, Michael
      Objected by:	Inaam
      06683f69
  25. 20 Oct, 2008 1 commit
    • vasil's avatar
      branches/5.1: · efadb7ce
      vasil authored
      Non-functional change: use a single tab instead of 12 spaces between
      variable type and variable name.
      efadb7ce
  26. 13 Oct, 2008 1 commit
  27. 09 Oct, 2008 1 commit
  28. 08 Oct, 2008 1 commit
    • inaam's avatar
      branches/5.1: · ab0b0f99
      inaam authored
      Fix Bug#39939 DROP TABLE/DISCARD TABLESPACE takes long time in
      buf_LRU_invalidate_tablespace()
      
      Improve implementation of buf_LRU_invalidate_tablespace by attempting
      hash index drop in batches instead of doing it one by one.
      
      Reviewed by: Heikki, Sunny, Marko
      Approved by: Heikki
      ab0b0f99
  29. 03 Oct, 2008 4 commits
    • sunny's avatar
      branches/5.1: This bug has always existed but was masked by other errors. The · 5ad03895
      sunny authored
      fix for bug# 38839 triggered this bug. When the offset and increment are > 1
      we need to calculate the next value taking into consideration the two
      variables. Previously we simply assumed they were 1 particularly offset was
      never used. MySQL does its own calculation and that's probably why it seemed
      to work in the past. We would return what we thought was the correct next
      value and then MySQL would recalculate the actual value from that and return
      it to the caller (e.g., handler::write_row()). Several new tests have been
      added that try and catch some edge cases. The tests exposed a wrap around
      error in MySQL next value calculation which was filed as bug#39828. The tests
      will need to be updated once MySQL fix that bug.
      
      One good side effect of this fix is that dict_table_t size has been
      reduced by 8 bytes because we have moved the autoinc_increment field to
      the row_prebuilt_t structure. See review-board for a detailed discussion.
      
      rb://3
      5ad03895
    • sunny's avatar
      branches/5.1: We need to send the messages to the client because · 717ad60f
      sunny authored
      handler::get_auto_increment() doesn't allow a way to return the
      specific error for why it failed.
      
      rb://18
      717ad60f
    • vasil's avatar
      branches/5.1: · 78e58791
      vasil authored
      Print a warning if an attempt is made to get the free space for a table
      whose .ibd file is missing or the tablespace has been discarded. This is a
      followup to r2719.
      
      Suggested by:	Inaam
      78e58791
    • vasil's avatar
      branches/5.1: · 859c2873
      vasil authored
      Fix Bug#39438 Testcase for Bug#39436 crashes on 5.1 in fil_space_get_latch
      
      In ha_innobase::info() - do not try to get the free space for a tablespace
      which has been discarded with ALTER TABLE ... DISCARD TABLESPACE or if the
      .ibd file is missing for some other reason.
      
      ibd_file_missing and tablespace_discarded are manipulated only in
      row_discard_tablespace_for_mysql() and in row_import_tablespace_for_mysql()
      and the manipulation is protected/surrounded by
      row_mysql_lock_data_dictionary()/row_mysql_unlock_data_dictionary() thus we
      do the same in ha_innobase::info() when checking the values of those members
      to avoid race conditions. I have tested the code-path with UNIV_DEBUG and
      UNIV_SYNC_DEBUG.
      
      Looks like it is not possible to avoid mysqld printing warnings in the
      mysql-test case and thus this test innodb_bug39438 must be added to the
      list of exceptional test cases that are allowed to print warnings. For this,
      the following patch must be applied to the mysql source tree:
      
        --- cut ---
        === modified file 'mysql-test/lib/mtr_report.pl'
        --- mysql-test/lib/mtr_report.pl	2008-08-12 10:26:23 +0000
        +++ mysql-test/lib/mtr_report.pl	2008-10-01 11:57:41 +0000
        @@ -412,7 +412,10 @@
         
                         # When trying to set lower_case_table_names = 2
                         # on a case sensitive file system. Bug#37402.
        -                /lower_case_table_names was set to 2, even though your the file system '.*' is case sensitive.  Now setting lower_case_table_names to 0 to avoid future problems./
        +                /lower_case_table_names was set to 2, even though your the file system '.*' is case sensitive.  Now setting lower_case_table_names to 0 to avoid future problems./ or
        +
        +                # this test is expected to print warnings
        +                ($testname eq 'main.innodb_bug39438')
         		)
                     {
                       next;                       # Skip these lines
        
        --- cut ---
      
      The mysql-test is currently somewhat disabled (see inside
      innodb_bug39438.test), after the above patch has been applied to the mysql
      source tree, the test can be enabled.
      
      rb://20
      
      Reviewed by:	Inaam, Calvin
      Approved by:	Heikki
      859c2873
  30. 01 Oct, 2008 1 commit
    • vasil's avatar
      branches/5.1: · bb4a9104
      vasil authored
      Silence a compilation warning in UNIV_DEBUG.
      
      Approved by:	Marko (via IM)
      bb4a9104