Commit graph

146 commits

Author SHA1 Message Date
marko
bc48ebd870 branches/zip: Merge revisions 4976:4994 from branches/5.1:
------------------------------------------------------------------------
  r4994 | marko | 2009-05-14 15:04:55 +0300 (Thu, 14 May 2009) | 18 lines

  branches/5.1: Prevent a race condition in innobase_commit() by ensuring
  that innodb_commit_concurrency>0 remains constant at run time. (Bug #42101)

  srv_commit_concurrency: Make this a static variable in ha_innodb.cc.

  innobase_commit_concurrency_validate(): Check that innodb_commit_concurrency
  is not changed from or to 0 at run time.  This is needed, because
  innobase_commit() assumes that innodb_commit_concurrency>0 remains constant.
  Without this limitation, the checks for innodb_commit_concurrency>0
  in innobase_commit() should be removed and that function would have to
  acquire and release commit_cond_m at least twice per invocation.
  Normally, innodb_commit_concurrency=0, and introducing the mutex operations
  would mean significant overhead.

  innodb_bug42101.test, innodb_bug42101-nonzero.test: Test cases.

  rb://123 approved by Heikki Tuuri
  ------------------------------------------------------------------------
2009-05-14 11:31:43 +00:00
vasil
4f3c09517d branches/zip: Merge revisions 4481:4710 from branches/5.1:
(resolving conflict in r4574, r4575 and skipping r4699 and r4705 because
analogous changes to r4699 and r4705 were already made to branches/zip)

  ------------------------------------------------------------------------
  r4573 | vasil | 2009-03-30 14:17:13 +0300 (Mon, 30 Mar 2009) | 4 lines
  Changed paths:
     M /branches/5.1/mysql-test/innodb.test
  
  branches/5.1:
  
  Fix email address from dev@innodb.com to innodb_dev_ww@oracle.com
  
  ------------------------------------------------------------------------
  r4574 | vasil | 2009-03-30 14:27:08 +0300 (Mon, 30 Mar 2009) | 38 lines
  Changed paths:
     M /branches/5.1/Makefile.am
     M /branches/5.1/mysql-test/innodb.test
  
  branches/5.1:
  
  Restore the state of INNODB_THREAD_CONCURRENCY to silence this warning:
  
    TEST                                      RESULT   TIME (ms)
    ------------------------------------------------------------
    
    worker[1] Using MTR_BUILD_THREAD 250, with reserved ports 12500..12509
    main.innodb                              [ pass ]   8803
    
    MTR's internal check of the test case 'main.innodb' 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-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.log'.
    mysqltest: Results saved in '/tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.result'.
    mysqltest: Connecting to server localhost:12500 (socket /tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/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-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.result	2009-03-30 14:12:31.000000000 +0300
    +++ /tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.reject	2009-03-30 14:12:41.000000000 +0300
    @@ -99,7 +99,7 @@
     INNODB_SUPPORT_XA	ON
     INNODB_SYNC_SPIN_LOOPS	20
     INNODB_TABLE_LOCKS	ON
    -INNODB_THREAD_CONCURRENCY	8
    +INNODB_THREAD_CONCURRENCY	16
     INNODB_THREAD_SLEEP_DELAY	10000
     INSERT_ID	0
     INTERACTIVE_TIMEOUT	28800
    
    mysqltest: Result content mismatch
    
    not ok
  
  ------------------------------------------------------------------------
  r4575 | vasil | 2009-03-30 15:55:31 +0300 (Mon, 30 Mar 2009) | 8 lines
  Changed paths:
     M /branches/5.1/mysql-test/innodb.result
     M /branches/5.1/mysql-test/innodb.test
  
  branches/5.1:
  
  Fix Bug#43309 Test main.innodb can't be run twice
  
  Make the innodb mysql-test more flexible by inspecting how much a
  variable of interest has changed since the start of the test. Do not
  assume the variables have zero values at the start of the test.
  
  ------------------------------------------------------------------------
  r4576 | vasil | 2009-03-30 16:25:10 +0300 (Mon, 30 Mar 2009) | 4 lines
  Changed paths:
     M /branches/5.1/Makefile.am
  
  branches/5.1:
  
  Revert a change to Makefile.am that I committed accidentally in c4574.
  
  ------------------------------------------------------------------------
  r4659 | vasil | 2009-04-06 15:34:51 +0300 (Mon, 06 Apr 2009) | 6 lines
  Changed paths:
     M /branches/5.1/mysql-test/innodb.test
  
  branches/5.1:
  
  Followup to r4575 and the fix of Bug#43309 Test main.innodb can't be run twice:
  
  Add an explanatory comment, as suggested by Patrick Crews in the bug report.
  
  ------------------------------------------------------------------------
  r4699 | vasil | 2009-04-09 14:01:52 +0300 (Thu, 09 Apr 2009) | 15 lines
  Changed paths:
     M /branches/5.1/handler/ha_innodb.cc
     M /branches/5.1/include/srv0srv.h
     M /branches/5.1/page/page0cur.c
     M /branches/5.1/srv/srv0srv.c
  
  branches/5.1:
  
  Fix Bug#43660 SHOW INDEXES/ANALYZE does NOT update cardinality for indexes
  of InnoDB table
  
  by replacing the PRNG that is used to pick random pages with a better
  one.
  
  This is based on r4670 but also adds a new configuration option and
  enables the fix only if this option is changed. Please skip the present
  revision when merging.
  
  Approved by:	Heikki (via email)
  
  
  ------------------------------------------------------------------------
  r4705 | vasil | 2009-04-14 14:30:13 +0300 (Tue, 14 Apr 2009) | 5 lines
  Changed paths:
     M /branches/5.1/page/page0cur.c
  
  branches/5.1:
  
  When using the random function, first take the modulus by the number of pages
  and then typecast to ulint.
  
  ------------------------------------------------------------------------
  r4710 | vasil | 2009-04-15 11:55:18 +0300 (Wed, 15 Apr 2009) | 25 lines
  Changed paths:
     M /branches/5.1/handler/ha_innodb.cc
  
  branches/5.1:
  
  Merge a change from MySQL (looks like this is against 5.0 but they later
  merged it to 5.1):
  
    ------------------------------------------------------------
    revno: 1810.3846.1
    committer: Alexey Botchkov <holyfoot@mysql.com>
    branch nick: 31435
    timestamp: Tue 2008-11-11 14:42:32 +0400
    message:
      Bug#31435 ha_innodb.cc:3983: ulint convert_search_mode_to_innobase(ha_rkey_function): Asse 
          I think we don't need to issue an error statement in the convert_search_mode_to_innobase().
          Returning the PAGE_CUR_UNSUPP value is enough as allows to handle this
          case depending on the requirements.
      
      per-file comments:
        sql/ha_innodb.cc 
      Bug#31435 ha_innodb.cc:3983: ulint convert_search_mode_to_innobase(ha_rkey_function): Asse 
           no error issued in convert_search_mode_to_innobase.
           ha_innobase::records_in_range() returns HA_POS_ERROR if search mode isn't supported.
    modified:
      sql/ha_innodb.cc
  
  
  ------------------------------------------------------------------------
2009-04-15 08:26:32 +00:00
marko
e5cd059f4b branches/zip: Adjust r4673 as in the merge to branches/6.0 -r4676. 2009-04-07 12:19:31 +00:00
marko
ab341009d7 branches/zip: Allow in-place updates of UTF-8 CHAR columns
from or to NULL in ROW_FORMAT=REDUNDANT. (Bug #44032)

rb://107 approved by Heikki Tuuri.
2009-04-07 11:45:28 +00:00
marko
ab67f4eb4a branches/zip: Refuse to use newly created indexes that may lack
history.  This addresses Mantis issue #116.

dict_index_t: Enable the storage of trx_id.

row_prebuilt_t: Make many fields bit-fields to reduce the memory
footprint. Add index_usable.

ha_innobase::change_active_index(): Check if the index is usable and
set prebuilt->index_usable accordingly. Unfortunately, the return
status of this function is ignored by MySQL, and the actual refusal to
use the index must be made in row_search_for_mysql().

row_search_for_mysql(): Return DB_MISSING_HISTORY if
!prebuilt->index_usable.

convert_error_code_to_mysql(): Map DB_MISSING_HISTORY to
HA_ERR_TABLE_DEF_CHANGED.

innodb-index.test: Add a test case where access to a newly created
secondary index must be blocked for old transactions.

rb://100 approved by Heikki Tuuri
2009-04-02 12:23:12 +00:00
vasil
a10dbcf572 branches/zip:
Remove mysql-test/patches/bug41893.diff because that bug has been fixed
in the MySQL repository, see http://bugs.mysql.com/41893.
2009-03-18 09:53:53 +00:00
vasil
b0886420bb branches/zip:
Remove mysql-test/patches/bug32625.diff because that bug was fixed in
the mysql repository (1 year and 4 months after sending them the simple
patch!). See http://bugs.mysql.com/32625
2009-03-17 07:38:19 +00:00
marko
48070b5332 branches/zip: Merge revisions 4359:4400 from branches/5.1:
------------------------------------------------------------------------
  r4399 | marko | 2009-03-12 09:38:05 +0200 (Thu, 12 Mar 2009) | 2 lines

  branches/5.1: row_sel_get_clust_rec_for_mysql(): Store the cursor position
  also for unlock_row().  (Bug #39320)
  ------------------------------------------------------------------------
  r4400 | marko | 2009-03-12 10:06:44 +0200 (Thu, 12 Mar 2009) | 5 lines

  branches/5.1: Fix a bug in multi-table semi-consistent reads.
  Remember the acquired record locks per table handle (row_prebuilt_t)
  rather than per transaction (trx_t), so that unlock_row should successfully
  unlock all non-matching rows in multi-table operations.
  This deficiency was found while investigating Bug #39320.
  ------------------------------------------------------------------------

These were submitted as rb://94 and rb://96 and approved by Heikki Tuuri.
2009-03-12 08:26:40 +00:00
vasil
602ce08d2f branches/zip: Merge revisions 4287:4357 from branches/5.1:
------------------------------------------------------------------------
  r4325 | sunny | 2009-03-02 02:28:52 +0200 (Mon, 02 Mar 2009) | 10 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: Bug#43203: Overflow from auto incrementing causes server segv
  It was not a SIGSEGV but an assertion failure. The assertion was checking
  the invariant that *first_value passed in by MySQL doesn't contain a value
  that is greater than the max value for that type. The assertion has been
  changed to a check and if the value is greater than the max we report a
  generic AUTOINC failure.
  
  rb://93
  Approved by Heikki
  
  ------------------------------------------------------------------------
2009-03-05 20:23:17 +00:00
vasil
1a6c97369f branches/zip:
Do not output the commands that restore the environment because they depend
on the state of the environment before the test starts executing.
2009-02-25 19:33:32 +00:00
vasil
63107fbdbf branches/zip: Merge revisions 4261:4287 from branches/5.1:
------------------------------------------------------------------------
  r4287 | sunny | 2009-02-25 05:32:01 +0200 (Wed, 25 Feb 2009) | 10 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#42714 AUTO_INCREMENT errors in 5.1.31. There are two
  changes to the autoinc handling.
  
  1. To fix the immediate problem from the bug report, we must ensure that the
     value written to the table is always less than the max value stored in
     dict_table_t.
  
  2. The second related change is that according to MySQL documentation when
     the offset is greater than the increment, we should ignore the offset.
  
  ------------------------------------------------------------------------
2009-02-25 08:48:07 +00:00
vasil
b4399fa819 branches/zip:
Merge revisions 4035:4261 from branches/5.1:

  ------------------------------------------------------------------------
  r4065 | sunny | 2009-01-29 16:01:36 +0200 (Thu, 29 Jan 2009) | 8 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: In the last round of AUTOINC cleanup we assumed that AUTOINC
  is only defined for integer columns. This caused an assertion failure when
  we checked for the maximum value of a column type. We now calculate the
  max value for floating-point autoinc columns too.
  
  Fix Bug#42400 - InnoDB autoinc code can't handle floating-point columns
  rb://84 and Mantis issue://162
  
  ------------------------------------------------------------------------
  r4111 | sunny | 2009-02-03 22:06:52 +0200 (Tue, 03 Feb 2009) | 2 lines
  Changed paths:
     M /branches/5.1/handler/ha_innodb.cc
  
  branches/5.1: Add the ULL suffix otherwise there is an overflow.
  
  ------------------------------------------------------------------------
  r4128 | vasil | 2009-02-08 21:36:45 +0200 (Sun, 08 Feb 2009) | 18 lines
  Changed paths:
     M /branches/5.1/mysql-test/innodb-autoinc.result
     M /branches/5.1/mysql-test/innodb-autoinc.test
  
  branches/5.1:
  
  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
  
  ------------------------------------------------------------------------
  r4129 | vasil | 2009-02-08 21:54:25 +0200 (Sun, 08 Feb 2009) | 310 lines
  Changed paths:
     M /branches/5.1/mysql-test/innodb-autoinc.test
  
  branches/5.1:
  
  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
  
  ------------------------------------------------------------------------
  r4165 | calvin | 2009-02-12 01:34:27 +0200 (Thu, 12 Feb 2009) | 1 line
  Changed paths:
     M /branches/5.1/handler/ha_innodb.cc
  
  branches/5.1: minor non-functional changes.
  ------------------------------------------------------------------------
2009-02-20 12:56:59 +00:00
vasil
e1c65d9fe4 branches/zip:
Fix the failing mysql-test partition_innodb, which failed only if run after
innodb_trx_weight (or other test that would leave LATEST DEADLOCK ERROR into
the output of SHOW ENGINE INNODB STATUS). Find further explanation for the
failure at the top of the added patch partition_innodb.diff.
2009-02-13 08:06:31 +00:00
vasil
2cae584e53 branches/zip:
Fix pathname of the file to patch.
2009-02-12 15:38:27 +00:00
calvin
9cec478049 branches/zip: Adjust the result file of innodb_thread_concurrency_basic
test. The default value of innodb_thread_concurrency is changed to 0
(from 8) via r4163.
2009-02-12 08:37:10 +00:00
marko
25f45c0d1c branches/zip: Make innodb_thread_concurrency=0 the default.
The old default was 8.
2009-02-11 22:14:19 +00:00
vasil
6ee1121903 branches/zip:
Remove mysql-test/patches/bug35261.diff because that bug has been fixed
in the MySQL repository.
2009-02-09 11:47:16 +00:00
vasil
b21c3e9c7d branches/zip:
Fix the failing innodb-zip test to restore the environment as it was before
the test execution because a newly added feature in the mysql-test framework
does check for this.
2009-02-02 16:33:20 +00:00
vasil
fbc7f95253 branches/zip:
Fix a mysql-test failure in innodb-zip:

main.innodb-zip                          [ fail ]
        Test ended at 2009-02-02 18:13:25

CURRENT_TEST: main.innodb-zip
mysqltest: At line 160: Found line beginning with --  that didn't contain a valid mysqltest command, check your syntax or use # if you intended to write a comment
2009-02-02 16:24:08 +00:00
vasil
f2842a215f branches/zip:
Adjust the failing patch patches/information_schema.diff.
2009-01-31 06:05:24 +00:00
vasil
3c0d6f302f branches/zip:
Adjust the paths in innodb_lock_wait_timeout.diff with a recent rename of
the test/result files in the MySQL tree.
2009-01-28 06:21:44 +00:00
vasil
b20b32d1c8 branches/zip:
Adjust the paths in innodb_file_per_table.diff with a recent rename of
the test/result files in the MySQL tree.
2009-01-27 06:04:17 +00:00
marko
b6521766d3 branches/zip: Add the tests that were forgotten from r3795. 2009-01-07 14:19:32 +00:00
vasil
881759bacb branches/zip:
Add patch to fix the failing main.variables mysql-test. It started failing
after the variable innodb_use_sys_malloc was added because it matches
'%alloc%' and the test is badly written and expects that no new variables
like that will ever be added.
2009-01-06 07:56:32 +00:00
marko
6c9b61690a branches/zip: Merge revisions 3598:3601 from branches/5.1:
------------------------------------------------------------------------
  r3601 | marko | 2008-12-22 16:05:19 +0200 (Mon, 22 Dec 2008) | 9 lines

  branches/5.1: Make
  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
  ------------------------------------------------------------------------
2009-01-05 10:54:53 +00:00
inaam
09a089ecf8 branches/zip: Implement the parameter innodb_use_sys_malloc
(false by default), for disabling InnoDB's internal memory allocator
and using system malloc/free instead.

rb://62 approved by Marko
2009-01-02 13:10:50 +00:00
vasil
7ed448ce95 branches/zip:
Merge 2929:3458 from branches/5.1 (resolving conflict in c3257,
note also that r3363 reverted r2933 so there are not changes in
mysql-test/innodb-autoinc.result with the current merge):

  ------------------------------------------------------------------------
  r2933 | calvin | 2008-10-30 02:57:31 +0200 (Thu, 30 Oct 2008) | 10 lines
  Changed paths:
     M /branches/5.1/mysql-test/innodb-autoinc.result
  
  branches/5.1: correct the result file innodb-autoinc.result
  
  Change the followings:
    auto_increment_increment
    auto_increment_offset
  
  to
    auto-increment-increment
    auto-increment-offset
  
  ------------------------------------------------------------------------
  r2981 | marko | 2008-11-07 14:54:10 +0200 (Fri, 07 Nov 2008) | 5 lines
  Changed paths:
     M /branches/5.1/row/row0mysql.c
  
  branches/5.0: row_mysql_store_col_in_innobase_format(): Correct a misleading
  comment. In the UTF-8 encoding, ASCII takes 1 byte per character, while
  the "latin1" character set (normally ISO-8859-1, but in MySQL it actually
  refers to the Windows Code Page 1252 a.k.a. CP1252, WinLatin1)
  takes 1 to 3 bytes (1 to 2 bytes for the ISO-8859-1 subset).
  ------------------------------------------------------------------------
  r3114 | calvin | 2008-11-14 20:31:48 +0200 (Fri, 14 Nov 2008) | 8 lines
  Changed paths:
     M /branches/5.1/handler/ha_innodb.cc
  
  branches/5.1: fix bug#40386: Not flushing query cache after truncate
  
  ha_statistics.records can not be 0 unless the table is empty, set to
  1 instead. The original problem of bug#29507 is fixed in the server.
  
  Additional test was done with the fix of bug#29507 in the server.
  
  Approved by: Heikki (on IM)
  ------------------------------------------------------------------------
  r3257 | inaam | 2008-11-24 22:06:50 +0200 (Mon, 24 Nov 2008) | 13 lines
  Changed paths:
     M /branches/5.1/handler/ha_innodb.cc
     M /branches/5.1/srv/srv0srv.c
     M /branches/5.1/trx/trx0trx.c
  
  branches/5.1 bug#40760
  
  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
  
  
  ------------------------------------------------------------------------
  r3363 | calvin | 2008-12-04 19:00:20 +0200 (Thu, 04 Dec 2008) | 13 lines
  Changed paths:
     M /branches/5.1/mysql-test/innodb-autoinc.result
  
  branches/5.1: revert the changes in r2933
  
  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
  
  ------------------------------------------------------------------------
  r3412 | vasil | 2008-12-05 10:46:18 +0200 (Fri, 05 Dec 2008) | 7 lines
  Changed paths:
     M /branches/5.1/trx/trx0undo.c
  
  branches/5.1:
  
  Add the traditional 2 spaces after the timestamp so the message does
  not look like:
  
  070223 13:26:01InnoDB: Warning: canno....
  
  ------------------------------------------------------------------------
  r3458 | vasil | 2008-12-09 11:21:08 +0200 (Tue, 09 Dec 2008) | 51 lines
  Changed paths:
     M /branches/5.1/mysql-test/innodb_bug34300.test
  
  branches/5.1:
  
  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
    ------------------------------------------------------------
  
  
  ------------------------------------------------------------------------
2008-12-09 09:49:03 +00:00
marko
6bdab319ad branches/zip: Always check for "row too large" when executing SQL to create
an index or table.  We have to skip this check when loading table definitions
from the data dictionary, because we could otherwise refuse to load old
tables (even uncompressed ones).  This addresses Issue #119.

The first "row too large" check was implemented in MySQL 5.0.3
to address MySQL Bug #5682.  In the InnoDB Plugin 1.0.2, a more
accurate check was implemented in innodb_strict_mode.  We now
make the check unconditional.

dict_create_index_step(): Pass strict=TRUE to dict_index_add_to_cache().

trx_is_strict(), thd_is_strict(): Remove.

innodb-zip.test: Test in innodb_strict_mode=OFF.

innodb_bug36169.test: Ensure that none of the tables can be created.

rb://56 approved by Sunny Bains.
2008-11-20 10:22:40 +00:00
vasil
c368f38f4d branches/zip:
Fix "Bug#40360 Binlog related errors with binlog off" in InnoDB code in order
to have a Bug#40360-free InnoDB Plugin 1.0.2.

The fix does check whether binary logging is enabled in MySQL by accessing the
opt_bin_log global variable that is defined in sql/mysqld.cc.

In case MySQL does develop another solution to this via Bug#40360 then we can
revert this patch (except the mysql-tests).

The windows-plugin part of this fix will be committed as a separate commit to
ease eventual merge into branches/5.1 [note from the future: the separate
commit went into r2936].

Approved by:	Marko (https://svn.innodb.com/rb/r/39)
2008-10-30 10:17:23 +00:00
vasil
f18a970fb5 branches/zip:
Adjust mysql-test/patches/innodb-index.diff after the change to
mysql-test/innodb-index.(test|result) in r2870.
2008-10-24 09:48:38 +00:00
vasil
557f94e759 branches/zip:
Remove a statement that causes the innodb-index test to fail.

The change in behavior was introduced in MySQL BZR-r2738.

Suggested by:	Marko
2008-10-24 09:36:14 +00:00
sunny
448956779d Reverting test file changes from r2855 2008-10-23 06:07:05 +00:00
sunny
f9c42d81e7 branches/zip:
Merge revisions 2837:2852 from branches/5.1:

  ------------------------------------------------------------------------
  r2849 | sunny | 2008-10-22 12:01:18 +0300 (Wed, 22 Oct 2008) | 8 lines
  Changed paths:
     M /branches/5.1/handler/ha_innodb.cc
     M /branches/5.1/include/row0mysql.h
     M /branches/5.1/row/row0mysql.c
  
  branches/5.1: Return the actual error code encountered when allocating
  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
  
  ------------------------------------------------------------------------
  r2852 | sunny | 2008-10-23 01:42:24 +0300 (Thu, 23 Oct 2008) | 9 lines
  Changed paths:
     M /branches/5.1/handler/ha_innodb.cc
     M /branches/5.1/handler/ha_innodb.h
  
  branches/5.1: Backport r2724 from branches/zip
  
  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
  
  
  ------------------------------------------------------------------------
2008-10-23 05:29:46 +00:00
vasil
49589d0ae2 branches/zip:
Merge 2744:2837 from branches/5.1 (skipping r2782 and r2826):

  ------------------------------------------------------------------------
  r2832 | vasil | 2008-10-21 10:08:30 +0300 (Tue, 21 Oct 2008) | 10 lines
  Changed paths:
     M /branches/5.1/handler/ha_innodb.cc
  
  branches/5.1:
  
  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
  
  ------------------------------------------------------------------------
  r2837 | vasil | 2008-10-21 12:07:44 +0300 (Tue, 21 Oct 2008) | 32 lines
  Changed paths:
     M /branches/5.1/mysql-test/innodb-semi-consistent.result
     M /branches/5.1/mysql-test/innodb-semi-consistent.test
     M /branches/5.1/mysql-test/innodb.result
     M /branches/5.1/mysql-test/innodb.test
  
  branches/5.1:
  
  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
  
  
  ------------------------------------------------------------------------
2008-10-21 08:49:27 +00:00
marko
bb4b3f4008 branches/zip: Skip the undo log size check on REDUNDANT and COMPACT tables.
In ROW_FORMAT=DYNAMIC and ROW_FORMAT=COMPRESSED, column prefix indexes
require that prefixes of externally stored columns be written to the
undo log. This may make the undo log record bigger than the record on
the B-tree page.  The maximum size of an undo log record is the page
size.  That must be checked for, in dict_index_add_to_cache().

dict_index_add_to_cache(): Skip the undo log size check for REDUNDANT
and COMPACT tables. These tables store prefixes of externally stored
columns locally within the clustered index record.  There are no special
considerations for the undo log record size.

innodb-index.test: Ensure that the check exists for ROW_FORMAT=DYNAMIC,
but not for ROW_FORMAT=COMPACT.

This fixes issue #99.  rb://28 approved by Sunny.
2008-10-16 05:41:13 +00:00
vasil
5a22aa2f10 branches/zip:
Remove mysql-test/patches/bug37312.diff because MySQL "fixed"
Bug#37312 by removing the test.

http://bugs.mysql.com/37312
http://lists.mysql.com/commits/54462
2008-10-13 14:34:34 +00:00
vasil
bc333b65eb branches/zip:
Remove mysql-test/patches/bug31231.diff since this patch hit the
MySQL repository.
2008-10-11 18:19:04 +00:00
marko
c39985b096 branches/zip: mysql-test/patches/innodb_file_per_table.diff:
@@GLOBAL.innodb_file_per_table can be 0 or 1, while
SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES
WHERE VARIABLE_NAME='innodb_file_per_table'
can be 'OFF' or 'ON'.  For some reason, MySQL evaluates
(0 = 'OFF') to 1 and (1 = 'ON') to 0.  Thus, the test would
fail if innodb_file_per_table is set.
2008-10-08 10:39:45 +00:00
marko
f52d978ef5 branches/zip: mysql-test/patches/information_schema.diff:
Add patches to other mysql-test results that fail because of the added
INFORMATION_SCHEMA tables: information_schema_db.result, mysqlshow.result.
2008-10-07 10:28:45 +00:00
vasil
aed4270763 branches/zip:
Rename type_bit_innodb.diff to bug32625.diff since an equivalent patch has
been submitted to MySQL as Bug#32625 Make test type_bit_innodb more robust.
2008-10-07 08:41:42 +00:00
marko
2eda3b44a5 branches/zip: Add some more patches to mysql-test.
type_bit_innodb.diff: Ignore the reported duplicate value.  The reported
value depends on the internal workings of the merge sort in
fast index creation.  In the built-in InnoDB of MySQL 5.1, the records
are copied to a new temporary table in the order they were selected from
the original table.

information_schema.diff: Account for the INFORMATION_SCHEMA tables that
were added in the InnoDB plugin.

innodb_file_per_table.diff: In the InnoDB plugin, innodb_file_per_table
is a settable global variable.
2008-10-07 08:06:17 +00:00
marko
a25e07bad8 branches/zip: Patch the mysql-test suite, so that it will not fail
because innodb_lock_wait_timeout is a settable session variable as of r2716.

mysql-test/patches/innodb_lock_wait_timeout.diff: New file.
2008-10-07 07:24:33 +00:00
sunny
cb0cacc2d8 branches/zip: Merge revisions 2702:2722 from branches/5.1:
------------------------------------------------------------------------
  r2702 | sunny | 2008-09-30 11:41:56 +0300 (Tue, 30 Sep 2008) | 13 lines
  Changed paths:
     M /branches/5.1/handler/ha_innodb.cc
  
  branches/5.1: Since handler::get_auto_increment() doesn't allow us
  to return the cause of failure we have to inform MySQL using the
  sql_print_warning() function to return the cause for autoinc failure.
  Previously we simply printed the error code, this patch prints the
  text string representing the following two error codes:
  
  DB_LOCK_WAIT_TIMEOUT
  DB_DEADLOCK.
  
  Bug#35498 Cannot get table test/table1 auto-inccounter value in ::info
  
  Approved by Marko.
  
  ------------------------------------------------------------------------
  r2709 | vasil | 2008-10-01 10:13:13 +0300 (Wed, 01 Oct 2008) | 10 lines
  Changed paths:
     M /branches/5.1/include/lock0lock.h
     M /branches/5.1/lock/lock0lock.c
     A /branches/5.1/mysql-test/innodb_bug38231.result
     A /branches/5.1/mysql-test/innodb_bug38231.test
     M /branches/5.1/row/row0mysql.c
  
  branches/5.1:
  
  Fix Bug#38231 Innodb crash in lock_reset_all_on_table() on TRUNCATE + LOCK / UNLOCK
  
  In TRUNCATE TABLE and discard tablespace: do not remove table-level S
  and X locks and do not assert on such locks not being wait locks.
  Leave such locks alone.
  
  Approved by:	Heikki (rb://14)
  
  ------------------------------------------------------------------------
  r2710 | vasil | 2008-10-01 14:13:58 +0300 (Wed, 01 Oct 2008) | 6 lines
  Changed paths:
     M /branches/5.1/include/sync0sync.ic
  
  branches/5.1:
  
  Silence a compilation warning in UNIV_DEBUG.
  
  Approved by:	Marko (via IM)
  
  ------------------------------------------------------------------------
  r2719 | vasil | 2008-10-03 18:17:28 +0300 (Fri, 03 Oct 2008) | 49 lines
  Changed paths:
     M /branches/5.1/handler/ha_innodb.cc
     A /branches/5.1/mysql-test/innodb_bug39438-master.opt
     A /branches/5.1/mysql-test/innodb_bug39438.result
     A /branches/5.1/mysql-test/innodb_bug39438.test
  
  branches/5.1:
  
  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
  
  ------------------------------------------------------------------------
  r2720 | vasil | 2008-10-03 19:52:39 +0300 (Fri, 03 Oct 2008) | 8 lines
  Changed paths:
     M /branches/5.1/handler/ha_innodb.cc
  
  branches/5.1:
  
  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
  
  ------------------------------------------------------------------------
  r2721 | sunny | 2008-10-04 02:08:23 +0300 (Sat, 04 Oct 2008) | 6 lines
  Changed paths:
     M /branches/5.1/handler/ha_innodb.cc
  
  branches/5.1: We need to send the messages to the client because
  handler::get_auto_increment() doesn't allow a way to return the
  specific error for why it failed.
  
  rb://18
  
  ------------------------------------------------------------------------
  r2722 | sunny | 2008-10-04 02:48:04 +0300 (Sat, 04 Oct 2008) | 18 lines
  Changed paths:
     M /branches/5.1/dict/dict0mem.c
     M /branches/5.1/handler/ha_innodb.cc
     M /branches/5.1/include/dict0mem.h
     M /branches/5.1/include/row0mysql.h
     M /branches/5.1/mysql-test/innodb-autoinc.result
     M /branches/5.1/mysql-test/innodb-autoinc.test
     M /branches/5.1/row/row0mysql.c
  
  branches/5.1: This bug has always existed but was masked by other errors. The
  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
  
  ------------------------------------------------------------------------
2008-10-04 03:22:36 +00:00
marko
495e946675 branches/zip: innodb-index.test: Make the pattern for temporary table names
more generic.  The previous pattern could fail if other test cases were run
before this one.  Since r2716, the MySQL server is not restarted for this test.
2008-10-03 09:43:35 +00:00
marko
be56c64772 branches/zip: Make innodb_lock_wait_timeout a settable session variable
(Bug #36285, rb://9).

innodb-index.test, innodb-index.result: Set innodb_lock_wait_timeout as
a session variable instead of relying on the global value.

innodb-index-master.opt: Remove.

innodb-timeout.test: Test that setting the innodb_lock_wait_timeout
works as advertised.

thd_lock_wait_timeout(): New function, to retrieve the lock wait timeout
for a given MySQL client connection (thd), or the global value (thd==NULL).

srv_lock_wait_timeout, innobase_lock_wait_timeout: Remove.

Replace MYSQL_SYSVAR_LONG(lock_wait_timeout)
with MYSQL_THDVAR_ULONG(lock_wait_timeout).
2008-10-03 09:24:23 +00:00
vasil
079abdb25f branches/zip:
Change the patch to fix the failing mysql-test index_merge_innodb.

The previous variant is inappropriate because myisam results are different
(2 instead of 4) and then the index_merge_myisam test fails.
2008-09-30 15:26:38 +00:00
vasil
73bf3d592c branches/zip:
Add a patch to fix the failing mysql-test index_merge_innodb. The test
started failing after an optimization, made in r2625, which results in
a different number of rows being returned by EXPLAIN.
2008-09-26 10:50:05 +00:00
vasil
42398af711 branches/zip:
Fix typos in mysql-test/patches/README.
2008-09-26 09:40:30 +00:00
marko
75fe6fa6a4 branches/zip: When creating an index in innodb_strict_mode, check that
the maximum record size will never exceed the B-tree page size limit.
For uncompressed tables, there should always be enough space for two
records in an empty B-tree page.  For compressed tables, there should
be enough space for storing two node pointer records or one data
record in an empty page in uncompressed format.

dict_build_table_def_step(): Remove the inaccurate check for table row
size.

dict_index_too_big_for_tree(): New function: check if the index
records would be too big for a B-tree page.

dict_index_add_to_cache(): Add the parameter "strict".  Invoke
dict_index_too_big_for_tree() if it is set.

trx_is_strict(), thd_is_strict(): New functions, for determining if
innodb_strict_mode is enabled for the current transaction.

dict_create_index_step(): Pass the new parameter strict of
dict_index_add_to_cache() as trx_is_strict(trx).  All other callers
pass it as FALSE.

innodb.test: Enable innodb_strict_mode before attempting to create a
table with a too big record size.

innodb-zip.test: Remove the test of inserting random data.  Add tests
for checking that the maximum record lengths are enforced at table
creation time.
2008-09-18 12:31:17 +00:00
marko
34426c473e branches/zip: Add some tests for innodb_strict_mode.
ha_innodb.cc: Declare strict_mode as PLUGIN_VAR_OPCMDARG, because we
do want to be able to disable innodb_strict_mode.  This is a non-functional
change, because PLUGIN_VAR_NOCMDARG seems to accept an argument as well.

innodb-zip.test: Do not store innodb_strict_mode.  It is a session variable.
Add a test case for innodb_strict_mode=off.
2008-09-17 08:12:03 +00:00