------------------------------------------------------------ revno: 3099 committer: mysqldev branch nick: mysql-5.1.41-ndb-6.3.31b timestamp: Thu 2010-02-18 00:38:45 +0100 message: ndb - change version to 6.3.31b ------------------------------------------------------------ revno: 3098 committer: mysqldev branch nick: mysql-5.1.41-ndb-6.3.31b timestamp: Thu 2010-02-18 00:38:12 +0100 message: ndb - bug#51256 - fix bug in ndb_malloc_impl when requesting > 2Gb-chunks ------------------------------------------------------------ revno: 3097 tags: mysql-5.1.41-ndb-6.3.31a, clone-mysql-5.1.41-ndb-6.3.31a-src-build committer: Jonas Oreland branch nick: 6.3.31 timestamp: Mon 2010-02-15 12:59:06 +0100 message: ndb - change version to 6.3.31a ------------------------------------------------------------ revno: 3096 committer: Jonas Oreland branch nick: 6.3.31 timestamp: Mon 2010-02-15 12:50:39 +0100 message: ndb - bug#51027 (6.3.31a) - handle non-continious memory for IndexMemory and RedoBuffer ------------------------------------------------------------ revno: 3095 tags: clone-mysql-5.1.41-ndb-6.3.31-src-build, mysql-5.1.41-ndb-6.3.31 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Thu 2010-01-28 11:11:45 +0100 message: ndb - add clonename argument to autotest-{run/boot} so that one can give easier name for upgrade testing ------------------------------------------------------------ revno: 3094 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Wed 2010-01-27 14:37:49 +0100 message: ndb - bug#50621 - allow autoincrement prefetch size up to 65536 ------------------------------------------------------------ revno: 3093 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Wed 2010-01-27 11:41:43 +0100 message: ndb - bug#50640 - fix stdout/stderr printing in ndb_restore wrt rebuilding of indexes ------------------------------------------------------------ revno: 3092 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Wed 2010-01-27 10:29:10 +0100 message: ndb - bug#50650 - introduce NDB$MAX_DELETE_WIN ------------------------------------------------------------ revno: 3091 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Wed 2010-01-27 09:56:22 +0100 message: ndb - introduce bug#50648 (i.e revert previous change) ------------------------------------------------------------ revno: 3090 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Tue 2010-01-26 15:01:29 +0100 message: remove printout for data-event in listen_event, as it makes it useless for load-related testing ------------------------------------------------------------ revno: 3089 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Mon 2010-01-25 16:36:04 +0100 message: ndb - bug#47818 - Move allocation of IndexMemory from ACC to allocation with global pool to avoid mallocs in "signal" code which can lead to heartbeat problems ------------------------------------------------------------ revno: 3088 committer: Magnus Bl?udd branch nick: 6.3 timestamp: Mon 2010-01-25 09:36:04 +0100 message: Merge patch for bug#49724 to 6.3 ------------------------------------------------------------ revno: 3087 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Thu 2010-01-21 16:24:03 +0100 message: ndb - bug#37430 - force allocated memory into resident set, by touching a byte on every 4k page ------------------------------------------------------------ revno: 3086 committer: Magnus Blaudd branch nick: mysql-5.1-telco-6.3 timestamp: Wed 2010-01-20 11:34:35 +0100 message: Merge ------------------------------------------------------------ revno: 3083.1.1 committer: Magnus Blaudd branch nick: 6.3 timestamp: Wed 2010-01-20 10:32:13 +0100 message: Merge 6.2 -> 6.3 ------------------------------------------------------------ revno: 2572.70.56 committer: Magnus Blaudd branch nick: 6.2 timestamp: Wed 2010-01-20 10:28:50 +0100 message: Merge mcp to 6.2 ------------------------------------------------------------ revno: 2572.79.1 committer: Magnus Blaudd branch nick: 6.2 timestamp: Wed 2010-01-20 10:11:20 +0100 message: mcp - revert unnecessary changes of bool -> my_bool ------------------------------------------------------------ revno: 3085 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Wed 2010-01-20 10:37:24 +0100 message: ndb - add one additional test to ndb_restore + mtoib ------------------------------------------------------------ revno: 3084 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Wed 2010-01-20 10:36:48 +0100 message: ndb - more compiler warnings ------------------------------------------------------------ revno: 3083 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Tue 2010-01-19 08:22:59 +0100 message: ndb - more gcc 4.4 warnings ------------------------------------------------------------ revno: 3082 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Mon 2010-01-18 17:31:48 +0100 message: ndb - compiler warnings for gcc 4.4 ------------------------------------------------------------ revno: 3081 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Mon 2010-01-18 15:17:44 +0100 message: ndb - bug#50118 commit testcase to 6.3 ------------------------------------------------------------ revno: 3080 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Mon 2010-01-18 12:11:04 +0100 message: ndb - bug#49737 - fix correct error message if encountering truncated LCP file ------------------------------------------------------------ revno: 3079 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Mon 2010-01-18 11:49:18 +0100 message: ndb - improve error message if "testDict -n Bug36072" fails ------------------------------------------------------------ revno: 3078 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Mon 2010-01-18 10:50:45 +0100 message: merge 62 to 63 ------------------------------------------------------------ revno: 2572.70.55 committer: Jonas Oreland branch nick: telco-6.2 timestamp: Mon 2010-01-18 10:47:12 +0100 message: ndb - bug#48700 Make sure that checkScanShrink/expand checks all ongoing scans, not just the first 4 ------------------------------------------------------------ revno: 3077 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Thu 2010-01-14 10:34:53 +0100 message: merge 62 to 63 ------------------------------------------------------------ revno: 2572.70.54 committer: Jonas Oreland branch nick: telco-6.2 timestamp: Thu 2010-01-14 10:05:52 +0100 message: ndb - mysql-5.1.41 became much stricter in handling of DBUG_ENTER/DBUG_RETURN and asserts if DBUG_RETURN is missing. This causes "random" asserts in ndb_mgmd/mgmapi, as handling is sloppy. This patch addresses mgmapi.cpp ------------------------------------------------------------ revno: 3076 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Wed 2010-01-13 09:56:02 +0100 message: ndb - add possibility to do multi threaded build of ordered indexes from ndb_restore ------------------------------------------------------------ revno: 3075 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Tue 2010-01-12 08:26:46 +0100 message: ndb - bug#50266 - release build idx record at end of mtoib, also init jamidx ------------------------------------------------------------ revno: 3074 committer: Andrei Elkin branch nick: mysql-5.1-telco-6.3 timestamp: Wed 2009-12-23 13:25:52 +0200 message: Bug #49802: backport Bug #37714 rpl.rpl_heartbeat to telco fixed with backporting two patches of bug@37714 ------------------------------------------------------------ revno: 3073 committer: Pekka Nousiainen branch nick: my51-bug34348-63 timestamp: Mon 2009-12-21 19:12:18 +0200 message: merge bug34348 62 to 63 ------------------------------------------------------------ revno: 2572.70.53 committer: Pekka Nousiainen branch nick: my51-bug34348 timestamp: Mon 2009-12-21 17:35:52 +0200 message: bug#34348 01_acc.diff In ACC, hash expand fails if fragment top level directory is full (256). Instead of crash, set a flag on fragment and return error on any insert. The flag is cleared when a hash shrink takes place. ------------------------------------------------------------ revno: 3072 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Mon 2009-12-21 15:29:45 +0100 message: merge 62 to 63 ------------------------------------------------------------ revno: 2572.70.52 committer: Jonas Oreland branch nick: telco-6.2 timestamp: Mon 2009-12-21 15:29:04 +0100 message: ndb - fix so that seed to testXXX is unsigned, so that values gth than 2^31 can be specified ------------------------------------------------------------ revno: 3071 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Mon 2009-12-21 14:05:38 +0100 message: merge 62 to 63 ------------------------------------------------------------ revno: 2572.70.51 committer: Jonas Oreland branch nick: telco-6.2 timestamp: Mon 2009-12-21 13:37:28 +0100 message: ndb - bug#48431 - limit #pages written to out-file, when crashing in DbtupDiskAlloc ------------------------------------------------------------ revno: 3070 committer: Magnus Bl?udd branch nick: 6.3 timestamp: Fri 2009-12-18 17:56:33 +0100 message: Merge 6.2 -> 6.3 ------------------------------------------------------------ revno: 2572.70.50 committer: Magnus Bl?udd branch nick: 6.2 timestamp: Fri 2009-12-18 17:19:24 +0100 message: ndb - pass --core to ndbd and ndb_mgmd to make sure they generate a core file also for release compiled binaries ------------------------------------------------------------ revno: 3069 committer: Bernd Ocklin branch nick: mysql-5.1-telco-6.3 timestamp: Fri 2009-12-18 15:11:13 +0100 message: merge bug#38577 from 6.2 ------------------------------------------------------------ revno: 2572.70.49 committer: Bernd Ocklin branch nick: mysql-5.1-telco-6.2 timestamp: Fri 2009-12-18 15:08:49 +0100 message: bug#38577 don't crash on table name being NULL ------------------------------------------------------------ revno: 3068 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Fri 2009-12-18 13:32:15 +0100 message: merge 62 to 63 ------------------------------------------------------------ revno: 2572.70.48 committer: Jonas Oreland branch nick: telco-6.2 timestamp: Fri 2009-12-18 13:17:17 +0100 message: ndb - allow more "Moving away for safety" in ndb_autodiscover3 ------------------------------------------------------------ revno: 3067 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Fri 2009-12-18 12:24:52 +0100 message: merge 62 to 63 ------------------------------------------------------------ revno: 2572.70.47 committer: Jonas Oreland branch nick: telco-6.2 timestamp: Fri 2009-12-18 12:19:44 +0100 message: ndb - fix merge error introducing warning ------------------------------------------------------------ revno: 3066 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Fri 2009-12-18 11:06:16 +0100 message: merge 63-main ------------------------------------------------------------ revno: 3062.1.1 committer: Andrei Elkin branch nick: mysql-5.1-telco-6.3 timestamp: Thu 2009-12-17 11:01:35 +0200 message: merge from 6.2 ------------------------------------------------------------ revno: 3065 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Fri 2009-12-18 11:03:18 +0100 message: merge 62 to 63 ------------------------------------------------------------ revno: 2572.70.46 committer: Jonas Oreland branch nick: telco-6.2 timestamp: Fri 2009-12-18 11:02:24 +0100 message: merge 62-main ------------------------------------------------------------ revno: 2572.78.2 committer: Andrei Elkin branch nick: mysql-5.1-telco-6.2 timestamp: Thu 2009-12-17 10:49:59 +0200 message: merge with the main 6.2 ------------------------------------------------------------ revno: 2572.78.1 committer: Andrei Elkin branch nick: mysql-5.1-telco-6.2 timestamp: Thu 2009-12-17 10:47:31 +0200 message: fixing a result file mismatch and - motivated by the first item - making ndb_team to be a default suite ------------------------------------------------------------ revno: 3064 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Thu 2009-12-17 16:55:45 +0100 message: merge 62 to 63 ------------------------------------------------------------ revno: 2572.70.45 committer: Jonas Oreland branch nick: telco-6.2 timestamp: Thu 2009-12-17 16:45:30 +0100 message: post merge fix, add suppression in ndb_dd_alter, table full ------------------------------------------------------------ revno: 2572.70.44 committer: Jonas Oreland branch nick: telco-6.2 timestamp: Thu 2009-12-17 14:49:07 +0100 message: post merge fix, add suppression in ndb_autodiscover3, "Moving away for safety"... ------------------------------------------------------------ revno: 3063 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Thu 2009-12-17 16:43:35 +0100 message: ndb - merge 5.1.41 into 6.3 ------------------------------------------------------------ revno: 2572.70.43 committer: Jonas Oreland branch nick: telco-6.2 timestamp: Thu 2009-12-17 11:27:12 +0100 message: remove .moved files that was added?? during merge ------------------------------------------------------------ revno: 2572.70.42 committer: Jonas Oreland branch nick: telco-6.2 timestamp: Thu 2009-12-17 11:14:52 +0100 message: ndb - merge mysql-5.1.41 into telco-6.2 ------------------------------------------------------------ revno: 2555.546.91 tags: mysql-5.1.41 author: timothy.smith@sun.com committer: MySQL Build Team branch nick: mysql-5.1.41-release timestamp: Thu 2009-11-05 21:22:17 +0100 message: Use C comments in C code ------------------------------------------------------------ revno: 2555.546.90 tags: clone-5.1.41-build committer: Georgi Kodinov branch nick: merge-5.1-bugteam timestamp: Wed 2009-11-04 11:21:52 +0200 message: merge ------------------------------------------------------------ revno: 1810.3963.16 tags: clone-5.0.88-build, mysql-5.0.88 committer: Georgi Kodinov branch nick: merge-5.0-bugteam timestamp: Wed 2009-11-04 11:13:55 +0200 message: version change ------------------------------------------------------------ revno: 2555.546.89 committer: Georgi Kodinov branch nick: merge-5.1-bugteam timestamp: Wed 2009-11-04 11:18:34 +0200 message: merge ------------------------------------------------------------ revno: 1810.3963.15 committer: Georgi Kodinov branch nick: merge-5.0-bugteam timestamp: Wed 2009-11-04 11:13:22 +0200 message: Disabled the rpl_killed_ddl test in 5.0 because of bug #45520 ------------------------------------------------------------ revno: 2555.546.88 committer: Davi Arnaut branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 16:18:44 -0200 message: Automerge. ------------------------------------------------------------ revno: 1810.3963.14 committer: Davi Arnaut branch nick: mysql-5.0-bugteam timestamp: Tue 2009-11-03 16:17:06 -0200 message: Fix compiler warnings -- tag unused parameters. ------------------------------------------------------------ revno: 2555.546.87 committer: Konstantin Osipov branch nick: 5.1-41756 timestamp: Tue 2009-11-03 20:45:52 +0300 message: A fix and a test case for Bug#41756 "Strange error messages about locks from InnoDB". In JT_EQ_REF (join_read_key()) access method, don't try to unlock rows in the handler, unless certain that a) they were locked b) they are not used. Unlocking of rows is done by the logic of the nested join loop, and is unaware of the possible caching that the access method may have. This could lead to double unlocking, when a row was unlocked first after reading into the cache, and then when taken from cache, as well as to unlocking of rows which were actually used (but taken from cache). Delegate part of the unlocking logic to the access method, and in JT_EQ_REF count how many times a record was actually used in the join. Unlock it only if it's usage count is 0. Implemented review comments. ------------------------------------------------------------ revno: 1810.3963.13 committer: Konstantin Osipov branch nick: 5.0-41756 timestamp: Tue 2009-11-03 19:58:54 +0300 message: A fix and a test case for Bug#41756 "Strange error messages about locks from InnoDB". In JT_EQ_REF (join_read_key()) access method, don't try to unlock rows in the handler, unless certain that a) they were locked b) they are not used. Unlocking of rows is done by the logic of the nested join loop, and is unaware of the possible caching that the access method may have. This could lead to double unlocking, when a row was unlocked first after reading into the cache, and then when taken from cache, as well as to unlocking of rows which were actually used (but taken from cache). Delegate part of the unlocking logic to the access method, and in JT_EQ_REF count how many times a record was actually used in the join. Unlock it only if it's usage count is 0. Implemented review comments. ------------------------------------------------------------ revno: 2555.546.86 committer: Magnus Bl?udd branch nick: 5.1-bugteam timestamp: Tue 2009-11-03 18:07:19 +0100 message: Merge bug#47867 to 5.1-bugteam ------------------------------------------------------------ revno: 2555.621.1 committer: Magnus Bl?udd branch nick: 5.1-bug47867 timestamp: Tue 2009-10-06 18:10:34 +0200 message: Bug#47867 compiler warning _WIN32_WINNT macro redefinition - Remove the conflicting macro definitions since we define a higher value directly in the cmake files. ------------------------------------------------------------ revno: 2555.546.85 committer: Kristofer Pettersson branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 17:23:05 +0100 message: automerge ------------------------------------------------------------ revno: 2555.603.8 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam-push timestamp: Tue 2009-11-03 18:44:39 +0400 message: Merge of innodb-zip-ss6129 snapshot. ------------------------------------------------------------ revno: 2555.620.37 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 18:41:04 +0400 message: Clean-up after applying innodb-zip-ss6129 snapshot: - re-enabled main.innodb_bug44369; - re-enabled main.innodb_bug47777; - re-enabled innodb.innodb_information_schema. ------------------------------------------------------------ revno: 2555.620.36 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 14:34:38 +0400 message: Applying InnoDB plugin snashot Detailed revision comments: r6126 | vasil | 2009-10-30 10:36:07 +0200 (Fri, 30 Oct 2009) | 45 lines branches/zip: Merge r6112:6125 from branches/5.1: (skipping r6122 and r6123, Jimmy says these are already present and need not be merged): ------------------------------------------------------------------------ r6122 | jyang | 2009-10-30 05:18:38 +0200 (Fri, 30 Oct 2009) | 7 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/mysql-test/innodb_bug44369.result M /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/mysql-test/innodb_bug46000.result M /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Chnage WARN_LEVEL_ERROR to WARN_LEVEL_WARN for push_warning_printf() call in innodb. Fix Bug#47233: Innodb calls push_warning(MYSQL_ERROR::WARN_LEVEL_ERROR) rb://170 approved by Marko. ------------------------------------------------------------------------ r6123 | jyang | 2009-10-30 05:43:06 +0200 (Fri, 30 Oct 2009) | 8 lines Changed paths: M /branches/5.1/os/os0proc.c branches/5.1: In os_mem_alloc_large(), if we fail to attach the shared memory, reset memory pointer ptr to NULL, and allocate memory from conventional pool. This is a port from branches/zip. Bug #48237 Error handling in os_mem_alloc_large appears to be incorrect rb://198 Approved by: Marko ------------------------------------------------------------------------ r6125 | vasil | 2009-10-30 10:31:23 +0200 (Fri, 30 Oct 2009) | 4 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: White-space fixup. ------------------------------------------------------------------------ ------------------------------------------------------------ revno: 2555.620.35 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 14:34:03 +0400 message: Applying InnoDB plugin snashot Detailed revision comments: r6121 | sunny | 2009-10-30 01:42:11 +0200 (Fri, 30 Oct 2009) | 7 lines branches/zip: This test has been problematic for sometime now. The underlying bug is that the data dictionaries get out of sync. In the AUTOINC code we try and apply salve to the symptoms. In the past MySQL made some unrelated change and the dictionaries stopped getting out of sync and this test started to fail. Now, it seems they have reverted that changed and the test is passing again. I suspect this is not he last time that this test will change. r6124 | jyang | 2009-10-30 10:02:31 +0200 (Fri, 30 Oct 2009) | 5 lines branches/zip: Correct the bug number for -r6109 change from # 48273 to #48237 ------------------------------------------------------------ revno: 2555.620.34 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 14:33:02 +0400 message: Applying InnoDB plugin snashot Detailed revision comments: r6114 | vasil | 2009-10-29 18:43:51 +0200 (Thu, 29 Oct 2009) | 6 lines branches/zip: * Add ChangeLog entries for latest changes * Obey alphabetical order in the list of the files * White-space fixup ------------------------------------------------------------ revno: 2555.620.33 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 14:32:33 +0400 message: Applying InnoDB plugin snashot Detailed revision comments: r6113 | vasil | 2009-10-29 18:15:50 +0200 (Thu, 29 Oct 2009) | 93 lines branches/zip: Merge r5912:6112 from branches/5.1: (after this merge the innodb-autoinc test starts to fail, but I commit anyway because it would be easier to investigate the failure this way) ------------------------------------------------------------------------ r5952 | calvin | 2009-09-22 19:45:07 +0300 (Tue, 22 Sep 2009) | 7 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: fix bug#42383: Can't create table 'test.bug39438' For embedded server, MySQL may pass in full path, which is currently disallowed. It is needed to relax the condition by accepting full paths in the embedded case. Approved by: Heikki (on IM) ------------------------------------------------------------------------ r6032 | vasil | 2009-10-01 15:55:49 +0300 (Thu, 01 Oct 2009) | 8 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Fix Bug#38996 Race condition in ANALYZE TABLE by serializing ANALYZE TABLE inside InnoDB. Approved by: Heikki (rb://175) ------------------------------------------------------------------------ r6045 | jyang | 2009-10-08 02:27:08 +0300 (Thu, 08 Oct 2009) | 7 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug47777.result A /branches/5.1/mysql-test/innodb_bug47777.test branches/5.1: Fix bug #47777. Treat the Geometry data same as Binary BLOB in ha_innobase::store_key_val_for_row(), since the Geometry data is stored as Binary BLOB in Innodb. Review: rb://180 approved by Marko Makela. ------------------------------------------------------------------------ r6051 | sunny | 2009-10-12 07:05:00 +0300 (Mon, 12 Oct 2009) | 6 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: Ignore negative values supplied by the user when calculating the next value to store in dict_table_t. Setting autoincrement columns top negative values is undefined behavior and this change should bring the behavior of InnoDB closer to what users expect. Added several tests to check. rb://162 ------------------------------------------------------------------------ r6052 | sunny | 2009-10-12 07:09:56 +0300 (Mon, 12 Oct 2009) | 4 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: Reset the statement level autoinc counter on ROLLBACK. Fix the test results too. rb://164 ------------------------------------------------------------------------ r6053 | sunny | 2009-10-12 07:37:49 +0300 (Mon, 12 Oct 2009) | 6 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: Copy the maximum AUTOINC value from the old table to the new table when MySQL does a CREATE INDEX ON T. This is required because MySQL does a table copy, rename and drops the old table. Fix Bug#47125: auto_increment start value is ignored if an index is created and engine=innodb rb://168 ------------------------------------------------------------------------ r6076 | vasil | 2009-10-14 19:30:12 +0300 (Wed, 14 Oct 2009) | 4 lines Changed paths: M /branches/5.1/row/row0mysql.c branches/5.1: Fix typo. ------------------------------------------------------------------------ ------------------------------------------------------------ revno: 2555.620.32 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 14:26:39 +0400 message: Applying InnoDB plugin snashot Detailed revision comments: r6112 | calvin | 2009-10-29 16:21:15 +0200 (Thu, 29 Oct 2009) | 4 lines branches/zip: consideration for icc compilers Proposed by MySQL, and approved by Marko. ------------------------------------------------------------ revno: 2555.620.31 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 14:26:07 +0400 message: Applying InnoDB plugin snashot Detailed revision comments: r6110 | marko | 2009-10-29 12:44:57 +0200 (Thu, 29 Oct 2009) | 2 lines branches/zip: Makefile.am (INCLUDES): Merge a change from MySQL: Use $(srcdir)/include instead of $(top_srcdir)/storage/innobase/include. r6111 | marko | 2009-10-29 13:04:11 +0200 (Thu, 29 Oct 2009) | 33 lines branches/zip: Fix corruption of buf_pool->LRU_old and improve debug assertions. This was reported as Issue #381. buf_page_set_old(): Assert that blocks may only be set old if buf_pool->LRU_old is initialized and buf_pool->LRU_old_len is nonzero. Assert that buf_pool->LRU_old points to the block at the old/new boundary. buf_LRU_old_adjust_len(): Invoke buf_page_set_old() after adjusting buf_pool->LRU_old and buf_pool->LRU_old_len, in order not to violate the added assertions. buf_LRU_old_init(): Replace buf_page_set_old() with a direct assignment to bpage->old, because these loops that initialize all the blocks would temporarily violate the assertions about buf_pool->LRU_old. buf_LRU_remove_block(): When setting buf_pool->LRU_old = NULL, also clear all bpage->old flags and set buf_pool->LRU_old_len = 0. buf_LRU_add_block_to_end_low(), buf_LRU_add_block_low(): Move the buf_page_set_old() call later in order not to violate the debug assertions. If buf_pool->LRU_old is NULL, set old=FALSE. buf_LRU_free_block(): Replace the UNIV_LRU_DEBUG assertion with a dummy buf_page_set_old() call that performs more thorough checks. buf_LRU_validate(): Do not tolerate garbage in buf_pool->LRU_old_len even if buf_pool->LRU_old is NULL. Check that bpage->old is monotonic. buf_relocate(): Make the UNIV_LRU_DEBUG checks stricter. buf0buf.h: Revise the documentation of buf_page_t::old and buf_pool_t::LRU_old_len. ------------------------------------------------------------ revno: 2555.620.30 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 14:25:00 +0400 message: Applying InnoDB plugin snashot Detailed revision comments: r6109 | jyang | 2009-10-29 10:37:32 +0200 (Thu, 29 Oct 2009) | 7 lines branches/zip: In os_mem_alloc_large(), if we fail to attach the shared memory, reset memory pointer ptr to NULL, and allocate memory from conventional pool. Bug #48237 Error handling in os_mem_alloc_large appears to be incorrect rb://198 Approved by: Marko ------------------------------------------------------------ revno: 2555.620.29 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 14:24:21 +0400 message: Applying InnoDB plugin snashot Detailed revision comments: r6108 | calvin | 2009-10-29 07:58:04 +0200 (Thu, 29 Oct 2009) | 5 lines branches/zip: close file handle when building with UNIV_HOTBACKUP The change does not affect regular InnoDB engine. Confirmed by Marko. ------------------------------------------------------------ revno: 2555.620.28 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 14:23:46 +0400 message: Applying InnoDB plugin snashot Detailed revision comments: r6107 | marko | 2009-10-28 16:10:34 +0200 (Wed, 28 Oct 2009) | 5 lines branches/zip: buf_page_set_old(): Improve UNIV_LRU_DEBUG diagnostics in order to catch the buf_pool->LRU_old corruption reported in Issue #381. buf_LRU_old_init(): Set the property from the tail towards the front of the buf_pool->LRU list, in order not to trip the debug check. ------------------------------------------------------------ revno: 2555.620.27 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 14:23:22 +0400 message: Applying InnoDB plugin snashot Detailed revision comments: r6105 | calvin | 2009-10-28 00:05:52 +0200 (Wed, 28 Oct 2009) | 6 lines branches/zip: backport r3848 from 6.0 branch ---- branches/6.0: innobase_start_or_create_for_mysql(): Make the 10 MB minimum tablespace limit independent of UNIV_PAGE_SIZE. (Bug #41490) ------------------------------------------------------------ revno: 2555.620.26 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 14:23:02 +0400 message: Applying InnoDB plugin snashot Detailed revision comments: r6103 | marko | 2009-10-26 15:46:18 +0200 (Mon, 26 Oct 2009) | 4 lines branches/zip: row_ins_alloc_sys_fields(): Zero out the system columns DB_TRX_ID, DB_ROLL_PTR and DB_ROW_ID, in order to avoid harmless Valgrind warnings about uninitialized data. (The warnings were harmless, because the fields would be initialized at a later stage.) ------------------------------------------------------------ revno: 2555.620.25 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 14:22:15 +0400 message: Applying InnoDB plugin snashot Detailed revision comments: r6102 | marko | 2009-10-26 09:32:23 +0200 (Mon, 26 Oct 2009) | 1 line branches/zip: row_prebuilt_struct::prebuilts: Unused field, remove. ------------------------------------------------------------ revno: 2555.620.24 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 14:21:39 +0400 message: Applying InnoDB plugin snashot Detailed revision comments: r6101 | jyang | 2009-10-23 11:45:50 +0300 (Fri, 23 Oct 2009) | 7 lines branches/zip: Update test result with the WARN_LEVEL_ERROR to WARN_LEVEL_WARN change. This is the same result as submitted in rb://172 review, which approved by Sunny Bains and Marko. ------------------------------------------------------------ revno: 2555.620.23 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 14:20:18 +0400 message: Applying InnoDB plugin snashot Detailed revision comments: r6100 | jyang | 2009-10-22 06:51:07 +0300 (Thu, 22 Oct 2009) | 6 lines branches/zip: As a request from mysql, WARN_LEVEL_ERROR cannot be used for push_warning_* call any more. Switch to WARN_LEVEL_WARN. Bug #47233. rb://172 approved by Sunny Bains and Marko. ------------------------------------------------------------ revno: 2555.620.22 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 14:07:51 +0400 message: Applying InnoDB plugin snashot Detailed revision comments: r6099 | jyang | 2009-10-22 05:58:39 +0300 (Thu, 22 Oct 2009) | 7 lines branches/zip: Port bug #46000 related changes from 5.1 to zip branch. Due to different code path for creating index in zip branch comparing to 5.1), the index reserved name check function is extended to be used in ha_innobase::add_index(). rb://190 Approved by: Marko ------------------------------------------------------------ revno: 2555.620.21 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 14:04:59 +0400 message: Applying InnoDB plugin snashot Detailed revision comments: r6096 | vasil | 2009-10-19 16:06:09 +0300 (Mon, 19 Oct 2009) | 4 lines branches/zip: Add ChangeLog entry for r6095. ------------------------------------------------------------ revno: 2555.620.20 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 14:04:18 +0400 message: Applying InnoDB plugin snashot Detailed revision comments: r6095 | vasil | 2009-10-19 16:04:59 +0300 (Mon, 19 Oct 2009) | 7 lines branches/zip: Fix Bug#47808 innodb_information_schema.test fails when run under valgrind by using the wait_until_rows_count macro that loops until the number of rows becomes 14 instead of sleep 0.1, which is obviously very fragile. ------------------------------------------------------------ revno: 2555.620.19 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 14:03:05 +0400 message: Applying InnoDB plugin snashot Detailed revision comments: r6084 | vasil | 2009-10-15 08:21:17 +0300 (Thu, 15 Oct 2009) | 4 lines branches/zip: Add ChangeLog entry for r6080. ------------------------------------------------------------ revno: 2555.620.18 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 14:02:43 +0400 message: Applying InnoDB plugin snashot Detailed revision comments: r6080 | sunny | 2009-10-15 01:29:01 +0300 (Thu, 15 Oct 2009) | 3 lines branches/zip: Change page_mem_alloc_free() to inline. Fix Bug #47058 - Failure to compile innodb_plugin on solaris 10u7 + spro cc/CC 5.10 ------------------------------------------------------------ revno: 2555.620.17 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 14:02:19 +0400 message: Applying InnoDB plugin snashot Detailed revision comments: r6064 | calvin | 2009-10-13 18:23:35 +0300 (Tue, 13 Oct 2009) | 4 lines branches/zip: non-functional changes Changes from MySQL to fix build issue. r6065 | inaam | 2009-10-13 20:43:13 +0300 (Tue, 13 Oct 2009) | 7 lines branches/zip rb://182 Call fsync() on datafiles after a batch of pages is written to disk even when skip_innodb_doublewrite is set. Approved by: Heikki ------------------------------------------------------------ revno: 2555.620.16 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 14:00:05 +0400 message: Applying InnoDB plugin snapshot Detailed revision comments: r6049 | vasil | 2009-10-09 19:05:26 +0300 (Fri, 09 Oct 2009) | 7 lines branches/zip: Fix compilation warning in Hot Backup: innodb/fil/fil0fil.c: In function 'fil_load_single_table_tablespace': innodb/fil/fil0fil.c:3253: warning: format '%lld' expects type 'long long int', but argument 6 has type 'ib_int64_t' ------------------------------------------------------------ revno: 2555.620.15 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 13:59:31 +0400 message: Applying InnoDB plugin snashot Detailed revision comments: r6048 | vasil | 2009-10-09 08:42:55 +0300 (Fri, 09 Oct 2009) | 16 lines branches/zip: When scanning a directory readdir() is called and stat() after it, if a file is deleted between the two calls stat will fail and the whole precedure will fail. Change this behavior to continue with the next entry if stat() fails because of nonexistent file. This is transparent change as it will make it look as if the file was deleted before the readdir() call. This change is needed in order to fix https://svn.innodb.com/mantis/view.php?id=174 in which we need to abort if os_file_readdir_next_file() encounters "real" errors. Approved by: Marko, Pekka (rb://177) ------------------------------------------------------------ revno: 2555.620.14 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 13:59:06 +0400 message: Applying InnoDB plugin snashot Detailed revision comments: r6046 | pekka | 2009-10-08 12:24:56 +0300 (Thu, 08 Oct 2009) | 3 lines branches/zip: Revert r6044 which added os_file_is_same() function (issue#186). This functionality is moved to Hot Backup source tree. ------------------------------------------------------------ revno: 2555.620.13 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 13:58:28 +0400 message: Applying InnoDB plugin snashot Detailed revision comments: r6044 | pekka | 2009-10-06 17:44:54 +0300 (Tue, 06 Oct 2009) | 5 lines branches/zip: Add os_file_is_same() function for Hot Backup (inside ifdef UNIV_HOTBACKUP). This is part of the fix for Issue #186. Note! The Windows implementation is incomplete. ------------------------------------------------------------ revno: 2555.603.7 committer: Jorgen Loland branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 13:48:59 +0100 message: Bug#48177 - SELECTs with NOT IN subqueries containing NULL values return too many records WHERE clauses with "outer_value_list NOT IN subselect" were handled incorrectly if the outer value list contained multiple items where at least one of these could be NULL. The first outer record with NULL value was handled correctly, but if a second record with NULL value existed, the optimizer would choose to reuse the result it got on the last execution of the subselect. This is incorrect if the outer value list has multiple items. The fix is to make Item_in_optimizer::val_int (in item_cmpfunc.cc) reuse the result of the latest execution for NULL values only if all values in the outer_value_list are NULL. ------------------------------------------------------------ revno: 2555.603.6 committer: branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 18:20:08 +0800 message: Manual Merge ------------------------------------------------------------ revno: 1810.3963.12 committer: branch nick: mysql-5.0-bugteam timestamp: Tue 2009-11-03 17:00:41 +0800 message: BUG#48216 Replication fails on all slaves after upgrade to 5.0.86 on master When a sessione is closed, all temporary tables of the session are automatically dropped and are binlogged. But it will be binlogged with wrong database names when the length of the temporary tables' database names are greater than the length of the current database name or the current database is not set. Query_log_event's db_len is forgot to set when Query_log_event's db is set. This patch wrote code to set db_len immediately after db has set. ------------------------------------------------------------ revno: 2555.603.5 committer: Davi Arnaut branch nick: 48370-5.1 timestamp: Mon 2009-11-02 09:21:39 -0200 message: Bug#48370: Absolutely wrong calculations with GROUP BY and decimal fields when using IF Bug#45261: Crash, stored procedure + decimal Revert fix for Bug#45261 due to unforeseen bugs. ------------------------------------------------------------ revno: 2555.603.4 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam-push timestamp: Tue 2009-11-03 13:19:02 +0400 message: Merge innodb-5.1-ss6129 to mysql-5.1-bugteam. ------------------------------------------------------------ revno: 2555.620.12 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 12:46:04 +0400 message: Clean-ups after applying InnoDB snapshot 5.1-ss6129: - disabled main.innodb_bug47777.test with InnoDB plugin until fix for plugin is applied. - disabled main.innodb-autoinc.test (failing) - re-enabled main.innodb_bug39438.test - added error message suppression to innodb_bug39438, as requested by InnoDB/Oracle - reverted change to main.innodb_bug34300 as plugin specific. ------------------------------------------------------------ revno: 2555.620.11 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-02 19:07:26 +0400 message: Applying InnoDB snashot 5.1-ss6129 Detailed revision comments: r6129 | vasil | 2009-10-30 17:14:22 +0200 (Fri, 30 Oct 2009) | 4 lines branches/5.1: Revert a change to Makefile.am that sneaked unnoticed in c6127. ------------------------------------------------------------ revno: 2555.620.10 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-02 19:06:58 +0400 message: Applying InnoDB snashot 5.1-ss6129 Detailed revision comments: r6127 | vasil | 2009-10-30 11:18:25 +0200 (Fri, 30 Oct 2009) | 18 lines branches/5.1: Backport c6121 from branches/zip: ------------------------------------------------------------------------ r6121 | sunny | 2009-10-30 01:42:11 +0200 (Fri, 30 Oct 2009) | 7 lines Changed paths: M /branches/zip/mysql-test/innodb-autoinc.result branches/zip: This test has been problematic for sometime now. The underlying bug is that the data dictionaries get out of sync. In the AUTOINC code we try and apply salve to the symptoms. In the past MySQL made some unrelated change and the dictionaries stopped getting out of sync and this test started to fail. Now, it seems they have reverted that changed and the test is passing again. I suspect this is not he last time that this test will change. ------------------------------------------------------------------------ ------------------------------------------------------------ revno: 2555.620.9 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-02 19:00:51 +0400 message: Applying InnoDB snashot 5.1-ss6129 Detailed revision comments: r6125 | vasil | 2009-10-30 10:31:23 +0200 (Fri, 30 Oct 2009) | 4 lines branches/5.1: White-space fixup. ------------------------------------------------------------ revno: 2555.620.8 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-02 19:00:26 +0400 message: Applying InnoDB snashot 5.1-ss6129 Detailed revision comments: r6123 | jyang | 2009-10-30 05:43:06 +0200 (Fri, 30 Oct 2009) | 8 lines branches/5.1: In os_mem_alloc_large(), if we fail to attach the shared memory, reset memory pointer ptr to NULL, and allocate memory from conventional pool. This is a port from branches/zip. Bug #48237 Error handling in os_mem_alloc_large appears to be incorrect rb://198 Approved by: Marko ------------------------------------------------------------ revno: 2555.620.7 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-02 18:59:44 +0400 message: Applying InnoDB snashot 5.1-ss6129 Detailed revision comments: r6122 | jyang | 2009-10-30 05:18:38 +0200 (Fri, 30 Oct 2009) | 7 lines branches/5.1: Chnage WARN_LEVEL_ERROR to WARN_LEVEL_WARN for push_warning_printf() call in innodb. Fix Bug#47233: Innodb calls push_warning(MYSQL_ERROR::WARN_LEVEL_ERROR) rb://170 approved by Marko. ------------------------------------------------------------ revno: 2555.620.6 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-02 18:59:19 +0400 message: Applying InnoDB snashot 5.1-ss6129 Detailed revision comments: r6076 | vasil | 2009-10-14 19:30:12 +0300 (Wed, 14 Oct 2009) | 4 lines branches/5.1: Fix typo. ------------------------------------------------------------ revno: 2555.620.5 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-02 18:58:09 +0400 message: Applying InnoDB snashot 5.1-ss6129 Detailed revision comments: r6052 | sunny | 2009-10-12 07:09:56 +0300 (Mon, 12 Oct 2009) | 4 lines branches/5.1: Reset the statement level autoinc counter on ROLLBACK. Fix the test results too. rb://164 r6053 | sunny | 2009-10-12 07:37:49 +0300 (Mon, 12 Oct 2009) | 6 lines branches/5.1: Copy the maximum AUTOINC value from the old table to the new table when MySQL does a CREATE INDEX ON T. This is required because MySQL does a table copy, rename and drops the old table. Fix Bug#47125: auto_increment start value is ignored if an index is created and engine=innodb rb://168 ------------------------------------------------------------ revno: 2555.620.4 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-02 18:43:20 +0400 message: Applying InnoDB snashot 5.1-ss6129 Detailed revision comments: r6051 | sunny | 2009-10-12 07:05:00 +0300 (Mon, 12 Oct 2009) | 6 lines branches/5.1: Ignore negative values supplied by the user when calculating the next value to store in dict_table_t. Setting autoincrement columns top negative values is undefined behavior and this change should bring the behavior of InnoDB closer to what users expect. Added several tests to check. rb://162 ------------------------------------------------------------ revno: 2555.620.3 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-02 18:41:40 +0400 message: Applying InnoDB snashot 5.1-ss6129 Detailed revision comments: r6045 | jyang | 2009-10-08 02:27:08 +0300 (Thu, 08 Oct 2009) | 7 lines branches/5.1: Fix bug #47777. Treat the Geometry data same as Binary BLOB in ha_innobase::store_key_val_for_row(), since the Geometry data is stored as Binary BLOB in Innodb. Review: rb://180 approved by Marko Makela. ------------------------------------------------------------ revno: 2555.620.2 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-02 18:36:55 +0400 message: Applying InnoDB snashot 5.1-ss6129 Detailed revision comments: r6032 | vasil | 2009-10-01 15:55:49 +0300 (Thu, 01 Oct 2009) | 8 lines branches/5.1: Fix Bug#38996 Race condition in ANALYZE TABLE by serializing ANALYZE TABLE inside InnoDB. Approved by: Heikki (rb://175) ------------------------------------------------------------ revno: 2555.620.1 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-02 18:35:55 +0400 message: Applying InnoDB snashot 5.1-ss6129 Detailed revision comments: r5952 | calvin | 2009-09-22 19:45:07 +0300 (Tue, 22 Sep 2009) | 7 lines branches/5.1: fix bug#42383: Can't create table 'test.bug39438' For embedded server, MySQL may pass in full path, which is currently disallowed. It is needed to relax the condition by accepting full paths in the embedded case. Approved by: Heikki (on IM) ------------------------------------------------------------ revno: 2555.603.3 committer: Vladislav Vaintroub branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 01:52:57 +0100 message: merge ------------------------------------------------------------ revno: 2555.606.8 committer: Davi Arnaut branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-02 18:37:21 -0200 message: Automerge. ------------------------------------------------------------ revno: 1810.3963.11 committer: Davi Arnaut branch nick: mysql-5.0-bugteam timestamp: Mon 2009-11-02 18:10:21 -0200 message: Bug#44952: Ndbd file system inconsistency error Backport a ndb patch: fix bug with crash during restart, where a mbyte incorrectly could be skipped, leading to "end of log wo/ finding gci". ------------------------------------------------------------ revno: 2555.606.7 committer: Luis Soares branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-02 16:02:55 +0000 message: Auto-merging mysql-5.1-bugteam-gca into mysql-5.1-bugteam latest. ------------------------------------------------------------ revno: 2555.619.1 committer: Luis Soares branch nick: mysql-5.1-bugteam-gca timestamp: Mon 2009-11-02 15:57:25 +0000 message: Auto-merging bzr bundle from bug report in mysql-5.1-bugteam-gca ------------------------------------------------------------ revno: 2555.618.1 committer: Luis Soares branch nick: mysql-5.1-bugteam timestamp: Tue 2009-10-27 15:15:53 +0000 message: BUG#48297: Schema name is ignored when LOAD DATA is written into binlog, replication aborts In SBR or MBR, the schema name is not being written to the binlog when executing a LOAD DATA statement. This becomes a problem when the current database (lets call it db1) is different from the table's schema (lets call it db2). For instance, take the following statements: use db1; load data local infile 'infile.txt' into table db2.t Should this statement be logged without t's schema (db2), when replaying it, one can get db1.t populated instead of db2.t (if db1.t exists). On the other hand, if there is no db1.t at all, replication will stop. We fix this by always logging the table (in load file) with fully qualified name when its schema is different from the current database or when no default database was selected. ------------------------------------------------------------ revno: 2555.606.6 committer: Martin Hansson branch nick: 5.1bt timestamp: Mon 2009-11-02 13:24:07 +0100 message: Bug#47925: regression of range optimizer and date comparison in 5.1.39! When a query was using a DATE or DATETIME value formatted using any other separator characters beside hyphen '-', a query with a greater-or-equal '>=' condition matching only the greatest value in an indexed column, the result was empty if index range scan was employed. The range optimizer got a new feature between 5.1.38 and 5.1.39 that changes a greater-or-equal condition to a greater-than if the value matching that in the query was not present in the table. But the value comparison function compared the dates as strings instead of dates. The bug was fixed by splitting the function get_date_from_str in two: One part that parses and does error checking. This function is now visible outside the module. The old get_date_from_str now calls the new function. ------------------------------------------------------------ revno: 2555.606.5 committer: Davi Arnaut branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-02 09:22:36 -0200 message: Automerge. ------------------------------------------------------------ revno: 1810.3963.10 committer: Davi Arnaut branch nick: 41728-5.0 timestamp: Tue 2009-09-29 09:55:53 -0300 message: Bug#41728: Dropped symbol but no soname change Restore a stub of the removed mysql_odbc_escape_string function to fix a ABI breakage. The function was intended to be private and used only by Connector/ODBC, but, unfortunately, it was exported as part of the ABI. Nonetheless, only a stub is restored as the original function is inherently broken and shouldn't be used. This restoration only applies to MySQL 5.0. This will be addressed differently in later versions -- reworked library versioning. ------------------------------------------------------------ revno: 2555.606.4 committer: Tatiana A. Nurnberg branch nick: 51-48295 timestamp: Mon 2009-11-02 00:13:13 -0800 message: auto-merge ------------------------------------------------------------ revno: 2555.612.15 committer: Luis Soares branch nick: mysql-5.1-bugteam timestamp: Sun 2009-11-01 23:13:11 +0000 message: BUG#42829: manually merged approved bzr bundle from bug report. Conflicts ========= Text conflict in sql/sql_class.cc 1 conflicts encountered. ------------------------------------------------------------ revno: 2555.617.1 committer: Luis Soares branch nick: mysql-5.1-bugteam timestamp: Thu 2009-09-24 15:52:52 +0100 message: BUG#42829: binlogging enabled for all schemas regardless of binlog-db-db / binlog-ignore-db InnoDB will return an error if statement based replication is used along with transaction isolation level READ-COMMITTED (or weaker), even if the statement in question is filtered out according to the binlog-do-db rules set. In this case, an error should not be printed. This patch addresses this issue by extending the existing check in external_lock to take into account the filter rules before deciding to print an error. Furthermore, it also changes decide_logging_format to take into consideration whether the statement is filtered out from binlog before decision is made. ------------------------------------------------------------ revno: 2555.612.14 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam-push timestamp: Sat 2009-10-31 14:50:25 +0400 message: Merge fix for BUG#43171. ------------------------------------------------------------ revno: 2555.616.1 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam-bug43171 timestamp: Wed 2009-10-28 19:39:08 +0400 message: BUG#43171 - Assertion failed: thd->transaction.xid_state.xid.is_null() XA START may cause assertion failure/server crash when it is called after unilateral roll back issued by the Resource Manager (both in regular transaction and after XA transaction). The problem was that rm_error variable wasn't set/reset properly. ------------------------------------------------------------ revno: 2555.612.13 committer: Alexey Kopytov branch nick: mysql-5.1-bugteam timestamp: Fri 2009-10-30 19:17:44 +0300 message: Automerge. ------------------------------------------------------------ revno: 1810.3963.9 committer: Alexey Kopytov branch nick: mysql-5.0-bugteam timestamp: Fri 2009-10-30 19:16:25 +0300 message: Automerge. ------------------------------------------------------------ revno: 2555.612.12 committer: Alexey Kopytov branch nick: mysql-5.1-bugteam timestamp: Fri 2009-10-30 19:16:29 +0300 message: Automerge. ------------------------------------------------------------ revno: 2555.615.1 committer: Alexey Kopytov branch nick: my51-bug48131 timestamp: Fri 2009-10-30 18:59:06 +0300 message: Automerge. ------------------------------------------------------------ revno: 1810.3966.1 committer: Alexey Kopytov branch nick: my50-bug48131 timestamp: Fri 2009-10-30 18:54:53 +0300 message: Bug #48131: crash group by with rollup, distinct, filesort, with temporary tables There were two problems the test case from this bug was triggering: 1. JOIN::rollup_init() was supposed to wrap all constant Items into another object for queries with the WITH ROLLUP modifier to ensure they are never considered as constants and therefore are written into temporary tables if the optimizer chooses to employ them for DISTINCT/GROUP BY handling. However, JOIN::rollup_init() was called before make_join_statistics(), so Items corresponding to fields in const tables could not be handled as intended, which was causing all kinds of problems later in the query execution. In particular, create_tmp_table() assumed all constant items except "hidden" ones to be removed earlier by remove_const() which led to improperly initialized Field objects for the temporary table being created. This is what was causing crashes and valgrind errors in storage engines. 2. Even when the above problem had been fixed, the query from the test case produced incorrect results due to some DISTINCT/GROUP BY optimizations being performed by the optimizer that are inapplicable in the WITH ROLLUP case. Fixed by disabling inapplicable DISTINCT/GROUP BY optimizations when the WITH ROLLUP modifier is present, and splitting the const-wrapping part of JOIN::rollup_init() into a separate method which is now invoked after make_join_statistics() when the const tables are already known. ------------------------------------------------------------ revno: 2555.612.11 committer: Georgi Kodinov branch nick: merge-5.1-bugteam timestamp: Fri 2009-10-30 16:57:16 +0200 message: merge ------------------------------------------------------------ revno: 1810.3963.8 committer: Georgi Kodinov branch nick: merge-5.0-bugteam timestamp: Fri 2009-10-30 16:34:54 +0200 message: merge from 5.0-main ------------------------------------------------------------ revno: 1810.3965.1 author: karen.langford@sun.com committer: MySQL Build Team branch nick: mysql-5.0 timestamp: Mon 2009-10-26 19:20:02 +0100 message: Merge from mysql-5.0.87-release ------------------------------------------------------------ revno: 1810.3964.1 tags: mysql-5.0.87 committer: Hery Ramilison branch nick: mysql-5.0.87-release timestamp: Thu 2009-10-15 00:40:40 +0200 message: Added make targets 'test-bt-fast' and 'test-bt-debug-fast' Put variable declaration at the beginning of a block ------------------------------------------------------------ revno: 2555.612.10 committer: Georgi Kodinov branch nick: B48291-5.1-bugteam timestamp: Fri 2009-10-30 16:13:13 +0200 message: merge ------------------------------------------------------------ revno: 1810.3963.7 committer: Georgi Kodinov branch nick: B48291-5.0-bugteam timestamp: Fri 2009-10-30 15:15:43 +0200 message: Bug #48291 : crash with row() operator,select into @var, and subquery returning multiple rows Error handling was missing when handling subqueires in WHERE and when assigning a SELECT result to a @variable. This caused crash(es). Fixed by adding error handling code to both the WHERE condition evaluation and to assignment to an @variable. ------------------------------------------------------------ revno: 2555.612.9 committer: Georgi Kodinov branch nick: B48293-5.1-bugteam timestamp: Fri 2009-10-30 11:56:32 +0200 message: merge ------------------------------------------------------------ revno: 1810.3963.6 committer: Georgi Kodinov branch nick: B48293-5.0-bugteam timestamp: Fri 2009-10-30 11:40:44 +0200 message: Bug #48293: crash with procedure analyse, view with > 10 columns, having clause... The fix for bug 46184 was not very complete. It was not covering views using temporary tables and multiple tables in a FROM clause. Fixed by reverting the fix for 46184 and making a more general check that is checking at the right execution stage and for all of the non-supported cases. Now PROCEDURE ANALYZE on non-top level SELECT is also forbidden. Updated the analyse.test and subselect.test accordingly. ------------------------------------------------------------ revno: 2555.612.8 committer: Georgi Kodinov branch nick: B42116-5.1-bugteam timestamp: Fri 2009-10-30 10:03:18 +0200 message: merge ------------------------------------------------------------ revno: 1810.3963.5 committer: Georgi Kodinov branch nick: B42116-5.0-bugteam timestamp: Thu 2009-10-29 17:24:29 +0200 message: Bug #42116 : Mysql crash on specific query Queries with nested outer joins may lead to crashes or bad results because an internal data structure is not handled correctly. The optimizer uses bitmaps of nested JOINs to determine if certain table can be placed at a certain place in the JOIN order. It does maintain a bitmap describing in which JOINs last placed table is nested. When it puts a table it makes sure the bit of every JOIN that contains the table in question is set (because JOINs can be nested). It does that by recursively setting the bit for the next enclosing JOIN when this is the first table in the JOIN and recursively resetting the bit if it's the last table in the JOIN. When it removes a table from the join order it should do the opposite : recursively unset the bit if it's the only remaining table in this join and and recursively set the bit if it's removing the last table of a JOIN. There was an error in how the bits was set for the upper levels : when removing a table it was setting the bit for all the enclosing nested JOINs even if there were more tables left in the current JOIN (which practically means that the upper nested JOINs were not affected). Fixed by stopping the recursion at the relevant level. ------------------------------------------------------------ revno: 2555.612.7 committer: branch nick: mysql-5.1-bugteam timestamp: Thu 2009-10-29 10:26:59 +0800 message: Bug #46828 rpl_get_master_version_and_clock fails on PB-2 The 'rpl_get_master_version_and_clock' test verifies if the slave I/O thread tries to reconnect to master when it tries to get the values of the UNIX_TIMESTAMP, SERVER_ID from master under network disconnection. So the master server is restarted for making the transient network disconnection. Restarting master server can bring two problems as following: 1. The time out error is encountered sporadically. The slave I/O thread tries to reconnect master ten times, which is set in my.cnf. So in the test framework sporadically the slave I/O thread really stoped when it can't reconnect to master in the ten times successfully before the master starts, then the time out error will be encountered while waiting for the slave to start. 2. These warnings and errors are produced in server log file when the slave I/O thread tries to get the values of the UNIX_TIMESTAMP, SERVER_ID from master under the transient network disconnection. To fix problem 1, increase the master retry count to sixty times, so that the slave I/O thread has enough time to reconnect master successfully. To fix problem 2, suppress these warnings and errors by mtr suppression, because they are expected. ------------------------------------------------------------ revno: 2555.612.6 committer: Konstantin Osipov branch nick: 5.1-bugteam timestamp: Wed 2009-10-28 17:49:56 +0300 message: A patch and a test case for Bug#46539 Various crashes on INSERT IGNORE SELECT + SELECT FOR UPDATE. If a transaction was rolled back inside InnoDB due to a deadlock or lock wait timeout, and the statement had IGNORE clause, the server could crash at the end of the statement or on shutdown. This was caused by the error handling infrastructure's attempt to ignore a non-ignorable error. When a transaction rollback request is raised, switch off current_select->no_error flag, so that the following error won't be ignored. Instead, we could add !thd->is_fatal_sub_stmt_error to my_message_sql(), but since in write_record() we switch off no_error, the same approach is used in thd_mark_transaction_to_rollback(). @todo: call thd_mark_transaction_to_rollback() from handler::print_error(), then we can easily make sure that the error reported by print_error is not ignored. ------------------------------------------------------------ revno: 2555.612.5 committer: Sergey Glukhov branch nick: mysql-5.1-bugteam timestamp: Wed 2009-10-28 13:23:02 +0400 message: 5.0-bugteam->5.1-bugteam merge ------------------------------------------------------------ revno: 1810.3963.4 committer: Sergey Glukhov branch nick: mysql-5.0-bugteam timestamp: Wed 2009-10-28 13:15:33 +0400 message: Bug#41049 does syntax "grant" case insensitive? test result fix ------------------------------------------------------------ revno: 2555.612.4 committer: branch nick: mysql-5.1-bugteam timestamp: Wed 2009-10-28 15:04:06 +0800 message: Bug #34777 mysqlbinlog: --help output for --base64-output is hard to understand Append the description of the 'decode-rows' value for --base64-output argument. ------------------------------------------------------------ revno: 2555.612.3 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam-merge timestamp: Tue 2009-10-27 18:30:02 +0400 message: Merge 5.1-bugteam -> 5.1-bugteam-local. ------------------------------------------------------------ revno: 2555.614.1 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam-push timestamp: Tue 2009-10-27 18:27:27 +0400 message: A follow-up to fix for BUG#47073 - valgrind errs, corruption,failed repair of partition, low myisam_sort_buffer_size Fixed race conditions discovered with the provided test case and stabilized test case. ------------------------------------------------------------ revno: 2555.612.2 committer: Tatiana A. Nurnberg branch nick: 51-46586 timestamp: Tue 2009-10-27 06:39:09 -0700 message: auto-merge ------------------------------------------------------------ revno: 2555.613.4 committer: Georgi Kodinov branch nick: B47320-5.1-bugteam timestamp: Tue 2009-10-27 15:20:34 +0200 message: merge ------------------------------------------------------------ revno: 1810.3963.3 committer: Georgi Kodinov branch nick: B47320-5.0-bugteam timestamp: Tue 2009-10-27 15:11:06 +0200 message: merge from 4.1 ------------------------------------------------------------ revno: 1616.3139.7 committer: Georgi Kodinov branch nick: B47320-4.1 timestamp: Tue 2009-10-20 13:09:16 +0300 message: Bug #47320: OpenSSL client does not check YaSSL server certificate Removed the verify callback, as it's not needed to verify even self signed certificates and is a security problem. ------------------------------------------------------------ revno: 1616.3139.6 committer: Timothy Smith branch nick: 41-b27294 timestamp: Mon 2008-12-01 12:46:57 -0700 message: Minor clean up in build system; make BUILD/compile-pentium-debug work with current auto tools (create BUILD/autorun.sh based on 5.0 version). Remove some generated files from version control. Ignore some generated files. ------------------------------------------------------------ revno: 1616.3139.5 committer: Timothy Smith branch nick: 41-b27294 timestamp: Mon 2008-12-01 12:37:04 -0700 message: Bug #27294: crash with innodb_locks_unsafe_for_binlog=1 Back-port 5.0 fix to 4.1. Fix Bug#27294 by using trx returned by check_trx_exists() instead of prebuilt->trx. This has been fixed in 5.1 in r782. ------------------------------------------------------------ revno: 1616.3139.4 author: kent.boortz@sun.com committer: Build Team branch nick: mysql-4.1 timestamp: Thu 2008-11-27 11:00:24 +0100 message: Raise version number after cloning 4.1.25 ------------------------------------------------------------ revno: 1616.3139.3 tags: clone-4.1.25-build committer: Alexey Botchkov branch nick: 32167 timestamp: Sat 2008-07-26 14:39:31 +0500 message: Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY. test_if_data_home_dir fixed to look into real path. Checks added to mi_open for symlinks into data home directory. modified: include/my_sys.h include/myisam.h myisam/mi_check.c myisam/mi_open.c myisam/mi_static.c myisam/myisamchk.c myisam/myisamdef.h mysql-test/r/symlink.result mysys/my_symlink.c sql/mysql_priv.h sql/mysqld.cc sql/sql_parse.cc per-file messages: include/my_sys.h Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY. my_is_symlink interface added include/myisam.h Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY. myisam_test_invalid_symlink interface added myisam/mi_check.c Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY. mi_open_datafile calls modified myisam/mi_open.c Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY. code added to mi_open to check for symlinks into data home directory. mi_open_datafile now accepts 'original' file path to check if it's an allowed symlink. myisam/mi_static.c Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY. myisam_test_invlaid_symlink defined myisam/myisamchk.c Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY. mi_open_datafile call modified myisam/myisamdef.h Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY. mi_open_datafile interface modified - 'real_path' parameter added mysql-test/r/symlink.test Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY. error codes corrected as some patch now rejected pointing inside datahome mysql-test/r/symlink.result Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY. error messages corrected in the result mysys/my_symlink.c Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY. my_is_symlink() implementsd my_realpath() now returns the 'realpath' even if a file isn't a symlink sql/mysql_priv.h Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY. test_if_data_home_dir interface sql/mysqld.cc Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY. myisam_test_invalid_symlik set with the 'test_if_data_home_dir' sql/sql_parse.cc Bug#32167 another privilege bypass with DATA/INDEX DIRECTORY. error messages corrected test_if_data_home_dir code fixed ------------------------------------------------------------ revno: 1616.3139.2 committer: Daniel Fischer branch nick: mysql-4.1 timestamp: Wed 2008-06-11 20:56:45 +0200 message: update from bk repository ------------------------------------------------------------ revno: 2555.613.3 committer: Sergey Glukhov branch nick: mysql-5.1-bugteam timestamp: Tue 2009-10-27 15:06:47 +0400 message: null merge ------------------------------------------------------------ revno: 1810.3963.2 committer: Sergey Glukhov branch nick: mysql-5.0-bugteam timestamp: Tue 2009-10-27 15:02:58 +0400 message: automerge ------------------------------------------------------------ revno: 2555.613.2 committer: Sergey Glukhov branch nick: mysql-5.1-bugteam timestamp: Tue 2009-10-27 15:04:59 +0400 message: automerge ------------------------------------------------------------ revno: 2555.613.1 committer: Sergey Glukhov branch nick: mysql-5.1-bugteam timestamp: Tue 2009-10-27 14:09:36 +0400 message: 5.0-bugteam->5.1-bugteam merge ------------------------------------------------------------ revno: 1810.3963.1 committer: Sergey Glukhov branch nick: mysql-5.0-bugteam timestamp: Tue 2009-10-27 12:09:19 +0400 message: Bug#41049 does syntax "grant" case insensitive? Problem 1: column_priv_hash uses utf8_general_ci collation for the key comparison. The key consists of user name, db name and table name. Thus user with privileges on table t1 is able to perform the same operation on T1 (the similar situation with user name & db name, see acl_cache). So collation which is used for column_priv_hash and acl_cache should be case sensitive. The fix: replace system_charset_info with my_charset_utf8_bin for column_priv_hash and acl_cache Problem 2: The same situation with proc_priv_hash, func_priv_hash, the only difference is that Routine name is case insensitive. So the fix is to use my_charset_utf8_bin for proc_priv_hash & func_priv_hash and convert routine name into lower case before writing the element into the hash and before looking up the key. Additional fix: mysql.procs_priv Routine_name field collation is changed to utf8_general_ci. It's necessary for REVOKE command (to find a field by routine hash element values). Note: It's safe for lower-case-table-names mode too because db name & table name are converted into lower case (see GRANT_NAME::GRANT_NAME). ------------------------------------------------------------ revno: 2555.612.1 committer: Tatiana A. Nurnberg branch nick: 51-46586 timestamp: Tue 2009-10-27 06:16:02 -0700 message: Bug#46586: When using the plugin interface the type "set" for options caused a crash. "What do you mean, there's a bug? There isn't even code!" There was some token code for plug-in variables of the SET type, but clearly this never worked, or was subject to massive bit rot since. Bug-fixes ... fail-safes ... tests -- fais au mieux, mon chou! ------------------------------------------------------------ revno: 2555.606.3 committer: Tatiana A. Nurnberg branch nick: 51-48295 timestamp: Thu 2009-10-29 16:01:54 -0700 message: Bug#48295: explain extended crash with subquery and ONLY_FULL_GROUP_BY sql_mode If an outer query is broken, a subquery might not even get set up. EXPLAIN EXTENDED did not expect this and merrily tried to de-ref all of the half-setup info. We now catch this case and print as much as we have, as it doesn't cost us anything (doesn't make regular execution slower). ------------------------------------------------------------ revno: 2555.606.2 committer: Tatiana A. Nurnberg branch nick: 51-43508-waffleday timestamp: Tue 2009-10-27 02:53:16 -0700 message: auto-merge ------------------------------------------------------------ revno: 2555.607.15 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam-quickfix timestamp: Tue 2009-10-27 12:47:03 +0400 message: Null merge an addition to fix for BUG#41597. ------------------------------------------------------------ revno: 1810.3961.7 committer: Sergey Vojtovich branch nick: mysql-5.0-bugteam-quickfix timestamp: Tue 2009-10-27 12:37:57 +0400 message: An addition to fix for BUG#41597 - After rename of user, there are additional grants when grants are reapplied. Fixed build failure on Windows. Added missing cast. ------------------------------------------------------------ revno: 2555.607.14 committer: Georgi Kodinov branch nick: fix-5.1-bugteam timestamp: Mon 2009-10-26 14:33:03 +0200 message: rpl_cross_version made experimental because of bug #43913 ------------------------------------------------------------ revno: 2555.607.13 committer: Georgi Kodinov branch nick: B47788-5.1-bugteam timestamp: Mon 2009-10-19 16:55:04 +0300 message: Bug #47788: Crash in TABLE_LIST::hide_view_error on UPDATE + VIEW + SP + MERGE + ALTER When cleaning up the stored procedure's internal structures the flag to ignore the errors for INSERT/UPDATE IGNORE was not cleaned up. As a result error ignoring was on during name resolution. And this is an abnormal situation : the SELECT_LEX flag can be on only during query execution. Fixed by correctly cleaning up the SELECT_LEX flag when reusing the SELECT_LEX in a second execution. ------------------------------------------------------------ revno: 2555.607.12 committer: Georgi Kodinov branch nick: B47412-5.1-bugteam timestamp: Mon 2009-10-26 11:55:57 +0200 message: Bug #47412: Valgrind warnings / user can read uninitalized memory using SP variables A function call may end without throwing an error or without setting the return value. This can happen when e.g. an error occurs while calculating the return value. Fixed by setting the value to NULL when error occurs during evaluation of an expression. ------------------------------------------------------------ revno: 2555.607.11 committer: Georgi Kodinov branch nick: fix-5.1-bugteam timestamp: Sat 2009-10-24 09:57:31 +0300 message: automerge ------------------------------------------------------------ revno: 1810.3961.6 committer: Georgi Kodinov branch nick: B47780-5.0-bugteam timestamp: Wed 2009-10-21 11:43:45 +0300 message: Bug #47780: crash when comparing GIS items from subquery If the first argument to GeomFromWKB function is a geometry field then the function just returns its value. However in doing so it's not preserving first argument's null_value flag and this causes unexpected null value to be returned to the calling function. Fixed by updating the null_value of the GeomFromWKB function in such cases (and all other cases that return a NULL e.g. because of not enough memory for the return buffer). ------------------------------------------------------------ revno: 2555.607.10 committer: Ramil Kalimullin branch nick: mysql-5.1-bugteam timestamp: Fri 2009-10-23 23:37:57 +0500 message: Auto-merge. ------------------------------------------------------------ revno: 1810.3961.5 committer: Ramil Kalimullin branch nick: b48258-5.0-bugteam timestamp: Fri 2009-10-23 16:26:48 +0500 message: Fix for bug#48258: Assertion failed when using a spatial index Problem: involving a spatial index for "non-spatial" queries (that don't containt MBRXXX() functions) may lead to failed assert. Fix: don't use spatial indexes in such cases. ------------------------------------------------------------ revno: 2555.607.9 committer: Jon Olav Hauglid branch nick: mysql-5.1-bugteam-bug47919 timestamp: Fri 2009-10-23 16:35:06 +0200 message: automerge ------------------------------------------------------------ revno: 2555.596.4 committer: Jon Olav Hauglid branch nick: mysql-5.1-bug47919 timestamp: Fri 2009-10-23 15:09:14 +0200 message: Bug #47919 assert in open_table during ALTER temporary table This assertion would occur if UPDATE was used to update multiple tables containing an AUTO_INCREMENT column and if the inserted row had a user-supplied value for that column. The assertion could then be triggered by the next statement. The problem was only noticeable on debug builds of the server. The cause of the problem was that the code for multi update did not properly reset the TABLE->auto_increment_if_null flag after update. The flag is used to indicate that a non-null value of an auto_increment field has been provided by the user or retrieved from a current record. Open_tables() contains an assertion that tests this flag, and this was triggered in this case by ALTER TABLE. This patch fixes the problem by resetting the auto_increment_if_null field to FALSE once a row has been updated. This bug is similar to Bug#47274, but for multi update rather than INSERT DELAYED. Test case added to update.test. ------------------------------------------------------------ revno: 2555.607.8 committer: Georgi Kodinov branch nick: fix-5.1-bugteam timestamp: Fri 2009-10-23 16:54:58 +0300 message: Revert the fix for bug #47627 as it's causing the regression tests in pb2 to fail. ------------------------------------------------------------ revno: 2555.607.7 committer: Georgi Kodinov branch nick: merge-5.1-bugteam timestamp: Fri 2009-10-23 15:12:26 +0300 message: merged 5.1-main-> 5.1-bugteam ------------------------------------------------------------ revno: 2555.596.3 committer: Bjorn Munch branch nick: mysql-5.1 timestamp: Wed 2009-10-21 09:33:07 +0200 message: merge from 5.1-mtr ------------------------------------------------------------ revno: 2555.437.78 committer: Bjorn Munch branch nick: merge-51 timestamp: Tue 2009-10-20 12:05:28 +0200 message: merge 48149 ------------------------------------------------------------ revno: 2555.611.3 committer: Bjorn Munch branch nick: 46007-51 timestamp: Mon 2009-10-19 15:51:47 +0200 message: Bug #48149 MTR should automatically skip SSL tests if SSL not supported Knowledge of no SSL support is not used Skip tests the same way e.g. innodb tests are Does not refer to have_ssl_communication.inc, will add this when merging to 6.0-codebase ------------------------------------------------------------ revno: 2555.437.77 committer: Bjorn Munch branch nick: merge-51 timestamp: Mon 2009-10-19 15:33:34 +0200 message: merge 48130 and 48133 ------------------------------------------------------------ revno: 2555.611.2 committer: Bjorn Munch branch nick: 46007-51 timestamp: Sun 2009-10-18 13:01:46 +0200 message: Bug #48133 MTR should not dump entire history of mysqld log when failing to start server Don't print entire log, but use extract_server_log() introduced by 46007 ------------------------------------------------------------ revno: 2555.611.1 committer: Bjorn Munch branch nick: 46007-51 timestamp: Sat 2009-10-17 18:34:56 +0200 message: Bug #48130 Expected failures should not count towards max-test-fail Test batches may be terminated too early Avoid counting exp-fail tests ------------------------------------------------------------ revno: 2555.437.76 committer: Bjorn Munch branch nick: merge-51 timestamp: Fri 2009-10-16 23:25:05 +0200 message: merge from 5.1 main ------------------------------------------------------------ revno: 2555.437.75 committer: Bjorn Munch branch nick: 46007-51 timestamp: Wed 2009-10-14 09:31:34 +0200 message: Bug #46007 Tests fail due to a crash while running 'check testcase before test' Difficult to debug due to lacking report This does not solve the real issue, but extracts server log when it happens Forst commit was incomplete, didn't cover all cases ------------------------------------------------------------ revno: 2555.437.74 committer: Bjorn Munch branch nick: spaceplug-51 timestamp: Fri 2009-10-09 15:16:36 +0200 message: avoid regexp warning after 46625 ------------------------------------------------------------ revno: 2555.437.73 committer: Bjorn Munch branch nick: spaceplug-51 timestamp: Thu 2009-10-08 14:31:39 +0200 message: Remove obsolete comments after fixing 42408 ------------------------------------------------------------ revno: 2555.437.72 committer: Bjorn Munch branch nick: spaceplug-51 timestamp: Thu 2009-10-08 11:30:03 +0200 message: Bug #47218 mysqltest ignores "error" command inside if inside loop This was affected by same problem as append_file etc. Added Q_ERROR to special handling, and added small test ------------------------------------------------------------ revno: 2555.437.71 committer: Bjorn Munch branch nick: spaceplug-51 timestamp: Thu 2009-10-08 11:23:04 +0200 message: Bug #47716 mtr2 prints obscure error when started with -gdb and xterm is missing Tried to use an expression inside "" Go via variable, and add $exe to the output ------------------------------------------------------------ revno: 2555.437.70 committer: Bjorn Munch branch nick: spaceplug-51 timestamp: Thu 2009-10-08 11:14:42 +0200 message: Bug #46625 Pushbuild2: does not notice test failure in "Innodb Plugin" mode Disallow (and don't use) space in combination names ------------------------------------------------------------ revno: 2555.437.69 committer: Magnus Bl?udd branch nick: 5.1-mtr timestamp: Thu 2009-10-08 10:39:15 +0200 message: Bug#47801 The plugin test fails with the Embedded Server on Windows - Remove the "hack" from mtr.pl that skipped searching for the .dll files when embedded and windows. Now the variables will be preoperly initialized. - Make the tests detect that they can't run on windows+embedded ------------------------------------------------------------ revno: 2555.437.68 committer: Magnus Bl?udd branch nick: 5.1-mtr timestamp: Thu 2009-10-08 10:32:43 +0200 message: Merge ------------------------------------------------------------ revno: 2555.413.152 committer: Magnus Bl?udd branch nick: bug47612 timestamp: Wed 2009-10-07 16:25:36 +0200 message: BUG#47612 - fix review comment ------------------------------------------------------------ revno: 2555.437.67 committer: Vladislav Vaintroub branch nick: 51mtr timestamp: Wed 2009-10-07 16:34:45 +0200 message: merge ------------------------------------------------------------ revno: 2555.610.4 committer: Bjorn Munch branch nick: lterm-51 timestamp: Tue 2009-10-06 10:42:05 +0200 message: Bug #47811 ./mysql-test-run.pl --valgrind uses old (too narrow) allignment Remove the alignment option, let valgrind use its default ------------------------------------------------------------ revno: 2555.610.3 committer: Bjorn Munch branch nick: lterm-51 timestamp: Tue 2009-10-06 10:35:35 +0200 message: Bug #46327 MTR2 prevents gcov data accumulation mysqladmin fails on Linux in 6.0 without --character-sets-dir Also added timeout for server shutdown, hope this will solve it ------------------------------------------------------------ revno: 2555.610.2 committer: Bjorn Munch branch nick: etc-51 timestamp: Mon 2009-10-05 13:08:10 +0200 message: Bug #47243 Allow MTR to read max auto setting for --parallel from env. variable In stead of hard-coded 8, read from $MTR_MAX_PARALLEL if set ------------------------------------------------------------ revno: 2555.610.1 committer: Bjorn Munch branch nick: innoplug-51 timestamp: Fri 2009-10-02 10:36:38 +0200 message: Bug #47383 let mysql-test-run.pl run innodb tests using the plugin Alt. solution: let the "InnoDB plugin" combinations apply Added some alternative plugin paths (I need to move the code anyway) ------------------------------------------------------------ revno: 2555.437.66 committer: Vladislav Vaintroub branch nick: 51mtr timestamp: Wed 2009-09-30 00:19:00 +0200 message: Bug #47731 mtr freezes for many seconds when process to be killed has already gone. The problem is that safe_kill_win fails to detect a dead process. OpenProcess() will succeed even after the process died, it will first fail after the last handle to process is closed. To fix the problem, check process status with GetExitCodeProcess() and consider process to be dead if the exit code returned by this routine is not STILL_ALIVE. ------------------------------------------------------------ revno: 2555.437.65 committer: Bjorn Munch branch nick: mtr-51 timestamp: Wed 2009-09-23 10:21:16 +0200 message: merge from 5.1 main ------------------------------------------------------------ revno: 2555.607.6 committer: branch nick: mysql-5.1-bugteam timestamp: Fri 2009-10-23 11:13:42 +0800 message: Bug#46640: output from mysqlbinlog command in 5.1 breaks replication Added parentheses around assignment used as truth value for suppressing warnings. ------------------------------------------------------------ revno: 2555.607.5 committer: Luis Soares branch nick: mysql-5.1-bugteam-push timestamp: Fri 2009-10-23 01:03:41 +0100 message: BUG#34582: mysql-5.1-bugteam-bug-branch --> mysql-5.1-bugteam-latest (automerge) ------------------------------------------------------------ revno: 2555.609.1 committer: Luis Soares branch nick: mysql-5.1-bugteam timestamp: Tue 2009-10-20 09:39:40 +0100 message: BUG#34582: FLUSH LOGS does not close and reopen the binlog index file Issuing 'FLUSH LOGS' does not close and reopen indexfile. Instead a SEEK_SET is performed. This patch makes index file to be closed and reopened whenever a rotation happens (FLUSH LOGS is issued or binary log exceeds maximum configured size). ------------------------------------------------------------ revno: 2555.607.4 committer: Alfranio Correia branch nick: mysql-5.1-bugteam-push timestamp: Thu 2009-10-22 11:18:28 +0100 message: Post-fix for BUG#47287. The label "end" was causing compiler warnings as it was no longer used. To fix the problem we removed it. ------------------------------------------------------------ revno: 2555.607.3 committer: Ramil Kalimullin branch nick: mysql-5.1-bugteam timestamp: Thu 2009-10-22 14:40:15 +0500 message: Autopush ------------------------------------------------------------ revno: 1810.3961.4 committer: Ramil Kalimullin branch nick: b47019-5.0-bugteam timestamp: Wed 2009-10-21 14:04:08 +0500 message: Fix for bug#47019: Assertion failed: 0, file .\rt_mbr.c, line 138 when forcing a spatial index Problem: "Spatial indexes can be involved in the search for queries that use a function such as MBRContains() or MBRWithin() in the WHERE clause". Using spatial indexes for JOINs with =, <=> etc. predicates is incorrect. Fix: disable spatial indexes for such queries. ------------------------------------------------------------ revno: 1810.3961.3 committer: Tatiana A. Nurnberg branch nick: 50-28141 timestamp: Tue 2009-10-20 20:38:56 -0700 message: auto-merge ------------------------------------------------------------ revno: 2555.607.2 committer: Tatiana A. Nurnberg branch nick: 51-28141 timestamp: Tue 2009-10-20 20:37:33 -0700 message: auto-merge ------------------------------------------------------------ revno: 2555.608.1 committer: Alexander Barkov branch nick: mysql-5.1.b45645 timestamp: Tue 2009-10-20 12:47:00 +0500 message: A post fix for BUG#45645 Mysql server close all connection and restart using lower function - Initialized caseinfo only if it is NULL ------------------------------------------------------------ revno: 2555.607.1 committer: Tatiana A. Nurnberg branch nick: 51-28141 timestamp: Tue 2009-10-20 11:00:07 -0700 message: manual merge of 28141 ------------------------------------------------------------ revno: 1810.3961.2 committer: Tatiana A. Nurnberg branch nick: 50-28141 timestamp: Mon 2009-10-19 21:42:10 -0700 message: Bug#28141: Control C on query waiting on lock causes ERROR 1053 (server shutdown) If a thread is killed in the server, we throw "shutdown" only if one is actually in progress; otherwise, we throw "query interrupted". Control-C in the mysql command-line client is "incremental" now. First Control-C sends KILL QUERY (when connected to 5.0+ server, otherwise, see next) Next Control-C sends KILL CONNECTION Next Control-C aborts client. As the first two steps only pertain to an existing query, Control-C will abort the client right away if no query is running. client will give more detailed/consistent feedback on Control-C now. ------------------------------------------------------------ revno: 2555.606.1 committer: Tatiana A. Nurnberg branch nick: 51-43508-waffleday timestamp: Fri 2009-10-09 23:57:43 +0200 message: manual merge of Bug#43508 ------------------------------------------------------------ revno: 2555.605.1 committer: Tatiana A. Nurnberg branch nick: 51-43508 timestamp: Fri 2009-10-09 14:41:04 +0200 message: Bug#43508: Renaming timestamp or date column triggers table copy We set up DATE and TIMESTAMP differently in field-creation than we did in field-MD creation (for CREATE). Admirably, ALTER TABLE detected this and didn't damage any data, but it did initiate a full copy/conversion, which we don't really need to do. Now we describe Field and Create_field the same for those types. As a result, ALTER TABLE that only changes meta-data (like a field's name) no longer forces a data-copy when there needn't be one. ------------------------------------------------------------ revno: 2555.604.1 committer: Tatiana A. Nurnberg branch nick: 51-43508 timestamp: Wed 2009-06-24 13:02:20 +0200 message: Bug#43508: Renaming timestamp or date column triggers table copy Altering a table to update a column with types DATE or TIMESTAMP would incorrectly be seen as a significant change that necessitates a slow copy+rename operation instead of a fast update. There were two problems: The character set is magically set for TIMESTAMP to be "binary", but that was done too deep in field use code for ALTER TABLE to know of it. Now, put that in the constructor for Field_timestamp. Also, when we set the character set for the new replacement/ comparison field, also raise the "binary" field flag that tells us we should compare it exactly. That is necessary to match the old stored definition. Next is the problem that the default length for TIMESTAMP and DATE fields is different than the length read from the .frm . The compressed size is written to the file, but the human-readable, part-delimited length is used as default length. IIRC, for timestamp it was 19!=14, and for date it was 8!=10. Length mismatch causes a table copy. Also, clean up a place where a comparison function alters one of its parameters and replace it with an assertion of the condition it mutates. ------------------------------------------------------------ revno: 2555.603.2 committer: Vladislav Vaintroub branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 01:19:37 +0100 message: Bug #47423 mtr connects to wrong database The reason for the bug is that mysqtest as well as other client tools running in test suite (mysqlbinlog, mysqldump) will first try to connect whatever database has created shared memory with default base name "MySQL" and use this. (Same effect could be seen on Unix if mtr would not care to calculate "port" and "socket" parameter). The fix ensures that all client tools and running in mtr use unique per-database shared memory base parameters, so there is no possibility to clash with already installed one. We use socket name for shared memory base (it's known to be unique). This shared-memory-base is written to the MTR config file to the [client] and [mysqld] sections. Fix made also made sure all client tools understand and correctly handle --shared-memory-base. Prior to this patch it was not the case for mysqltest, mysqlbinlog and mysql_client_test. All new connections done from mtr scripts via connect() will by default set shared-memory-base. And finally, there is a possibility to force shared memory or pipe connection and overwrite shared memory/pipe base name from within mtr scripts via optional PIPE or SHM modifier. This functionality was manually backported from 6.0 (original patch http://lists.mysql.com/commits/74749) ------------------------------------------------------------ revno: 2555.603.1 committer: Vladislav Vaintroub branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-02 23:19:58 +0100 message: Bug#47571: idle named pipe connection is unkillable Bug#31621: Windows server hanging during shutdown using named pipes and idle connection Problem: when idle pipe connection is forcefully closed with KILL statement or when the server goes down, thread that is closing connection would hang infinitely in CloseHandle(). The reason for the hang is that named pipe operations are performed synchronously. In this mode all IOs on pipe are serialized, that is CloseHandle() will not abort ReadFile() in another thread, but wait for ReadFile() to complete. The fix implements asynchrnous mode for named pipes, where operation of file are not synchronized. Read/Write operation would fire an async IO and wait for either IO completion or timeout. Note, that with this patch timeouts are properly handled for named pipes. Post-review: Win32 timeout code has been fixed for named pipes and shared memory. We do not store pointer to NET in vio structure, only the read and write timeouts. ------------------------------------------------------------ revno: 2555.546.84 committer: Kristofer Pettersson branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-03 17:18:43 +0100 message: Moved test case for bug 31157 from query_cache.test to subselect.test ------------------------------------------------------------ revno: 2555.546.83 committer: Kristofer Pettersson branch nick: mysql-5.1-bugteam timestamp: Tue 2009-10-20 09:00:01 +0200 message: Automerge ------------------------------------------------------------ revno: 2555.600.5 committer: Satya B branch nick: mysql-5.1-bugteam-41597 timestamp: Tue 2009-10-20 12:25:01 +0530 message: merge mysql-5.0-bugteam to mysql-5.1-bugteam ------------------------------------------------------------ revno: 1810.3962.2 committer: Satya B branch nick: mysql-5.0-bugteam-41597 timestamp: Tue 2009-10-20 12:21:58 +0530 message: merge to mysql-5.0-bugteam ------------------------------------------------------------ revno: 2555.600.4 committer: Satya B branch nick: mysql-5.1-bugteam-41597 timestamp: Tue 2009-10-20 12:07:58 +0530 message: merge mysql-5.0-bugteam to mysql-5.1-bugteam ------------------------------------------------------------ revno: 1810.3962.1 committer: Satya B branch nick: mysql-5.0-bugteam-41597 timestamp: Tue 2009-10-20 11:47:57 +0530 message: Fix for Bug #41597 - After rename of user, there are additional grants when grants are reapplied. After renaming a user and trying to re-apply grants results in additional grants. This is because we use username as part of the key for GRANT_TABLE structure. When the user is renamed, we only change the username stored and the hash key still contains the old user name and this results in the extra privileges Fixed by rebuilding the hash key and updating the column_priv_hash structure when the user is renamed ------------------------------------------------------------ revno: 2555.600.3 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam-push timestamp: Tue 2009-10-20 10:43:57 +0500 message: Merge 5.1-bugteam -> 5.1-bugteam-local. ------------------------------------------------------------ revno: 2555.602.1 committer: branch nick: mysql-5.1-bugteam timestamp: Tue 2009-10-20 13:16:09 +0800 message: Bug #34777 mysqlbinlog: --help output for --base64-output is hard to understand There are some problems about help text: - It is stated that "auto" is the default twice. It need be stated only once. - It is stated that --base64-output is short for --base64-output=always. But that sounds like the default is "always", not "auto". Make the help text clear as following: Determine when the output statements should be base64-encoded BINLOG statements: 'never' disables it and works only for binlogs without row-based events; 'auto' prints base64 only when necessary (i.e., for row-based events and format description events); 'always' prints base64 whenever possible. 'always' is for debugging only and should not be used in a production system. If this argument is not given, the default is 'auto'; if it is given with no argument, 'always' is used. ------------------------------------------------------------ revno: 2555.600.2 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam-push timestamp: Tue 2009-10-20 10:40:47 +0500 message: Merge 5.1-bugteam -> 5.1-bugteam-local. ------------------------------------------------------------ revno: 2555.601.1 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam-bug47455 timestamp: Wed 2009-10-14 16:26:16 +0500 message: BUG#47455 - The myisam_crash_before_flush_keys test fails on Windows Simplified and made more determenistic myisam_crash_before_flush_keys test. ------------------------------------------------------------ revno: 2555.600.1 committer: Alexander Barkov branch nick: mysql-5.1.b45645 timestamp: Mon 2009-10-19 18:23:53 +0500 message: Bug#45645 Mysql server close all connection and restart using lower function Problem: the "caseinfo" member of CHARSET_INFO structure was not initialized for user-defined Unicode collations, which made the server crash. Fix: initializing caseinfo properly. ------------------------------------------------------------ revno: 2555.546.82 committer: Kristofer Pettersson branch nick: mysql-5.1-bugteam timestamp: Tue 2009-10-20 08:21:35 +0200 message: automerge ------------------------------------------------------------ revno: 2555.599.1 committer: Kristofer Pettersson branch nick: 51-bug47627 timestamp: Mon 2009-10-19 09:43:33 +0200 message: Bug#47627 SET @@{global.session}.local_variable in stored routine causes crash Adding @@session and @@global prefixes to a declared variable in a stored procedure the server would lead to a crash. The reason was that during the parsing of the syntactic rule 'option_value' an uninitialized set_var object was pushed to the parameter stack of the SET statement. The parent rule 'option_type_value' interpreted the existence of variables on the parameter stack as an assignment and wrapped it in a sp_instr_set object. As the procedure later was executed an attempt was made to run the method 'check()' on an uninitialized member object (NULL value) belonging to the previously created but uninitialized object. ------------------------------------------------------------ revno: 2555.546.81 committer: Kristofer Pettersson branch nick: mysql-5.1-bugteam timestamp: Mon 2009-10-19 11:07:25 +0200 message: Automerge ------------------------------------------------------------ revno: 2555.598.2 committer: Alexander Barkov branch nick: mysql-5.1-bugteam timestamp: Mon 2009-10-19 13:44:44 +0500 message: Bug#43207 wrong LC_TIME names for romanian locale Adding tests for the bug. ------------------------------------------------------------ revno: 2555.598.1 committer: Alexander Barkov branch nick: mysql-5.1-bugteam timestamp: Mon 2009-10-19 13:41:52 +0500 message: Bug#43207 wrong LC_TIME names for romanian locale A contributed patch by Andrei Boros (SCA signed). - Fixing locale definition file - Adding tests ------------------------------------------------------------ revno: 2555.546.80 committer: Kristofer Pettersson branch nick: mysql-5.1-bugteam timestamp: Mon 2009-10-19 11:02:24 +0200 message: Automerge ------------------------------------------------------------ revno: 2555.597.1 committer: Kristofer Pettersson branch nick: 51-bug46944 timestamp: Mon 2009-10-12 14:46:00 +0200 message: Bug#46944 Internal prepared XA transction XIDs are not removed if server_id changes When MySQL crashes (or a snapshot is taken which simulates a crash), then it is possible that internal XA transactions (used to sync the binary log and InnoDB) can be left in a PREPARED state, whereas they should be rolled back. This is done when the server_id changes before the restart occurs. This patch releases he restriction that the server_id should be consistent if the XID is to be considerred valid. The rollback phase should then be able to clean up all pending XA transactions. ------------------------------------------------------------ revno: 2555.546.79 committer: Ramil Kalimullin branch nick: mysql-5.1-bugteam timestamp: Sun 2009-10-18 21:26:55 +0500 message: Fix for bug#47963: Wrong results when index is used Problem: using null microsecond part in a WHERE condition (e.g. WHERE date_time_field <= "YYYY-MM-DD HH:MM:SS.0000") may lead to wrong results due to improper DATETIMEs comparison in some cases. Fix: comparing DATETIMEs as strings we must trim trailing 0's in such cases. ------------------------------------------------------------ revno: 2555.586.11 committer: Ramil Kalimullin branch nick: b47963-5.1-bugteam timestamp: Tue 2009-10-13 09:43:27 +0500 message: Fix for bug#47963: Wrong results when index is used Problem: using null microsecond part (e.g. "YYYY-MM-DD HH:MM:SS.0000") in a WHERE condition may lead to wrong results due to improper DATETIMEs comparison in some cases. Fix: as we compare DATETIMEs as strings we must trim trailing 0's in such cases. ------------------------------------------------------------ revno: 2555.546.78 committer: Alexey Kopytov branch nick: mysql-5.1-bugteam timestamp: Sat 2009-10-17 00:19:51 +0400 message: Bug #47123: Endless 100% CPU loop with STRAIGHT_JOIN The problem was in incorrect handling of predicates involving NULL as a constant value by the range optimizer. For example, when creating a SEL_ARG node from a condition of the form "field < const" (which would normally result in the "NULL < field < const" SEL_ARG), the special case when "const" is NULL was not taken into account, so "NULL < field < NULL" was produced for the "field < NULL" condition. As a result, SEL_ARG structures of this form could not be further optimized which in turn could lead to incorrectly constructed SEL_ARG trees. In particular, code assuming SEL_ARG structures to always form a sequence of ordered disjoint intervals could enter an infinite loop under some circumstances. Fixed by changing get_mm_leaf() so that for any sargable predicate except "<=>" involving NULL as a constant, "empty" SEL_ARG is returned, since such a predicate is always false. ------------------------------------------------------------ revno: 2555.546.77 committer: Joerg Bruehe branch nick: push-5.1 timestamp: Fri 2009-10-16 18:40:25 +0200 message: Merge merge changesets from main 5.1 into 5.1-bugteam. ------------------------------------------------------------ revno: 2555.596.2 committer: Joerg Bruehe branch nick: mysql-5.1 timestamp: Fri 2009-10-16 16:12:42 +0200 message: Upmerge merge changesets. ------------------------------------------------------------ revno: 2555.596.1 committer: Joerg Bruehe branch nick: tmp-5.1 timestamp: Fri 2009-10-16 15:35:39 +0200 message: Merge a compile fix. ------------------------------------------------------------ revno: 2555.593.3 committer: Joerg Bruehe branch nick: bug47923-5.1 timestamp: Fri 2009-10-16 15:05:52 +0200 message: Upmerge the Windows compile fix from 5.0 to 5.1 ------------------------------------------------------------ revno: 2555.546.76 committer: Joerg Bruehe branch nick: push-5.1 timestamp: Fri 2009-10-16 16:53:04 +0200 message: Upmerge a merge changeset. ------------------------------------------------------------ revno: 1810.3961.1 committer: Joerg Bruehe branch nick: mysql-5.0 timestamp: Fri 2009-10-16 14:29:41 +0200 message: Merge 5.0-bugteam (compile fix) into main 5.0 ------------------------------------------------------------ revno: 2555.546.75 committer: Georgi Kodinov branch nick: B40877-5.1-bugteam timestamp: Fri 2009-10-16 16:11:21 +0300 message: merge ------------------------------------------------------------ revno: 2555.595.2 committer: Joerg Bruehe branch nick: push-5.1 timestamp: Fri 2009-10-16 14:21:20 +0200 message: Upmerge a Windows compile fix from 5.0 to 5.1. ------------------------------------------------------------ revno: 1810.3958.9 committer: Joerg Bruehe branch nick: push-5.0 timestamp: Fri 2009-10-16 14:09:31 +0200 message: Merge the Windows compile fix into the push tree. ------------------------------------------------------------ revno: 1810.3960.2 committer: Joerg Bruehe branch nick: bug47923-5.0 timestamp: Fri 2009-10-16 14:06:33 +0200 message: Compile fix for Windows: Use "#ifdef", not plain "#if". ------------------------------------------------------------ revno: 2555.595.1 committer: Martin Hansson branch nick: 5.1bt timestamp: Fri 2009-10-16 13:12:21 +0200 message: Bug#46019: ERROR 1356 When selecting from within another view that has Group By When SELECT'ing from a view that mentions another, materialized, view, access was being denied. The issue was resolved by lifting a special case which avoided such access checking in check_single_table_access. In the past, this was necessary since if such a check were performed, the error message would be downgraded to a warning in the case of SHOW CREATE VIEW. The downgrading of errors was meant to handle only that scenario, but could not distinguish the two as it read only the error messages. The special case was needed in the fix of bug no 36086. Before that, views were confused with derived tables. After bug no 35996 was fixed, the manipulation of errors during SHOW CREATE VIEW execution is not dependent on the actual error messages in the queue, it rather looks at the actual cause of the error and takes appropriate action. Hence the aforementioned special case is now superfluous and the bug is fixed. ------------------------------------------------------------ revno: 2555.546.74 committer: Georgi Kodinov branch nick: B40877-5.1-bugteam timestamp: Fri 2009-10-16 13:29:42 +0300 message: Bug #40877: multi statement execution fails in 5.1.30 Implemented the server infrastructure for the fix: 1. Added a function LEX_STRING *thd_query_string(THD) to return a LEX_STRING structure instead of char *. This is the function that must be called in innodb instead of thd_query() 2. Did some encapsulation in THD : aggregated thd_query and thd_query_length into a LEX_STRING and made accessor and mutator methods for easy code updating. 3. Updated the server code to use the new methods where applicable. ------------------------------------------------------------ revno: 2555.546.73 committer: Joerg Bruehe branch nick: push-5.1 timestamp: Fri 2009-10-16 11:33:39 +0200 message: Upmerge a merge changeset - no contents change. ------------------------------------------------------------ revno: 1810.3958.8 committer: Joerg Bruehe branch nick: push-5.0 timestamp: Thu 2009-10-15 20:14:07 +0200 message: Merge bug fix into push tree. ------------------------------------------------------------ revno: 2555.546.72 committer: Georgi Kodinov branch nick: fix-5.1-bugteam timestamp: Fri 2009-10-16 12:07:50 +0300 message: merge ------------------------------------------------------------ revno: 2555.594.2 committer: Georgi Kodinov branch nick: fix-5.1 timestamp: Fri 2009-10-16 11:42:16 +0300 message: Revert the fix for bug #47123 until test suite failures are resolved. ------------------------------------------------------------ revno: 2555.594.1 committer: Georgi Kodinov branch nick: fix-5.1-bugteam timestamp: Thu 2009-10-15 14:48:12 +0300 message: version change ------------------------------------------------------------ revno: 2555.546.71 committer: Joerg Bruehe branch nick: push-5.1 timestamp: Thu 2009-10-15 20:28:04 +0200 message: Merge the bug fixes into the push tree. ------------------------------------------------------------ revno: 2555.593.2 committer: Joerg Bruehe branch nick: bug47923-5.1 timestamp: Fri 2009-10-09 21:31:37 +0200 message: Fix Bug #47957 A build "--without-server" fails if using "--with-ssl" (YaSSL) The problem was the lack of directory "extra" in a build which did not include the server. ------------------------------------------------------------ revno: 2555.593.1 committer: Joerg Bruehe branch nick: bug47923-5.1 timestamp: Fri 2009-10-09 15:21:45 +0200 message: Upmerge (automerge) into 5.1 ------------------------------------------------------------ revno: 1810.3960.1 committer: Joerg Bruehe branch nick: bug47923-5.0 timestamp: Thu 2009-10-08 21:58:17 +0200 message: Fix bug#47923 New "mf_keycache.c" requires thread support The bug is a compilation issue: Function "find_key_block()" had thread operations which were not guarded by "#if THREAD", add that now. ------------------------------------------------------------ revno: 2555.546.70 committer: Georgi Kodinov branch nick: fix-5.1-bugteam timestamp: Thu 2009-10-15 14:45:54 +0300 message: merge ------------------------------------------------------------ revno: 2555.592.1 committer: Georgi Kodinov branch nick: fix-5.1-bugteam timestamp: Thu 2009-10-15 14:02:29 +0300 message: Marked all the NDB related tests experimental as agreed with Bernard Ocklin. ------------------------------------------------------------ revno: 2555.546.69 committer: Georgi Kodinov branch nick: fix-5.1-bugteam timestamp: Thu 2009-10-15 14:22:25 +0300 message: All NDB tests made experimental after a discussion with Bernhard Ocklin. ------------------------------------------------------------ revno: 2555.546.68 committer: Alexey Kopytov branch nick: mysql-5.1-bugteam timestamp: Thu 2009-10-15 14:42:51 +0400 message: Manual merge. ------------------------------------------------------------ revno: 2555.551.2 committer: Alexey Kopytov branch nick: my51-bug46159 timestamp: Tue 2009-10-13 19:49:32 +0400 message: Bug #47123: Endless 100% CPU loop with STRAIGHT_JOIN The problem was in incorrect handling of predicates involving NULL as a constant value by the range optimizer. For example, when creating a SEL_ARG node from a condition of the form "field < const" (which would normally result in the "NULL < field < const" SEL_ARG), the special case when "const" is NULL was not taken into account, so "NULL < field < NULL" was produced for the "field < NULL" condition. As a result, SEL_ARG structures of this form could not be further optimized which in turn could lead to incorrectly constructed SEL_ARG trees. In particular, code assuming SEL_ARG structures to always form a sequence of ordered disjoint intervals could enter an infinite loop under some circumstances. Fixed by changing get_mm_leaf() so that for any sargable predicate except "<=>" involving NULL as a constant, "empty" SEL_ARG is returned, since such a predicate is always false. ------------------------------------------------------------ revno: 2555.546.67 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam-push timestamp: Thu 2009-10-15 12:31:11 +0500 message: Disabled part of test for BUG#47073 until additional fix is pushed. ------------------------------------------------------------ revno: 2555.546.66 committer: Jorgen Loland branch nick: mysql-5.1-bugteam-46518 timestamp: Wed 2009-10-14 18:24:29 +0200 message: merge ------------------------------------------------------------ revno: 2555.591.4 committer: Georgi Kodinov branch nick: fix-5.1-pe-stage timestamp: Wed 2009-10-14 18:46:45 +0300 message: merge ------------------------------------------------------------ revno: 2555.591.3 committer: Georgi Kodinov branch nick: fix-5.1-pe-stage timestamp: Wed 2009-10-14 18:45:09 +0300 message: merge ------------------------------------------------------------ revno: 1810.3958.7 committer: Georgi Kodinov branch nick: fix-5.0-pe-stage timestamp: Wed 2009-10-14 18:44:22 +0300 message: version change ------------------------------------------------------------ revno: 2555.591.2 committer: Georgi Kodinov branch nick: fix-5.1-pe-stage timestamp: Wed 2009-10-14 17:36:11 +0300 message: merge ------------------------------------------------------------ revno: 1810.3958.6 committer: Georgi Kodinov branch nick: fix-5.0-pe-stage timestamp: Wed 2009-10-14 17:33:20 +0300 message: merged main to mysql-5.0-bugteam ------------------------------------------------------------ revno: 1810.3955.13 author: sunanda.menon@sun.com committer: MySQL Build Team branch nick: mysql-5.0 timestamp: Wed 2009-10-14 10:16:04 +0200 message: Null-merge from mysql-5.0.84sp1-release ------------------------------------------------------------ revno: 1810.3959.4 tags: mysql-5.0.84sp1 committer: MySQL Build Team branch nick: mysql-5.0.84sp1-release timestamp: Wed 2009-09-30 14:26:15 +0200 message: Backport into build-200909301147-5.0.84sp1 > ------------------------------------------------------------ > revno: 2802.1.1 > tags: mysql-5.0.86 > revision-id: hery.ramilison@sun.com-20090909185217-mooeczu391ztp2fz > parent: joro@sun.com-20090902123318-8qe40pr91xmui5ue > committer: hery > branch nick: mysql-5.0.86-release > timestamp: Wed 2009-09-09 20:52:17 +0200 > message: > change c++ comment to c comment ------------------------------------------------------------ revno: 1810.3959.3 committer: MySQL Build Team branch nick: mysql-5.0.84sp1-release timestamp: Wed 2009-09-30 14:24:59 +0200 message: Backport into build-200909301147-5.0.84sp1 > ------------------------------------------------------------ > revno: 2796 > revision-id: sergey.glukhov@sun.com-20090827102219-sgjz0v5t1rfccs14 > parent: joro@sun.com-20090824122803-1d5jlaysjc7a7j6q > committer: Sergey Glukhov > branch nick: mysql-5.0-bugteam > timestamp: Thu 2009-08-27 15:22:19 +0500 > message: > Bug#46184 Crash, SELECT ... FROM derived table procedure analyze > The crash happens because select_union object is used as result set > for queries which have derived tables. > select_union use temporary table as data storage and if > fields count exceeds 10(count of values for procedure ANALYSE()) > then we get a crash on fill_record() function. ------------------------------------------------------------ revno: 1810.3959.2 committer: MySQL Build Team branch nick: mysql-5.0.84sp1-release timestamp: Wed 2009-09-30 14:22:38 +0200 message: Backport into build-200909301147-5.0.84sp1 > ------------------------------------------------------------ > revno: 2791.2.3 > revision-id: joro@sun.com-20090827114042-h55n7qp9990bl6ge > parent: anurag.shekhar@sun.com-20090831073231-e55y1hsck6n08ux8 > committer: Georgi Kodinov > branch nick: B46749-5.0-bugteam > timestamp: Thu 2009-08-27 14:40:42 +0300 > message: > Bug #46749: Segfault in add_key_fields() with outer subquery level > field references > > This error requires a combination of factors : > 1. An "impossible where" in the outermost SELECT > 2. An aggregate in the outermost SELECT > 3. A correlated subquery with a WHERE clause that includes an outer > field reference as a top level WHERE sargable predicate > > When JOIN::optimize detects an "impossible WHERE" it will bail out > without doing the rest of the work and initializations. It will not > call make_join_statistics() as well. And make_join_statistics fills > in various structures for each table referenced. > When processing the result of the "impossible WHERE" the query must > send a single row of data if there are aggregate functions in it. > In this case the server marks all the aggregates as having received > no rows and calls the relevant Item::val_xxx() method on the SELECT > list. However if this SELECT list happens to contain a correlated > subquery this subquery is evaluated in a normal evaluation mode. > And if this correlated subquery has a reference to a field from the > outermost "impossible where" SELECT the add_key_fields will mistakenly > consider the outer field reference as a "local" field reference when > looking for sargable predicates. > But since the SELECT where the outer field reference refers to is not > completely initialized due to the "impossible WHERE" in this level > we'll get a NULL pointer reference. > Fixed by making a better condition for discovering if a field is "local" > to the SELECT level being processed. > It's not enough to look for OUTER_REF_TABLE_BIT in this case since > for outer references to constant tables the Item_field::used_tables() > will return 0 regardless of whether the field reference is from the > local SELECT or not. ------------------------------------------------------------ revno: 1810.3959.1 author: sunanda.menon@sun.com committer: Timothy branch nick: mysql-5.0.84sp1-release timestamp: Wed 2009-09-30 13:53:41 +0200 message: Set version number for mysql-5.0.84sp1 release ------------------------------------------------------------ revno: 1810.3955.12 author: karen.langford@sun.com committer: MySQL Build Team branch nick: mysql-5.0 timestamp: Tue 2009-10-13 20:50:37 +0200 message: Raise version number after cloning 5.0.87 ------------------------------------------------------------ revno: 1810.3958.5 committer: Kent Boortz branch nick: mysql-5.0-bugteam timestamp: Thu 2009-10-08 22:55:28 +0200 message: "MySQL Network" => "MySQL Enterprise" ------------------------------------------------------------ revno: 2555.591.1 committer: Georgi Kodinov branch nick: fix-5.1-pe-stage timestamp: Wed 2009-10-14 17:30:39 +0300 message: merged 5.1-main ------------------------------------------------------------ revno: 2555.576.18 author: karen.langford@sun.com committer: MySQL Build Team branch nick: mysql-5.1 timestamp: Tue 2009-10-13 20:21:42 +0200 message: Null-merge from mysql-5.1.37sp1-release ------------------------------------------------------------ revno: 2555.590.13 tags: mysql-5.1.37sp1 committer: MySQL Build Team branch nick: mysql-5.1.37sp1-release timestamp: Mon 2009-10-05 20:14:43 +0200 message: Add fixes for Bug#46834: Test suite missing from RPMs Additional changes from the following commits: http://lists.mysql.com/commits/81279 http://lists.mysql.com/commits/81607 These were missed when scanning 'bzr log' for changes. ------------------------------------------------------------ revno: 2555.590.12 committer: MySQL Build Team branch nick: mysql-5.1.37sp1-release timestamp: Tue 2009-09-22 23:05:28 +0200 message: Backport into build-200909221805-5.1.37sp1 > ------------------------------------------------------------ > revno: 3092.1.2 [merge] > revision-id: joro@sun.com-20090831134035-wndnw04gy8kzogpm > parent: anurag.shekhar@sun.com-20090831075609-tkpqu41hxtupdeip > parent: joro@sun.com-20090827114042-h55n7qp9990bl6ge > committer: Georgi Kodinov > branch nick: B46749-5.1-bugteam > timestamp: Mon 2009-08-31 16:40:35 +0300 > message: > automerge > ------------------------------------------------------------ > Use --include-merges or -n0 to see merged revisions. ------------------------------------------------------------ revno: 2555.590.11 committer: MySQL Build Team branch nick: mysql-5.1.37sp1-release timestamp: Tue 2009-09-22 23:01:19 +0200 message: Backport into build-200909221805-5.1.37sp1 > ------------------------------------------------------------ > revno: 3085 [merge] > revision-id: sergey.glukhov@sun.com-20090827105925-j56pdghdzb8nlw3p > parent: alfranio.correia@sun.com-20090827093227-9exafl3k6362bvq7 > parent: sergey.glukhov@sun.com-20090827102219-sgjz0v5t1rfccs14 > committer: Sergey Glukhov > branch nick: mysql-5.1-bugteam > timestamp: Thu 2009-08-27 15:59:25 +0500 > message: > 5.0-bugteam->5.1-bugteam merge > ------------------------------------------------------------ > Use --include-merges or -n0 to see merged revisions. ------------------------------------------------------------ revno: 2555.590.10 committer: MySQL Build Team branch nick: mysql-5.1.37sp1-release timestamp: Tue 2009-09-22 23:00:30 +0200 message: Backport into build-200909221805-5.1.37sp1 > ------------------------------------------------------------ > revno: 3075 > revision-id: ramil@mysql.com-20090821055535-a5aeas33epokjjnp > parent: joro@sun.com-20090820141122-gq6eyozybvar4o4s > committer: Ramil Kalimullin > branch nick: mysql-5.1-bugteam > timestamp: Fri 2009-08-21 10:55:35 +0500 > message: > Fix for bug #46456 [Ver->Prg]: HANDLER OPEN + TRUNCATE + DROP > (temporary) TABLE, crash > > Problem: if one has an open "HANDLER t1", further "TRUNCATE t1" > doesn't close the handler and leaves handler table hash in an > inconsistent state, that may lead to a server crash. > > Fix: TRUNCATE should implicitly close all open handlers. > > Doc. request: the fact should be described in the manual accordingly. ------------------------------------------------------------ revno: 2555.590.9 committer: MySQL Build Team branch nick: mysql-5.1.37sp1-release timestamp: Tue 2009-09-22 22:59:11 +0200 message: Backport into build-200909221805-5.1.37sp1 > ------------------------------------------------------------ > revno: 3068 > revision-id: ramil@mysql.com-20090813194928-3djdqvpock0pxhgp > parent: li-bing.song@sun.com-20090813024857-1emgf5lhj0zikoj8 > committer: Ramil Kalimullin > branch nick: mysql-5.1-bugteam > timestamp: Fri 2009-08-14 00:49:28 +0500 > message: > Fix for bug #46614: Assertion in show_create_trigger() > on SHOW CREATE TRIGGER + MERGE table > > Problem: SHOW CREATE TRIGGER erroneously relies on fact > that we have the only underlying table for a trigger > (wrong for merge tables). > > Fix: remove erroneous assert(). ------------------------------------------------------------ revno: 2555.590.8 committer: MySQL Build Team branch nick: mysql-5.1.37sp1-release timestamp: Tue 2009-09-22 22:55:02 +0200 message: Backport into build-200909221805-5.1.37sp1 > ------------------------------------------------------------ > revno: 3059 [merge] > revision-id: martin.hansson@sun.com-20090810140851-aw5peehzdxi4gjja > parent: iggy@mysql.com-20090806145453-ion37sfdsldwwjrj > parent: martin.hansson@sun.com-20090807115140-7fn6wjx0mrui7zl5 > committer: Martin Hansson > branch nick: 5.1bt > timestamp: Mon 2009-08-10 16:08:51 +0200 > message: > Merge > ------------------------------------------------------------ > Use --include-merges or -n0 to see merged revisions. ------------------------------------------------------------ revno: 2555.590.7 committer: MySQL Build Team branch nick: mysql-5.1.37sp1-release timestamp: Tue 2009-09-22 22:54:06 +0200 message: Backport into build-200909221805-5.1.37sp1 > ------------------------------------------------------------ > revno: 3044.1.3 > revision-id: kristofer.pettersson@sun.com-20090729224404-hwevly1cbi7gojf0 > parent: kristofer.pettersson@sun.com-20090729202743-tp9ihd5xavq8eguw > committer: Kristofer Pettersson > branch nick: mysql-5.1-bugteam > timestamp: Thu 2009-07-30 00:44:04 +0200 > message: > Bug#44521 Prepared Statement: CALL p() - crashes: `! thd->main_da.is_sent' failed et.al. > > Fixed wrong prototype declaration which cased build failure on solaris. ------------------------------------------------------------ revno: 2555.590.6 committer: MySQL Build Team branch nick: mysql-5.1.37sp1-release timestamp: Tue 2009-09-22 22:52:30 +0200 message: Backport into build-200909221805-5.1.37sp1 > ------------------------------------------------------------ > revno: 3044.1.1 > revision-id: kristofer.pettersson@sun.com-20090729200708-cb0td7n9r5md0aa0 > parent: davi.arnaut@sun.com-20090728195938-qabe9ldm2l4k8xns > committer: Kristofer Pettersson > branch nick: mysql-5.1-bugteam > timestamp: Wed 2009-07-29 22:07:08 +0200 > message: > Bug#44521 Executing a stored procedure as a prepared statement can sometimes cause > an assertion in a debug build. > > The reason is that the C API doesn't support multiple result sets for prepared > statements and attempting to execute a stored routine which returns multiple result > sets sometimes lead to a network error. The network error sets the diagnostic area > prematurely which later leads to the assert when an attempt is made to set a second > server state. > > This patch fixes the issue by changing the scope of the error code returned by > sp_instr_stmt::execute() to include any error which happened during the execution. > To assure that Diagnostic_area::is_sent really mean that the message was sent all > network related functions are checked for return status. ------------------------------------------------------------ revno: 2555.590.5 committer: MySQL Build Team branch nick: mysql-5.1.37sp1-release timestamp: Tue 2009-09-22 22:43:48 +0200 message: Backport into build-200909221805-5.1.37sp1 > ------------------------------------------------------------ > revno: 3028 [merge] > revision-id: davi.arnaut@sun.com-20090715182250-ru0l00nqqlcfqe8n > parent: ramil@mysql.com-20090715102544-ejid81yz8k39m2fa > parent: kostja@sun.com-20090715170034-kjzpmq3px90pedw7 > committer: Davi Arnaut > branch nick: 44495-5.1 > timestamp: Wed 2009-07-15 15:22:50 -0300 > message: > Bug#44495: Prepared Statement: CALL p() - `thd->protocol == &thd->protocol_text' failed > > Merge Konstantin's patch and add a test case. > ------------------------------------------------------------ > Use --include-merges or -n0 to see merged revisions. ------------------------------------------------------------ revno: 2555.590.4 committer: MySQL Build Team branch nick: mysql-5.1.37sp1-release timestamp: Tue 2009-09-22 22:41:25 +0200 message: Backport into build-200909221805-5.1.37sp1 > ------------------------------------------------------------ > revno: 3027 > revision-id: ramil@mysql.com-20090715102544-ejid81yz8k39m2fa > parent: anurag.shekhar@sun.com-20090715101345-6n3o8wf8woyaqlwc > committer: Ramil Kalimullin > branch nick: mysql-5.1-bugteam > timestamp: Wed 2009-07-15 15:25:44 +0500 > message: > Addition to #45998 fix, result adjusted. ------------------------------------------------------------ revno: 2555.590.3 committer: MySQL Build Team branch nick: mysql-5.1.37sp1-release timestamp: Tue 2009-09-22 22:40:02 +0200 message: Backport into build-200909221805-5.1.37sp1 > ------------------------------------------------------------ > revno: 3019.1.3 > revision-id: ramil@mysql.com-20090714150729-xqv7aicsnoz6epy6 > parent: jimw@mysql.com-20090713191116-c8qxsrjagzbvbytj > committer: Ramil Kalimullin > branch nick: b45998-5.1-bugteam > timestamp: Tue 2009-07-14 20:07:29 +0500 > message: > Fix for bug#45998: database crashes when running > "create as select" (innodb table) > > Problem: code constructing "CREATE TABLE..." statement > doesn't take into account that current database is not set > in some cases. That may lead to a server crash. > > Fix: check if current database is set. ------------------------------------------------------------ revno: 2555.590.2 committer: MySQL Build Team branch nick: mysql-5.1.37sp1-release timestamp: Tue 2009-09-22 22:38:25 +0200 message: Backport into build-200909221805-5.1.37sp1 > ------------------------------------------------------------ > revno: 2949.5.6 > revision-id: jperkin@sun.com-20090824091334-6ktgrhq218vl7zq1 > parent: joerg@mysql.com-20090821095644-12woawc4d2d3u7k4 > committer: Jonathan Perkin > branch nick: mysql-5.1-build > timestamp: Mon 2009-08-24 10:13:34 +0100 > message: > Apply changes from mysql-5.1.38-release clone: > > - Add conditionals for bundled zlib and innodb plugin. > - Apply patch from bug#46834 to install the test suite in RPMs. > - Add plugins to RPMs. Disable example plugins. ------------------------------------------------------------ revno: 2555.590.1 author: timothy.smith@sun.com committer: MySQL Build Team branch nick: mysql-5.1.37sp1-release timestamp: Tue 2009-09-22 20:52:24 +0200 message: Set version number for mysql-5.1.37sp1 release ------------------------------------------------------------ revno: 2555.576.17 author: hery.ramilison@sun.com committer: MySQL Build Team branch nick: mysql-5.1 timestamp: Tue 2009-10-06 19:37:08 +0200 message: Raise version number after cloning 5.1.40 ------------------------------------------------------------ revno: 2555.576.16 tags: mysql-5.1.40, clone-5.1.40-build committer: Bjorn Munch branch nick: merge-51 timestamp: Tue 2009-10-06 14:37:37 +0200 message: merge of 47383 from 5.1-mtr ------------------------------------------------------------ revno: 2555.576.15 committer: Georgi Kodinov branch nick: merge-5.1 timestamp: Tue 2009-10-06 12:59:46 +0300 message: automerge ------------------------------------------------------------ revno: 2555.576.14 committer: Georgi Kodinov branch nick: merge-5.1-bugteam timestamp: Tue 2009-10-06 10:33:16 +0300 message: version change ------------------------------------------------------------ revno: 1810.3955.11 tags: clone-5.0.87-build committer: Georgi Kodinov branch nick: merge-5.0-bugteam timestamp: Tue 2009-10-06 10:32:02 +0300 message: version update ------------------------------------------------------------ revno: 2555.546.65 committer: Jorgen Loland branch nick: mysql-5.1-bugteam-46518 timestamp: Wed 2009-10-14 18:20:01 +0200 message: Followup patch for BUG#47280 Temporary tables may set join->group to 0 even though there is grouping. Also need to test if sum_func_count>0 when JOIN::exec() decides whether to present results in a grouped manner. ------------------------------------------------------------ revno: 2555.546.64 committer: He Zhenxing branch nick: 5.1-bugteam timestamp: Wed 2009-10-14 21:25:11 +0800 message: Attempt to fix Windows testcase output issue ------------------------------------------------------------ revno: 2555.546.63 committer: Jorgen Loland branch nick: mysql-5.1-bugteam-46518 timestamp: Wed 2009-10-14 10:46:50 +0200 message: Bug#47280 - strange results from count(*) with order by multiple columns without where/group Simple SELECT with implicit grouping used to return many rows if the query was ordered by the aggregated column in the SELECT list. This was incorrect because queries with implicit grouping should only return a single record. The problem was that when JOIN:exec() decided if execution needed to handle grouping, it was assumed that sum_func_count==0 meant that there were no aggregate functions in the query. This assumption was not correct in JOIN::exec() because the aggregate functions might have been optimized away during JOIN::optimize(). The reason why queries without ordering behaved correctly was that sum_func_count is only recalculated if the optimizer chooses to use temporary tables (which it does in the ordered case). Hence, non-ordered queries were correctly treated as grouped. The fix for this bug was to remove the assumption that sum_func_count==0 means that there is no need for grouping. This was done by introducing variable "bool implicit_grouping" in the JOIN object. ------------------------------------------------------------ revno: 2555.546.62 committer: branch nick: mysql-5.1-bugteam timestamp: Wed 2009-10-14 09:39:05 +0800 message: Bug#46640: output from mysqlbinlog command in 5.1 breaks replication The BINLOG statement was sharing too much code with the slave SQL thread, introduced with the patch for Bug#32407. This caused statements to be logged with the wrong server_id, the id stored inside the events of the BINLOG statement rather than the id of the running server. Fix by rearranging code a bit so that only relevant parts of the code are executed by the BINLOG statement, and the server_id of the server executing the statements will not be overrided by the server_id stored in the 'format description BINLOG statement'. ------------------------------------------------------------ revno: 2555.546.61 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Tue 2009-10-13 12:48:29 +0530 message: merge to mysql-5.1-bugteam ------------------------------------------------------------ revno: 2555.582.7 committer: He Zhenxing branch nick: 5.1-bugteam timestamp: Tue 2009-10-13 12:24:59 +0800 message: Auto merge ------------------------------------------------------------ revno: 2555.586.10 committer: branch nick: mysql-5.1-bugteam timestamp: Tue 2009-10-13 10:26:15 +0800 message: Bug#45578: Test binlog_tmp_table fails ramdonly on PB2: Unknown table 't2' The bug has been closed. ------------------------------------------------------------ revno: 2555.586.9 committer: V Narayanan branch nick: mysql-5.1-bugteam-46448-01 timestamp: Mon 2009-10-12 15:25:59 +0530 message: Bug#46448 trailing spaces are not ignored when user collation maps space != 0x20 changing year in copyright header to 2009. ------------------------------------------------------------ revno: 2555.586.8 committer: V Narayanan branch nick: mysql-5.1-bugteam-46448-01 timestamp: Mon 2009-10-12 15:05:40 +0530 message: Bug#46448 trailing spaces are not ignored when user collation maps space != 0x20 Fixing copyright header in test collation file. ------------------------------------------------------------ revno: 2555.586.7 committer: V Narayanan branch nick: mysql-5.1-bugteam-46448-01 timestamp: Mon 2009-10-12 13:13:15 +0530 message: Bug#46448 trailing spaces are not ignored when user collation maps space != 0x20 In MySQL when the mapping for space is changed to something other than 0x20 by defining a different collation, then space is not ignored when comparing two strings. This was happening because the function that performs the comparison of two strings while ignoring ending spaces, was comparing the collation value of a space with the ascii value of the ' ' character. This should be changed to do comparison between the collated values. ------------------------------------------------------------ revno: 2555.586.6 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam-push timestamp: Fri 2009-10-09 21:21:21 +0500 message: Merge fix for BUG47073. ------------------------------------------------------------ revno: 2555.589.1 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam-bug47073 timestamp: Fri 2009-10-09 21:16:29 +0500 message: BUG#47073 - valgrind errs, corruption,failed repair of partition, low myisam_sort_buffer_size Repair by sort (default) or parallel repair of a MyISAM table (doesn't matter partitioned or not) as well as bulk inserts and enable indexes some times didn't failover to repair with key cache. The problem was that after unsuccessful attempt, data file was closed. Whereas repair with key cache requires open data file. Fixed by reopening data file. Also fixed a valgrind warning, which may appear during repair by sort or parallel repair with certain myisam_sort_buffer_size number of rows and length of an index entry (very dependent). ------------------------------------------------------------ revno: 2555.586.5 committer: Martin Hansson branch nick: 5.1bt timestamp: Fri 2009-10-09 17:35:04 +0200 message: Merge of bug#42846 ------------------------------------------------------------ revno: 2555.588.1 committer: Mattias Jonsson branch nick: topush-51-bugteam timestamp: Fri 2009-10-09 16:12:01 +0200 message: Bug#46922 post push update Disable the test when it will not hit the open_files_limit ------------------------------------------------------------ revno: 2555.586.4 committer: Martin Hansson branch nick: 5.1bt timestamp: Fri 2009-10-09 11:30:40 +0200 message: Bug#42846: wrong result returned for range scan when using covering index When two range predicates were combined under an OR predicate, the algorithm tried to merge overlapping ranges into one. But the case when a range overlapped several other ranges was not handled. This lead to 1) ranges overlapping, which gave repeated results and 2) a range that overlapped several other ranges was cut off. Fixed by 1) Making sure that a range got an upper bound equal to the next range with a greater minimum. 2) Removing a continue statement ------------------------------------------------------------ revno: 2555.586.3 committer: Mattias Jonsson branch nick: topush-51-bugteam timestamp: Fri 2009-10-09 10:12:50 +0200 message: updated to latest mysql-5.1-bugteam before push ------------------------------------------------------------ revno: 2555.586.2 committer: Mattias Jonsson branch nick: topush-51-bugteam timestamp: Fri 2009-10-09 09:56:07 +0200 message: merge into mysql-5.1-bugteam ------------------------------------------------------------ revno: 2555.587.1 committer: Mattias Jonsson branch nick: b46922-51-bugteam timestamp: Thu 2009-10-08 15:36:43 +0200 message: Bug#46922: crash when adding partitions and open_files_limit is reached Problem was bad error handling, leaving some new temporary partitions locked and initialized and some not yet initialized and locked, leading to a crash when trying to unlock the not yet initialized and locked partitions Solution was to unlock the already locked partitions, and not include any of the new temporary partitions in later unlocks ------------------------------------------------------------ revno: 2555.586.1 committer: Mattias Jonsson branch nick: topush-51-bugteam timestamp: Fri 2009-10-09 09:54:48 +0200 message: merge into mysql-5.1-bugteam ------------------------------------------------------------ revno: 2555.585.1 committer: Mattias Jonsson branch nick: b44059-51-bugteam timestamp: Thu 2009-10-08 15:58:17 +0200 message: Bug#44059: Incorrect cardinality of indexes on a partitioned table backport for bug#44059 from mysql-pe to mysql-5.1-bugteam Using the partition with most rows instead of first partition to estimate the cardinality of indexes. ------------------------------------------------------------ revno: 2555.582.6 committer: He Zhenxing branch nick: 5.1-bugteam timestamp: Fri 2009-10-09 16:54:48 +0800 message: Bug#47323 : mysqlbinlog --verbose displays bad output when events contain subset of columns Commit the non-NDB specific part (originated by frazer) to 5.1 mainline. ------------------------------------------------------------ revno: 2555.582.5 committer: Magnus Bl?udd branch nick: 5.1-bugteam timestamp: Fri 2009-10-09 09:53:29 +0200 message: BUG#47850: too many files built in regex/ - Don't build split.c or debug.c since they are not part of the actual regex library ------------------------------------------------------------ revno: 2555.582.4 committer: Frazer Clement branch nick: mysql-5.1-bugteam timestamp: Thu 2009-10-08 16:36:36 +0100 message: Merge 5.0-bugteam-> 5.1-bugteam ------------------------------------------------------------ revno: 1810.3958.4 committer: Frazer Clement branch nick: mysql-5.0-bugteam timestamp: Thu 2009-10-08 16:23:15 +0100 message: Fix compile break from bug#39663 fix ------------------------------------------------------------ revno: 1810.3958.3 committer: Ramil Kalimullin branch nick: b42803-5.0-bugteam timestamp: Thu 2009-10-08 16:56:31 +0500 message: Fix for bug #42803: Field_bit does not have unsigned_flag field, can lead to bad memory access Problem: Field_bit is the only field which returns INT_RESULT and doesn't have unsigned flag. As it's not a descendant of the Field_num, so using ((Field_num *) field_bit)->unsigned_flag may lead to unpredictable results. Fix: check the field type before casting. ------------------------------------------------------------ revno: 1810.3958.2 committer: Kristofer Pettersson branch nick: mysql-5.0-bugteam timestamp: Tue 2009-10-06 10:02:58 +0200 message: Automerge ------------------------------------------------------------ revno: 2555.582.3 committer: Georgi Kodinov branch nick: B43029-5.1-bugteam timestamp: Thu 2009-10-08 16:24:58 +0300 message: automerge ------------------------------------------------------------ revno: 2555.583.5 committer: Magnus Bl?udd branch nick: 5.1-bugteam timestamp: Thu 2009-10-08 15:19:24 +0200 message: Bug #47795 CMake, storage engine name different from directory name - Read plug.in to fid the name of the engine to link with, does not have to be same as engine dir - Use engine dir when figuring out which libraries to build limbysqld with ------------------------------------------------------------ revno: 2555.583.4 committer: Magnus Bl?udd branch nick: 5.1-bugteam timestamp: Thu 2009-10-08 14:54:11 +0200 message: Bug #47797 CMake, engine can't specify additional libraries to link with - Make it possible for the CmakeLists.txt files in an engine to use ${engine}_LIBS to set additional libraries to link with Example: NDBCLUSTER_LIBS = ndbclient ------------------------------------------------------------ revno: 2555.583.3 committer: Magnus Bl?udd branch nick: 5.1-bugteam timestamp: Thu 2009-10-08 14:00:43 +0200 message: BUG#47129 fix small bug in test ------------------------------------------------------------ revno: 2555.583.2 committer: Magnus Bl?udd branch nick: 5.1-bugteam timestamp: Thu 2009-10-08 13:36:42 +0200 message: Merge ------------------------------------------------------------ revno: 2555.584.1 committer: Magnus Bl?udd branch nick: 5.1-bug47857 timestamp: Tue 2009-10-06 13:04:51 +0200 message: Bug#47857 strip_sp function in mysys/mf_strip.c never used and cause name clash - Remove mf_strip.c and the declaration of 'strip_sp' ------------------------------------------------------------ revno: 2555.583.1 committer: Magnus Bl?udd branch nick: 5.1-bugteam timestamp: Thu 2009-10-08 13:25:11 +0200 message: Merge ------------------------------------------------------------ revno: 2555.582.2 committer: Georgi Kodinov branch nick: B43029-5.1-bugteam timestamp: Thu 2009-10-08 16:21:07 +0300 message: Addendum to the fix for bug 43029 ------------------------------------------------------------ revno: 2555.582.1 committer: Georgi Kodinov branch nick: B43029-5.1-bugteam timestamp: Wed 2009-10-07 18:03:42 +0300 message: Bug #43029: FORCE INDEX FOR ORDER BY is ignored when join buffering is used FORCE INDEX FOR ORDER BY now prevents the optimizer from using join buffering. As a result the optimizer can use indexed access on the first table and doesn't need to sort the complete resultset at the end of the statement. ------------------------------------------------------------ revno: 2555.546.60 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Tue 2009-10-13 12:41:42 +0530 message: Applying Innodb Plugin 1.0.5 snapshot, part 15 - Fix a typo and adjust the CMakeLists.txt - Remove the README file as it doesn't exist in Innodb plugin 1.0.5 ------------------------------------------------------------ revno: 2555.546.59 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Mon 2009-10-12 18:26:02 +0530 message: Applying Innodb Plugin 1.0.5 snapshot, part 14 Sync the storage/innodb_plugin/mysql-test directory with Innodb_plugin-1.0.5/mysql-test directory Update the README file ------------------------------------------------------------ revno: 2555.546.58 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Mon 2009-10-12 17:30:56 +0530 message: Applying InnoDB Plugin 1.0.5 snapshot, part 13 1. Undo r6031 btr/btr0btr.c changes 2. apply skipped Plug.in changes and missed revisions Detailed revision comments: r5865 | vasil | 2009-09-12 02:26:03 -0500 (Sat, 12 Sep 2009) | 10 lines branches/zip: Simplify the compile time checks by splittig them into 5 independent checks: * Whether GCC atomics are available * Whether pthread_t can be used by GCC atomics * Whether Solaris libc atomics are available * Whether pthread_t can be used by Solaris libs atomics * Checking the size of pthread_t r5869 | vasil | 2009-09-12 03:33:11 -0500 (Sat, 12 Sep 2009) | 15 lines branches/zip: Include ut0auxconf.h only if none of the macros it would define is defined. The check when to include this header was outdated from the time when there was only one macro involved. Move the atomics checks that are in univ.i outside of #if windows ... #else ... #endif This simplifies the code and removes some duplicates like defining HAVE_ATOMIC_BUILTINS if HAVE_WINDOWS_ATOMICS is defined in both branches. Do not define the same macro HAVE_ATOMIC_PTHREAD_T for different events. Instead define HAVE_IB_ATOMIC_PTHREAD_T_GCC and HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS. r5871 | vasil | 2009-09-12 04:25:44 -0500 (Sat, 12 Sep 2009) | 6 lines branches/zip: Rename HAVE_SOLARIS_ATOMICS to HAVE_IB_SOLARIS_ATOMICS and IB_HAVE_PAUSE_INSTRUCTION to HAVE_IB_PAUSE_INSTRUCTION so they all follow the same HAVE_IB_* convention. r5888 | vasil | 2009-09-14 03:38:45 -0500 (Mon, 14 Sep 2009) | 40 lines branches/zip: Back-merge c5880 and c5881 from branches/embedded-1.0: ------------------------------------------------------------------------ r5880 | vasil | 2009-09-12 17:28:44 +0300 (Sat, 12 Sep 2009) | 18 lines Changed paths: M /branches/embedded-1.0/configure.in M /branches/embedded-1.0/include/os0sync.h M /branches/embedded-1.0/srv/srv0start.c branches/embedded-1.0: Clean up and simplify the code that surrounds the atomic ops: * Simplify the code that prints what atomics are used: Instead of repeating the same conditions on which each atomics are used use just one printf that prints a variable defined by the code which chooses what atomics to use. * In os0sync.h pick up each atomic variant only if it has been selected by autoconf (based on IB_ATOMIC_MODE_* macros). Define the startup message to be printed. * In configure.in: check what user has chosen and if he has chosen something that is not available, emit an error. If nothing has been chosen explicitly by the user, auto select an option according to the described logic in configure.in. ------------------------------------------------------------------------ r5881 | vasil | 2009-09-12 20:08:27 +0300 (Sat, 12 Sep 2009) | 4 lines Changed paths: M /branches/embedded-1.0/configure.in branches/embedded-1.0: Fix syntax error in test program. ------------------------------------------------------------------------ r5889 | vasil | 2009-09-14 04:17:18 -0500 (Mon, 14 Sep 2009) | 5 lines branches/zip: Add missing return statement in the test program that could have caused a warning. r5893 | inaam | 2009-09-14 10:20:48 -0500 (Mon, 14 Sep 2009) | 10 lines branches/zip rb://159 In case of pages that are not made young the counter is incremented only when the page in question is 'old'. In case of pages that are made young the counter is incremented in case of all pages. For apple to apple comparison this patch changes the 'young-making' counter to consider only 'old' blocks. Approved by: Marko r5537 | vasil | 2009-07-21 04:31:26 -0500 (Tue, 21 Jul 2009) | 5 lines branches/zip: Fixups in ChangeLog: sort filenames alphabetically and wrap to 78 chars per line. r5870 | vasil | 2009-09-12 04:13:44 -0500 (Sat, 12 Sep 2009) | 7 lines branches/zip: Define HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS in os0sync.h instead of in univ.i. The code expects os_*() macros to be present if HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are defined. So define them next to defining the os_*() macros. r5696 | vasil | 2009-08-26 08:15:59 -0500 (Wed, 26 Aug 2009) | 14 lines branches/zip: Merge a change from MySQL: http://lists.mysql.com/commits/80832 2968 Jonathan Perkin 2009-08-14 Build fixes for Windows, AIX, HP/UX and Sun Studio11, from Timothy Smith. modified: CMakeLists.txt cmd-line-utils/readline/util.c storage/innodb_plugin/handler/i_s.cc storage/innodb_plugin/include/univ.i r5897 | marko | 2009-09-15 03:29:00 -0500 (Tue, 15 Sep 2009) | 8 lines branches/zip: Avoid bogus messages about latching order violations when UNIV_SYNC_DEBUG is defined. sync_thread_levels_g(): Add the parameter "warn". Do not print anything unless it is set. sync_thread_add_level(): Pass warn=TRUE to sync_thread_levels_g() when the check is within an assertion; FALSE if it is not. r5899 | marko | 2009-09-15 06:26:01 -0500 (Tue, 15 Sep 2009) | 4 lines branches/zip: ut0ut.h: Do not #include "os0sync.h" #ifdef UNIV_HOTBACKUP. Since r5872, the InnoDB Hot Backup build was broken. Fix it by not defining any thread synchronization primitives in ut0ut.h. InnoDB Hot Backup is a single-threaded program. ------------------------------------------------------------ revno: 2555.546.57 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Fri 2009-10-09 19:43:15 +0530 message: Applying InnoDB Plugin 1.0.5 snapshot ,part 12 From r5995 to r6043 Detailed revision comments: r5995 | marko | 2009-09-28 03:52:25 -0500 (Mon, 28 Sep 2009) | 17 lines branches/zip: Do not write to PAGE_INDEX_ID after page creation, not even when restoring an uncompressed page after a compression failure. btr_page_reorganize_low(): On compression failure, do not restore those page header fields that should not be affected by the reorganization. Instead, compare the fields. page_zip_decompress(): Add the parameter ibool all, for copying all page header fields. Pass the parameter all=TRUE on block read completion, redo log application, and page_zip_validate(); pass all=FALSE in all other cases. page_zip_reorganize(): Do not restore the uncompressed page on failure. It will be restored (to pre-modification state) by the caller anyway. rb://167, Issue #346 r5996 | marko | 2009-09-28 07:46:02 -0500 (Mon, 28 Sep 2009) | 4 lines branches/zip: Address Issue #350 in comments. lock_rec_queue_validate(), lock_rec_queue_validate(): Note that this debug code may violate the latching order and cause deadlocks. r5997 | marko | 2009-09-28 08:03:58 -0500 (Mon, 28 Sep 2009) | 12 lines branches/zip: Remove an assertion failure when the InnoDB data dictionary is inconsistent with the MySQL .frm file. ha_innobase::index_read(): When the index cannot be found, return an error. ha_innobase::change_active_index(): When prebuilt->index == NULL, set also prebuilt->index_usable = FALSE. This is not needed for correctness, because prebuilt->index_usable is only checked by row_search_for_mysql(), which requires prebuilt->index != NULL. This addresses Issue #349. Approved by Heikki Tuuri over IM. r6005 | vasil | 2009-09-29 03:09:52 -0500 (Tue, 29 Sep 2009) | 4 lines branches/zip: ChangeLog: wrap around 78th column, not earlier. r6006 | vasil | 2009-09-29 05:15:25 -0500 (Tue, 29 Sep 2009) | 4 lines branches/zip: Add ChangeLog entry for the release of 1.0.4. r6007 | vasil | 2009-09-29 08:19:59 -0500 (Tue, 29 Sep 2009) | 6 lines branches/zip: Fix the year, should be 2009. Pointed by: Calvin r6026 | marko | 2009-09-30 02:18:24 -0500 (Wed, 30 Sep 2009) | 1 line branches/zip: Add some debug assertions for checking FSEG_MAGIC_N. r6028 | marko | 2009-09-30 08:55:23 -0500 (Wed, 30 Sep 2009) | 3 lines branches/zip: recv_no_log_write: New debug flag for tracking down Mantis Issue #347. No modifications should be made to the database while recv_apply_hashed_log_recs() is about to complete. r6029 | calvin | 2009-09-30 15:32:02 -0500 (Wed, 30 Sep 2009) | 4 lines branches/zip: non-functional changes Fix typo. r6031 | marko | 2009-10-01 06:24:33 -0500 (Thu, 01 Oct 2009) | 49 lines branches/zip: Clean up after a crash during DROP INDEX. When InnoDB crashes while dropping an index, ensure that the index will be completely dropped during crash recovery. row_merge_drop_index(): Before dropping an index, rename the index to start with TEMP_INDEX_PREFIX_STR and commit the change, so that row_merge_drop_temp_indexes() will drop the index after crash recovery if the server crashes while dropping the index. fseg_inode_try_get(): New function, forked from fseg_inode_get(). Return NULL if the file segment index node is free. fseg_inode_get(): Assert that the file segment index node is not free. fseg_free_step(): If the file segment index node is already free, print a diagnostic message and return TRUE. fsp_free_seg_inode(): Write a nonzero number to FSEG_MAGIC_N, so that allocated-and-freed file segment index nodes can be better distinguished from uninitialized ones. This is rb://174, addressing Issue #348. Tested by restarting mysqld upon the completion of the added log_write_up_to() invocation below, during DROP INDEX. The index was dropped after crash recovery, and re-issuing the DROP INDEX did not crash the server. Index: btr/btr0btr.c =================================================================== --- btr/btr0btr.c (revision 6026) +++ btr/btr0btr.c (working copy) @@ -42,6 +42,7 @@ Created 6/2/1994 Heikki Tuuri #include "ibuf0ibuf.h" #include "trx0trx.h" +#include "log0log.h" /* Latching strategy of the InnoDB B-tree -------------------------------------- @@ -873,6 +874,8 @@ leaf_loop: goto leaf_loop; } + + log_write_up_to(mtr.end_lsn, LOG_WAIT_ALL_GROUPS, TRUE); top_loop: mtr_start(&mtr); r6033 | calvin | 2009-10-01 15:19:46 -0500 (Thu, 01 Oct 2009) | 4 lines branches/zip: fix a typo in error message Reported as bug#47763. r6043 | inaam | 2009-10-05 09:45:35 -0500 (Mon, 05 Oct 2009) | 12 lines branches/zip rb://176 Do not invalidate buffer pool while an LRU batch is active. Added code to buf_pool_invalidate() to wait for the running batches to finish. This patch also resets the state of buf_pool struct at invalidation. This addresses the concern where buf_pool->freed_page_clock becomes non-zero because we read in a system tablespace page for file format info at startup. Approved by: Marko ------------------------------------------------------------ revno: 2555.546.56 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Fri 2009-10-09 19:32:18 +0530 message: Applying InnoDB Plugin 1.0.5 snapshot, part 11 From revision r5945 to r5994 r5950 - already applied and so skipped Detailed revision comments: r5945 | calvin | 2009-09-21 09:53:22 -0500 (Mon, 21 Sep 2009) | 4 lines branches/zip: fix a type in r5935 Should be innodb_open_files, spotted by Michael. r5951 | calvin | 2009-09-22 10:17:01 -0500 (Tue, 22 Sep 2009) | 4 lines branches/zip: adjust CMake file to work with old versions of MySQL Tested with MySQL 5.1.38 and 5.1.30. r5956 | calvin | 2009-09-22 18:30:10 -0500 (Tue, 22 Sep 2009) | 4 lines branches/zip: remove handler0vars.h from Makefile.am Left over from r5950. r5971 | marko | 2009-09-23 08:03:51 -0500 (Wed, 23 Sep 2009) | 2 lines branches/zip: os_file_pwrite(): Make the code compile in InnoDB Hot Backup when the pwrite system call is not available. r5972 | marko | 2009-09-23 14:44:52 -0500 (Wed, 23 Sep 2009) | 5 lines branches/zip: fil_node_open_file(): In InnoDB Hot Backup, determine the page size of single-file tablespaces before computing the file node size. Otherwise, the space->size of compressed tablespaces would be computed with UNIV_PAGE_SIZE instead of key_block_size. This should fix Issue #313. r5973 | marko | 2009-09-23 14:53:21 -0500 (Wed, 23 Sep 2009) | 2 lines branches/zip: recv_add_to_hash_table(): Simplify obfuscated pointer arithmetics. r5978 | marko | 2009-09-24 02:47:56 -0500 (Thu, 24 Sep 2009) | 1 line branches/zip: Fix warnings and errors when UNIV_HOTBACKUP is defined. r5979 | marko | 2009-09-24 05:16:10 -0500 (Thu, 24 Sep 2009) | 4 lines branches/zip: ha_innodb.cc: Define MYSQL_PLUGIN_IMPORT when necessary. This preprocessor symbol has been recently introduced in MySQL 5.1. The InnoDB Plugin should remain source compatible with MySQL 5.1.24 and later. r5988 | calvin | 2009-09-25 14:14:43 -0500 (Fri, 25 Sep 2009) | 8 lines branches/zip: fix bug#47055 unconditional exit(1) on ERROR_WORKING_SET_QUOTA 1453 (0x5AD) for InnoDB backend When error ERROR_WORKING_SET_QUOTA or ERROR_NO_SYSTEM_RESOURCES occurs, yields for 100ms and retries the operation. Approved by: Heikki (on IM) r5992 | vasil | 2009-09-28 02:10:29 -0500 (Mon, 28 Sep 2009) | 4 lines branches/zip: Add ChangeLog entry for c5988. r5994 | marko | 2009-09-28 03:33:59 -0500 (Mon, 28 Sep 2009) | 17 lines branches/zip: Try to prevent the reuse of tablespace identifiers after InnoDB has crashed during table creation. Also, refuse to start if files with duplicate tablespace identifiers are encountered. fil_node_create(): Update fil_system->max_assigned_id. This should prevent the reuse of a space->id when InnoDB does a full crash recovery and invokes fil_load_single_table_tablespaces(). Normally, fil_system->max_assigned_id is initialized from SELECT MAX(ID) FROM SYS_TABLES. fil_open_single_table_tablespace(): Return FALSE when fil_space_create() fails. fil_load_single_table_tablespace(): Exit if fil_space_create() fails and innodb_force_recovery=0. rb://173 approved by Heikki Tuuri. This addresses Issue #335. ------------------------------------------------------------ revno: 2555.546.55 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Fri 2009-10-09 19:07:47 +0530 message: Applying InnoDB Plugin 1.0.5 snapshot, part 10 From r5917 to r5940 Detailed revision comments: r5917 | marko | 2009-09-16 04:56:23 -0500 (Wed, 16 Sep 2009) | 1 line branches/zip: innobase_get_cset_width(): Cache the value of current_thd. r5919 | vasil | 2009-09-16 13:37:13 -0500 (Wed, 16 Sep 2009) | 4 lines branches/zip: Whitespace cleanup in the ChangeLog. r5920 | vasil | 2009-09-16 13:47:22 -0500 (Wed, 16 Sep 2009) | 4 lines branches/zip: Add ChangeLog entries for r5916. r5922 | marko | 2009-09-17 01:32:08 -0500 (Thu, 17 Sep 2009) | 4 lines branches/zip: innodb-zip.test: Make the test work with zlib 1.2.3.3. Apparently, the definition of compressBound() has slightly changed. This has been filed as Mantis Issue #345. r5924 | vasil | 2009-09-17 23:59:30 -0500 (Thu, 17 Sep 2009) | 4 lines branches/zip: White space and formatting cleanup in the ChangeLog r5934 | vasil | 2009-09-18 12:06:46 -0500 (Fri, 18 Sep 2009) | 4 lines branches/zip: Fix typo. r5935 | calvin | 2009-09-18 16:08:02 -0500 (Fri, 18 Sep 2009) | 6 lines branches/zip: fix bug#44338; minor non-functional changes Bug#44338 innodb has message about non-existing option innodb_max_files_open. Change the option to innodb_open_files. The fix was committed into 6.0 branch. r5938 | calvin | 2009-09-19 02:14:25 -0500 (Sat, 19 Sep 2009) | 41 lines branches/zip: Merge revisions 2584:2956 from branches/6.0, except c2932. Bug#37232 and bug#31183 were fixed in the 6.0 branch only. They should be fixed in the plugin too, specially MySQL 6.0 is discontinued at this point. ------------------------------------------------------------------------ r2604 | inaam | 2008-08-21 09:37:06 -0500 (Thu, 21 Aug 2008) | 8 lines branches/6.0 bug#37232 Relax locking behaviour for REPLACE INTO t SELECT ... FROM t1. Now SELECT on t1 is performed as a consistent read when the isolation level is set to READ COMMITTED. Reviewed by: Heikki ------------------------------------------------------------------------ r2605 | inaam | 2008-08-21 09:59:33 -0500 (Thu, 21 Aug 2008) | 7 lines branches/6.0 Added a comment to clarify why distinct calls to read MySQL binary log file name and log position do not entail any race condition. Suggested by: Heikki ------------------------------------------------------------------------ r2956 | inaam | 2008-11-04 04:47:30 -0600 (Tue, 04 Nov 2008) | 11 lines branches/6.0 bug#31183 If the system tablespace runs out of space because 'autoextend' is not specified with innodb_data_file_path there was no error message printed to the error log. The client would get 'table full' error. This patch prints an appropriate error message to the error log. rb://43 Approved by: Marko ------------------------------------------------------------------------ r5940 | vasil | 2009-09-21 00:26:04 -0500 (Mon, 21 Sep 2009) | 4 lines branches/zip: Add ChangeLog entries for c5938. ------------------------------------------------------------ revno: 2555.546.54 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Fri 2009-10-09 18:22:18 +0530 message: Applying InnoDB Plugin 1.0.5 snapshot , part 9 r5888 - plug.in related changes skipped r5889 - skipped(plug.in related changes) r5916 - innodb_bug4600.test and innodb_bug44369.test already exists in main suite Detailed revision comments: r5875 | vasil | 2009-09-12 07:11:25 -0500 (Sat, 12 Sep 2009) | 4 lines branches/zip: Remove unnecessary macro. r5888 | vasil | 2009-09-14 03:38:45 -0500 (Mon, 14 Sep 2009) | 40 lines branches/zip: Back-merge c5880 and c5881 from branches/embedded-1.0: ------------------------------------------------------------------------ r5880 | vasil | 2009-09-12 17:28:44 +0300 (Sat, 12 Sep 2009) | 18 lines Changed paths: M /branches/embedded-1.0/configure.in M /branches/embedded-1.0/include/os0sync.h M /branches/embedded-1.0/srv/srv0start.c branches/embedded-1.0: Clean up and simplify the code that surrounds the atomic ops: * Simplify the code that prints what atomics are used: Instead of repeating the same conditions on which each atomics are used use just one printf that prints a variable defined by the code which chooses what atomics to use. * In os0sync.h pick up each atomic variant only if it has been selected by autoconf (based on IB_ATOMIC_MODE_* macros). Define the startup message to be printed. * In configure.in: check what user has chosen and if he has chosen something that is not available, emit an error. If nothing has been chosen explicitly by the user, auto select an option according to the described logic in configure.in. ------------------------------------------------------------------------ r5881 | vasil | 2009-09-12 20:08:27 +0300 (Sat, 12 Sep 2009) | 4 lines Changed paths: M /branches/embedded-1.0/configure.in branches/embedded-1.0: Fix syntax error in test program. r5910 | marko | 2009-09-16 03:07:21 -0500 (Wed, 16 Sep 2009) | 9 lines branches/zip: Introduce UNIV_LOG_LSN_DEBUG and MLOG_LSN for redo log diagnostics. This was written in order to better track down Issue #313 in InnoDB Hot Backup. MLOG_LSN: A new redo log entry type, for recording the current log sequence number (LSN). This will be checked in an assertion in recv_parse_log_rec(). rb://161, discussed with Sunny and Vasil. r5916 | marko | 2009-09-16 04:54:43 -0500 (Wed, 16 Sep 2009) | 128 lines branches/zip: Merge revisions 5622:5912 from branches/5.1, except r5700 (changes to CMakeLists.txt) ------------------------------------------------------------------------ r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines Changed paths: M /branches/5.1/Makefile.am branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2988 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Wed 2009-07-01 11:06:05 +0530 message: Fix build failure after applying Innodb snapshot 5.1-ss5282 After applying Innodb snapshot 5.1-ss5282, build was broken because of missing header file. Adding the header file to Makefile.am after informing the innodb developers. modified: storage/innobase/Makefile.am ------------------------------------------------------------------------ r5740 | jyang | 2009-09-03 06:33:47 +0300 (Thu, 03 Sep 2009) | 5 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/db0err.h A /branches/5.1/mysql-test/innodb_bug46000.result A /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Disallow creating index with the name of "GEN_CLUST_INDEX" which is reserved for the default system primary index. (Bug #46000) rb://149 approved by Sunny Bains. ------------------------------------------------------------------------ r5741 | jyang | 2009-09-03 07:16:01 +0300 (Thu, 03 Sep 2009) | 5 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug44369.result A /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: Block creating table with column name conflicting with Innodb reserved key words. (Bug #44369) rb://151 approved by Sunny Bains. ------------------------------------------------------------------------ r5757 | jyang | 2009-09-04 04:26:13 +0300 (Fri, 04 Sep 2009) | 3 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/db0err.h D /branches/5.1/mysql-test/innodb_bug46000.result D /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Revert change in 5740. Making the fix in a subsequent check in. ------------------------------------------------------------------------ r5760 | jyang | 2009-09-04 07:07:34 +0300 (Fri, 04 Sep 2009) | 3 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc D /branches/5.1/mysql-test/innodb_bug44369.result D /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: This is to revert change 5741. A return status for create_table_def() needs to be fixed. ------------------------------------------------------------------------ r5797 | calvin | 2009-09-09 18:26:29 +0300 (Wed, 09 Sep 2009) | 3 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: merge change from 5.1.38 HA_ERR_TOO_MANY_CONCURRENT_TRXS is added in 5.1.38. ------------------------------------------------------------------------ r5799 | calvin | 2009-09-09 20:47:31 +0300 (Wed, 09 Sep 2009) | 10 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: fix bug#46256 Allow tables to be dropped even if the collation is not found, but issue a warning. Could not find an easy way to add mysql-test since it requires changes to charsets and restarting the server. Tests were executed manually. Approved by: Heikki (on IM) ------------------------------------------------------------------------ r5805 | vasil | 2009-09-10 08:41:48 +0300 (Thu, 10 Sep 2009) | 7 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Fix a compilation warning caused by c5799: handler/ha_innodb.cc: In function 'void innobase_get_cset_width(ulint, ulint*, ulint*)': handler/ha_innodb.cc:830: warning: format '%d' expects type 'int', but argument 2 has type 'ulint' ------------------------------------------------------------------------ r5834 | jyang | 2009-09-11 00:43:05 +0300 (Fri, 11 Sep 2009) | 5 lines Changed paths: M /branches/5.1/dict/dict0dict.c M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug44369.result A /branches/5.1/mysql-test/innodb_bug44369.test M /branches/5.1/row/row0mysql.c branches/5.1: Block creating table with column name conflicting with Innodb reserved key words. (Bug #44369) rb://151 approved by Sunny Bains. ------------------------------------------------------------------------ r5895 | jyang | 2009-09-15 03:39:21 +0300 (Tue, 15 Sep 2009) | 5 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc A /branches/5.1/mysql-test/innodb_bug46000.result A /branches/5.1/mysql-test/innodb_bug46000.test branches/5.1: Disallow creating index with the name of "GEN_CLUST_INDEX" which is reserved for the default system primary index. (Bug #46000) rb://149 approved by Marko Makela. ------------------------------------------------------------------------ ------------------------------------------------------------ revno: 2555.546.53 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Fri 2009-10-09 17:49:13 +0530 message: Applying InnoDB Plugin 1.0.5 snapshot , part 8 Note : r5865 is skipped r5869 plug.in related changes are aslo skipped Detailed revision comments: r5865 | vasil | 2009-09-12 02:26:03 -0500 (Sat, 12 Sep 2009) | 10 lines branches/zip: Simplify the compile time checks by splittig them into 5 independent checks: * Whether GCC atomics are available * Whether pthread_t can be used by GCC atomics * Whether Solaris libc atomics are available * Whether pthread_t can be used by Solaris libs atomics * Checking the size of pthread_t r5866 | vasil | 2009-09-12 02:30:08 -0500 (Sat, 12 Sep 2009) | 5 lines branches/zip: Add the check for GCC atomics to ut0auxconf* (copied from plug.in) because we no longer rely on MySQL's HAVE_GCC_ATOMIC_BUILTINS. r5867 | vasil | 2009-09-12 02:43:45 -0500 (Sat, 12 Sep 2009) | 4 lines branches/zip: Update comment to reflect reality. r5868 | vasil | 2009-09-12 03:01:17 -0500 (Sat, 12 Sep 2009) | 6 lines branches/zip: Move the check whether to include ut0auxconf.h before everything because we are now even checking for GCC atomics, we relied on MySQL to define this macro before. r5869 | vasil | 2009-09-12 03:33:11 -0500 (Sat, 12 Sep 2009) | 15 lines branches/zip: Include ut0auxconf.h only if none of the macros it would define is defined. The check when to include this header was outdated from the time when there was only one macro involved. Move the atomics checks that are in univ.i outside of #if windows ... #else ... #endif This simplifies the code and removes some duplicates like defining HAVE_ATOMIC_BUILTINS if HAVE_WINDOWS_ATOMICS is defined in both branches. Do not define the same macro HAVE_ATOMIC_PTHREAD_T for different events. Instead define HAVE_IB_ATOMIC_PTHREAD_T_GCC and HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS. r5870 | vasil | 2009-09-12 04:13:44 -0500 (Sat, 12 Sep 2009) | 7 lines branches/zip: Define HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS in os0sync.h instead of in univ.i. The code expects os_*() macros to be present if HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are defined. So define them next to defining the os_*() macros. r5871 | vasil | 2009-09-12 04:25:44 -0500 (Sat, 12 Sep 2009) | 6 lines branches/zip: Rename HAVE_SOLARIS_ATOMICS to HAVE_IB_SOLARIS_ATOMICS and IB_HAVE_PAUSE_INSTRUCTION to HAVE_IB_PAUSE_INSTRUCTION so they all follow the same HAVE_IB_* convention. r5872 | vasil | 2009-09-12 04:35:17 -0500 (Sat, 12 Sep 2009) | 5 lines branches/zip: Explicitly include os0sync.h to the places where HAVE_ATOMIC_BUILTINS and INNODB_RW_LOCKS_USE_ATOMICS are used to avoid potential problems. ------------------------------------------------------------ revno: 2555.546.52 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Thu 2009-10-08 18:35:59 +0530 message: Applying InnoDB Plugin 1.0.5 snapshot, part 7 From revisions r5792 to r5864 Detailed revision comments: r5792 | vasil | 2009-09-09 08:35:58 -0500 (Wed, 09 Sep 2009) | 32 lines branches/zip: Fix a bug in manipulating the variable innodb_old_blocks_pct: for any value assigned it got that value -1, except for 75. When assigned 75, it got 75. mysql> set global innodb_old_blocks_pct=15; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'innodb_old_blocks_pct'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_old_blocks_pct | 14 | +-----------------------+-------+ 1 row in set (0.00 sec) mysql> set global innodb_old_blocks_pct=75; Query OK, 0 rows affected (0.00 sec) mysql> show variables like 'innodb_old_blocks_pct'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | innodb_old_blocks_pct | 75 | +-----------------------+-------+ After the fix it gets exactly what was assigned. Approved by: Marko (via IM) r5798 | calvin | 2009-09-09 10:28:10 -0500 (Wed, 09 Sep 2009) | 5 lines branches/zip: HA_ERR_TOO_MANY_CONCURRENT_TRXS is added in 5.1.38. But the plugin should still work with previous versions of MySQL. r5804 | marko | 2009-09-10 00:29:31 -0500 (Thu, 10 Sep 2009) | 1 line branches/zip: trx_cleanup_at_db_startup(): Fix a typo in comment. r5822 | marko | 2009-09-10 05:10:20 -0500 (Thu, 10 Sep 2009) | 1 line branches/zip: buf_page_release(): De-stutter the function comment. r5825 | marko | 2009-09-10 05:47:09 -0500 (Thu, 10 Sep 2009) | 20 lines branches/zip: Reduce mutex contention that was introduced when addressing Bug #45015 (Issue #316), in r5703. buf_page_set_accessed_make_young(): New auxiliary function, called by buf_page_get_zip(), buf_page_get_gen(), buf_page_optimistic_get_func(). Call ut_time_ms() outside of buf_pool_mutex. Use cached access_time. buf_page_set_accessed(): Add the parameter time_ms, so that ut_time_ms() need not be called while holding buf_pool_mutex. buf_page_optimistic_get_func(), buf_page_get_known_nowait(): Read buf_page_t::access_time without holding buf_pool_mutex. This should be OK, because the field is only used for heuristic purposes. buf_page_peek_if_too_old(): If buf_pool->freed_page_clock == 0, return FALSE, so that we will not waste time moving blocks in the LRU list in the warm-up phase or when the workload fits in the buffer pool. rb://156 approved by Sunny Bains r5826 | marko | 2009-09-10 06:29:46 -0500 (Thu, 10 Sep 2009) | 12 lines branches/zip: Roll back recovered dictionary transactions before dropping incomplete indexes (Issue #337). trx_rollback_or_clean_recovered(ibool all): New function, split from trx_rollback_or_clean_all_recovered(). all==FALSE will only roll back dictionary transactions. recv_recovery_from_checkpoint_finish(): Call trx_rollback_or_clean_recovered(FALSE) before row_merge_drop_temp_indexes(). rb://158 approved by Sunny Bains r5858 | vasil | 2009-09-11 12:46:47 -0500 (Fri, 11 Sep 2009) | 4 lines branches/zip: Fix the indentation of the closing bracket. r5863 | vasil | 2009-09-12 02:07:08 -0500 (Sat, 12 Sep 2009) | 10 lines branches/zip: Check that pthread_t can indeed be passed to Solaris atomic functions, instead of assuming that it can be passed if 0 can be assigned to it. It could be that: * 0 can be assigned, but pthread_t cannot be passed and * 0 cannot be assigned but pthread_t can be passed Better to check what we are interested in, not something else and make assumptions. r5864 | vasil | 2009-09-12 02:22:55 -0500 (Sat, 12 Sep 2009) | 4 lines branches/zip: Include string.h which is needed for memset(). ------------------------------------------------------------ revno: 2555.546.51 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Thu 2009-10-08 18:22:21 +0530 message: Applying InnoDB Plugin 1.0.5 snapshot, part 6 From revision r5748 to r5783 Detailed revision comments: r5748 | marko | 2009-09-03 06:05:44 -0500 (Thu, 03 Sep 2009) | 1 line branches/zip: MLOG_MULTI_REC_END: Correct the comment. r5751 | marko | 2009-09-03 09:36:15 -0500 (Thu, 03 Sep 2009) | 7 lines branches/zip: row_merge(): Remove a bogus debug assertion that was triggered when creating an index on an empty table. row_merge_sort(): Add debug assertions and comments that justify the loop termination condition. The bogus assertion ut_ad(ihalf > 0) was reported by Michael. r5752 | marko | 2009-09-03 09:55:51 -0500 (Thu, 03 Sep 2009) | 10 lines branches/zip: recv_recover_page_func(): Write the log sequence number to the compressed page, if there is one. Previously, the function only wrote the LSN to the uncompressed page. It is not clear why recv_recover_page_func() is updating FIL_PAGE_LSN in the buffer pool. The log sequence number will be stamped on the page when it is flushed to disk, in buf_flush_init_for_writing(). I noticed this inconsistency when analyzing Issue #313, but this patch does not fix it. That is no surprise, since FIL_PAGE_LSN should only matter on disk files, not in the buffer pool. r5775 | calvin | 2009-09-07 16:15:05 -0500 (Mon, 07 Sep 2009) | 13 lines branches/zip: Build InnoDB on Windows with UNIV_HOTBACKUP The changes are non-functional changes for normal InnoDB, but needed for building the Hot Backup on Windows (with UNIV_HOTBACKUP defined). - Define os_aio_use_native_aio for HB. - Do not acquire seek mutexes for backup since HB is single threaded. - Do not use srv_flush_log_at_trx_commit for HB build rb://155 Approved by: Marko r5777 | marko | 2009-09-08 10:50:25 -0500 (Tue, 08 Sep 2009) | 2 lines branches/zip: Remove BUF_LRU_INITIAL_RATIO, which should have been removed together with buf_LRU_get_recent_limit(). r5779 | marko | 2009-09-09 01:17:19 -0500 (Wed, 09 Sep 2009) | 2 lines branches/zip: buf_page_peek_if_too_old(): Make the bitmasking work when buf_pool->freed_page_clock is wider than 32 bits. r5780 | marko | 2009-09-09 01:50:50 -0500 (Wed, 09 Sep 2009) | 1 line branches/zip: ut_time_ms(): Return ulint, not uint. r5782 | marko | 2009-09-09 02:00:59 -0500 (Wed, 09 Sep 2009) | 2 lines branches/zip: buf_page_peek_if_too_old(): Silence a compiler warning that was introduced in r5779 on 32-bit systems. r5783 | marko | 2009-09-09 02:25:00 -0500 (Wed, 09 Sep 2009) | 1 line branches/zip: buf_page_is_accessed(): Correct the function comment. ------------------------------------------------------------ revno: 2555.546.50 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Thu 2009-10-08 17:48:19 +0530 message: Applying InnoDB Plugin 1.0.5 snapshot , part 5 From revision r5733 to r5747 Detailed revision comments: r5733 | sunny | 2009-09-02 02:05:15 -0500 (Wed, 02 Sep 2009) | 6 lines branches/zip: Fix a regression introduced by the fix for bug#26316. We check whether a transaction holds any AUTOINC locks before we acquire the kernel mutex and release those locks. Fix for rb://153. Approved by Marko. r5734 | sunny | 2009-09-02 02:08:45 -0500 (Wed, 02 Sep 2009) | 2 lines branches/zip: Update ChangeLog with r5733 changes. r5735 | marko | 2009-09-02 02:43:09 -0500 (Wed, 02 Sep 2009) | 2 lines branches/zip: univ.i: Do not undefine PACKAGE or VERSION. InnoDB source code does not refer to these macros. r5736 | marko | 2009-09-02 02:53:19 -0500 (Wed, 02 Sep 2009) | 1 line branches/zip: Enclose some timestamp functions in #ifndef UNIV_HOTBACKUP. r5743 | marko | 2009-09-03 01:36:12 -0500 (Thu, 03 Sep 2009) | 3 lines branches/zip: log_reserve_and_write_fast(): Remove the redundant output parameter "success". Success is also indicated by a nonzero return value. r5744 | marko | 2009-09-03 03:28:35 -0500 (Thu, 03 Sep 2009) | 1 line branches/zip: ut_align(): Make ptr const, like in ut_align_down(). r5745 | marko | 2009-09-03 03:38:22 -0500 (Thu, 03 Sep 2009) | 2 lines branches/zip: log_check_log_recs(): Enclose in #ifdef UNIV_LOG_DEBUG. Add const qualifiers. r5746 | marko | 2009-09-03 03:55:36 -0500 (Thu, 03 Sep 2009) | 2 lines branches/zip: log_reserve_and_write_fast(): Do not cache the log_sys pointer in a local variable. r5747 | marko | 2009-09-03 05:46:38 -0500 (Thu, 03 Sep 2009) | 2 lines branches/zip: recv_scan_log_recs(): Replace while with do...while, because the termination condition will always hold on the first iteration. ------------------------------------------------------------ revno: 2555.546.49 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Thu 2009-10-08 16:58:37 +0530 message: Applying InnoDB Plugin 1.0.5 snapshot, part 4 From revision r5703 to r5716 Detailed revision comments: r5703 | marko | 2009-08-27 02:25:00 -0500 (Thu, 27 Aug 2009) | 41 lines branches/zip: Replace the constant 3/8 ratio that controls the LRU_old size with the settable global variable innodb_old_blocks_pct. The minimum and maximum values are 5 and 95 per cent, respectively. The default is 100*3/8, in line with the old behavior. ut_time_ms(): New utility function, to return the current time in milliseconds. TODO: Is there a more efficient timestamp function, such as rdtsc divided by a power of two? buf_LRU_old_threshold_ms: New variable, corresponding to innodb_old_blocks_time. The value 0 is the default behaviour: no timeout before making blocks 'new'. bpage->accessed, bpage->LRU_position, buf_pool->ulint_clock: Remove. bpage->access_time: New field, replacing bpage->accessed. Protected by buf_pool_mutex instead of bpage->mutex. Updated when a page is created or accessed the first time in the buffer pool. buf_LRU_old_ratio, innobase_old_blocks_pct: New variables, corresponding to innodb_old_blocks_pct buf_LRU_old_ratio_update(), innobase_old_blocks_pct_update(): Update functions for buf_LRU_old_ratio, innobase_old_blocks_pct. buf_page_peek_if_too_old(): Compare ut_time_ms() to bpage->access_time if buf_LRU_old_threshold_ms && bpage->old. Else observe buf_LRU_old_ratio and bpage->freed_page_clock. buf_pool_t: Add n_pages_made_young, n_pages_not_made_young, n_pages_made_young_old, n_pages_not_made_young, for statistics. buf_print(): Display buf_pool->n_pages_made_young, buf_pool->n_pages_not_made_young. This function is only for crash diagnostics. buf_print_io(): Display buf_pool->LRU_old_len and quantities derived from buf_pool->n_pages_made_young, buf_pool->n_pages_not_made_young. This function is invoked by SHOW ENGINE INNODB STATUS. rb://129 approved by Heikki Tuuri. This addresses Bug #45015. r5704 | marko | 2009-08-27 03:31:17 -0500 (Thu, 27 Aug 2009) | 32 lines branches/zip: Fix a critical bug in fast index creation that could corrupt the created indexes. row_merge(): Make "half" an in/out parameter. Determine the offset of half the output file. Copy the last blocks record-by-record instead of block-by-block, so that the records can be counted. Check that the input and output have matching n_rec. row_merge_sort(): Do not assume that two blocks of size N are merged into a block of size 2*N. The output block can be shorter than the input if the last page of each input block is almost empty. Use an accurate termination condition, based on the "half" computed by row_merge(). row_merge_read(), row_merge_write(), row_merge_blocks(): Add debug output. merge_file_t, row_merge_file_create(): Add n_rec, the number of records in the merge file. row_merge_read_clustered_index(): Update n_rec. row_merge_blocks(): Update and check n_rec. row_merge_blocks_copy(): New function, for copying the last blocks in row_merge(). Update and check n_rec. This bug was discovered with a user-supplied test case that creates an index where the initial temporary file is 249 one-megabyte blocks and the merged files become smaller. In the test, possible merge record sizes are 10, 18, and 26 bytes. rb://150 approved by Sunny Bains. This addresses Issue #320. r5705 | marko | 2009-08-27 06:56:24 -0500 (Thu, 27 Aug 2009) | 11 lines branches/zip: dict_index_find_cols(): On column name lookup failure, return DB_CORRUPTION (HA_ERR_CRASHED) instead of abnormally terminating the server. Also, disable the previously added diagnostic output to the error log, because mysql-test-run does not like extra output in the error log. (Bug #44571) dict_index_add_to_cache(): Handle errors from dict_index_find_cols(). mysql-test/innodb_bug44571.test: A test case for triggering the bug. rb://135 approved by Sunny Bains. r5706 | inaam | 2009-08-27 11:00:27 -0500 (Thu, 27 Aug 2009) | 20 lines branches/zip rb://147 Done away with following two status variables: innodb_buffer_pool_read_ahead_rnd innodb_buffer_pool_read_ahead_seq Introduced two new status variables: innodb_buffer_pool_read_ahead = number of pages read as part of readahead since server startup innodb_buffer_pool_read_ahead_evicted = number of pages that are read in as readahead but were evicted before ever being accessed since server startup i.e.: a measure of how badly our readahead is performing SHOW INNODB STATUS will show two extra numbers in buffer pool section: pages read ahead/sec and pages evicted without access/sec Approved by: Marko r5707 | inaam | 2009-08-27 11:20:35 -0500 (Thu, 27 Aug 2009) | 6 lines branches/zip Remove unused macros as we erased the random readahead code in r5703. Also fixed some comments. r5708 | inaam | 2009-08-27 17:43:32 -0500 (Thu, 27 Aug 2009) | 4 lines branches/zip Remove redundant TRUE : FALSE from the return statement r5709 | inaam | 2009-08-28 01:22:46 -0500 (Fri, 28 Aug 2009) | 5 lines branches/zip rb://152 Disable display of deprecated parameter innodb_file_io_threads in 'show variables'. r5714 | marko | 2009-08-31 01:10:10 -0500 (Mon, 31 Aug 2009) | 5 lines branches/zip: buf_chunk_not_freed(): Do not acquire block->mutex unless block->page.state == BUF_BLOCK_FILE_PAGE. Check that block->page.state makes sense. Approved by Sunny Bains over the IM. r5716 | vasil | 2009-08-31 02:47:49 -0500 (Mon, 31 Aug 2009) | 9 lines branches/zip: Fix Bug#46718 InnoDB plugin incompatible with gcc 4.1 (at least: on PPC): "Undefined symbol" by implementing our own check in plug.in instead of using the result from the check from MySQL because it is insufficient. Approved by: Marko (rb://154) ------------------------------------------------------------ revno: 2555.546.48 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Thu 2009-10-08 16:08:57 +0530 message: Applying InnoDB Plugin 1.0.5 snapshot, part 3 From revision r5686 to r5702 r5696 is already applied Detailed revision comments: r5686 | vasil | 2009-08-20 04:15:05 -0500 (Thu, 20 Aug 2009) | 4 lines branches/zip: White-space fixup. r5687 | vasil | 2009-08-20 04:20:22 -0500 (Thu, 20 Aug 2009) | 8 lines branches/zip: ChangeLog: Follow the convention from the rest of the ChangeLog: for bugfixes from bugs.mysql.com only the bug number and title goes in the ChangeLog. Detailed explanation on what is the problem and how it was fixed is present in the bugs database. r5694 | marko | 2009-08-26 06:25:26 -0500 (Wed, 26 Aug 2009) | 2 lines branches/zip: buf_page_t: Clarify that bpage->list may contain garbage. This comment was provoked by Inaam. r5695 | marko | 2009-08-26 08:14:59 -0500 (Wed, 26 Aug 2009) | 1 line branches/zip: UNIV_DEBUG_LOCK_VALIDATE: Move the definition to univ.i. r5697 | vasil | 2009-08-26 08:44:40 -0500 (Wed, 26 Aug 2009) | 4 lines branches/zip: Fix typo. r5698 | inaam | 2009-08-26 09:34:35 -0500 (Wed, 26 Aug 2009) | 13 lines branches/zip bug#42885 rb://148 The call to put IO threads to sleep was most probably meant for Windows only as the comment in buf0rea.c suggests. However it was enabled on all platforms. This patch restricts the sleep call to windows. This approach of not putting threads to sleep makes even more sense because now we have multiple threads working in the background and it probably is not a good idea to put all of them to sleep because a user thread wants to post a batch for readahead. Approved by: Marko r5701 | marko | 2009-08-27 02:01:42 -0500 (Thu, 27 Aug 2009) | 1 line branches/zip: Document r5698 in the ChangeLog. r5702 | marko | 2009-08-27 02:03:15 -0500 (Thu, 27 Aug 2009) | 1 line branches/zip: Document also the files affected by r5698 in the ChangeLog. ------------------------------------------------------------ revno: 2555.546.47 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Thu 2009-10-08 15:30:49 +0530 message: Applying InnoDB Plugin 1.0.5 snapshot, part 2 From r5639 to r5685 Detailed revision comments: r5639 | marko | 2009-08-06 05:39:34 -0500 (Thu, 06 Aug 2009) | 3 lines branches/zip: mem_heap_block_free(): If innodb_use_sys_malloc is set, do not tell Valgrind that the memory is free, to avoid a bogus warning in Valgrind's built-in free() hook. r5642 | calvin | 2009-08-06 18:04:03 -0500 (Thu, 06 Aug 2009) | 2 lines branches/zip: remove duplicate "the" in comments. r5662 | marko | 2009-08-11 04:54:16 -0500 (Tue, 11 Aug 2009) | 1 line branches/zip: Bump the version number to 1.0.5 after releasing 1.0.4. r5663 | marko | 2009-08-11 06:42:37 -0500 (Tue, 11 Aug 2009) | 2 lines branches/zip: trx_general_rollback_for_mysql(): Remove the redundant parameter partial. If savept==NULL, partial==FALSE. r5670 | marko | 2009-08-12 08:16:37 -0500 (Wed, 12 Aug 2009) | 2 lines branches/zip: trx_undo_rec_copy(): Add const qualifier to undo_rec. This is a non-functional change. r5671 | marko | 2009-08-13 03:46:33 -0500 (Thu, 13 Aug 2009) | 5 lines branches/zip: ha_innobase::add_index(): Fix Bug #46557: after a successful operation, read innodb_table->flags from the newly created table object, not from the old one that was just freed. Approved by Sunny. r5681 | sunny | 2009-08-14 01:16:24 -0500 (Fri, 14 Aug 2009) | 3 lines branches/zip: When building HotBackup srv_use_sys_malloc is #ifdef out. We move access to the this variable within a !UNIV_HOTBACKUP block. r5684 | sunny | 2009-08-20 03:05:30 -0500 (Thu, 20 Aug 2009) | 10 lines branches/zip: Fix bug# 46650: Innodb assertion autoinc_lock == lock in lock_table_remove_low on INSERT SELECT We only store the autoinc locks that are granted in the transaction's autoinc lock vector. A transacton, that has been rolled back due to a deadlock because of an AUTOINC lock attempt, will not have added that lock to the vector. We need to check for that when we remove that lock. rb://145 Approved by Marko. r5685 | sunny | 2009-08-20 03:18:29 -0500 (Thu, 20 Aug 2009) | 2 lines branches/zip: Update the ChangeLog with r5684 change. ------------------------------------------------------------ revno: 2555.546.46 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Thu 2009-10-08 14:43:16 +0530 message: Applying InnoDB Plugin 1.0.5 snapshot , part 1 From revision r5537 to r5636 r5527 is already applied before Detailed revision comments: For HotBackup builds we don't want to hide the symbols. r5537 | vasil | 2009-07-21 04:31:26 -0500 (Tue, 21 Jul 2009) | 5 lines branches/zip: Fixups in ChangeLog: sort filenames alphabetically and wrap to 78 chars per line. r5539 | vasil | 2009-07-21 05:28:27 -0500 (Tue, 21 Jul 2009) | 4 lines branches/zip: Add a test program to check whether the PAUSE instruction is available. r5625 | vasil | 2009-08-04 00:52:48 -0500 (Tue, 04 Aug 2009) | 32 lines branches/zip: Merge 5518:5622 from branches/5.1, resolving conflict in r5622 (after resolving the conflict Makefile.am was not changed so I have made a dummy change so I can commit and thus record that branches/5.1 has been merged in branches/zip up to 5622): ------------------------------------------------------------------------ r5622 | vasil | 2009-08-03 15:27:00 +0300 (Mon, 03 Aug 2009) | 20 lines Changed paths: M /branches/5.1/Makefile.am branches/5.1: Merge a change from MySQL: ------------------------------------------------------------ revno: 2988 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Wed 2009-07-01 11:06:05 +0530 message: Fix build failure after applying Innodb snapshot 5.1-ss5282 After applying Innodb snapshot 5.1-ss5282, build was broken because of missing header file. Adding the header file to Makefile.am after informing the innodb developers. modified: storage/innobase/Makefile.am ------------------------------------------------------------------------ r5626 | vasil | 2009-08-04 00:53:31 -0500 (Tue, 04 Aug 2009) | 4 lines branches/zip: Revert the dummy change from c5625. r5629 | marko | 2009-08-04 06:42:44 -0500 (Tue, 04 Aug 2009) | 1 line branches/zip: mysql-test: Pass MTR's internal checks. r5635 | marko | 2009-08-05 06:06:55 -0500 (Wed, 05 Aug 2009) | 2 lines branches/zip: Replace with NUMBER in some comments, to avoid problems with Doxygen XML output. r5636 | marko | 2009-08-05 07:27:30 -0500 (Wed, 05 Aug 2009) | 2 lines branches/zip: lock_rec_validate_page(): Add the parameter zip_size. This should help track down Mantis Issue #289. ------------------------------------------------------------ revno: 2555.546.45 committer: Luis Soares branch nick: mysql-5.1-bugteam-to-push timestamp: Wed 2009-10-07 22:26:36 +0100 message: BUG#44661: automerge local 5.1-bt bug branch --> local 5.1-bt up to date ------------------------------------------------------------ revno: 2555.581.1 committer: Luis Soares branch nick: mysql-5.1-bugteam timestamp: Sun 2009-09-27 23:03:05 +0100 message: BUG#44661: rpl_ndb.rpl_ndb_circular_simplex fails because of failure to cleanup of table The test case was not dropping a table before exiting (ie, it was not cleaning itself after execution). In this case, the warning message stating that the test did not do a proper cleanup was deterministic (which can be annoying). I have found other tests cases on which mtr sporadically reports that they have not cleaned up after execution: - rpl_ndb_circular - rpl_failed_optimize In this case, the master was dropping a table but there was no synchronization between the slave and the master. This patch addresses the rpl_ndb_circular_simplex case by adding the missing DROP table. The other cases are fixed by deploying the missing sync_slave_with_master instruction. ------------------------------------------------------------ revno: 2555.546.44 committer: Alfranio Correia branch nick: mysql-5.1-bugteam-push timestamp: Tue 2009-10-06 11:25:36 +0100 message: mysql-5.1-bugteam (local) --> mysql-5.1-bugteam ------------------------------------------------------------ revno: 2555.580.2 committer: Alfranio Correia branch nick: mysql-5.1-bugteam timestamp: Tue 2009-10-06 01:54:00 +0100 message: BUG#47678 Changes to n-tables that happen early in a trans. are only flushed upon commit Let - T be a transactional table and N non-transactional table. - B be begin, C commit and R rollback. - N be a statement that accesses and changes only N-tables. - T be a statement that accesses and changes only T-tables. In RBR, changes to N-tables that happen early in a transaction are not immediately flushed upon committing a statement. This behavior may, however, break consistency in the presence of concurrency since changes done to N-tables become immediately visible to other connections. To fix this problem, we do the following: . B N N T C would log - B N C B N C B T C. . B N N T R would log - B N C B N C B T R. Note that we are not preserving history from the master as we are introducing a commit that never happened. However, this seems to be more acceptable than the possibility of breaking consistency in the presence of concurrency. ------------------------------------------------------------ revno: 2555.580.1 committer: Alfranio Correia branch nick: mysql-5.1-bugteam timestamp: Tue 2009-10-06 01:38:58 +0100 message: BUG#47287 RBR: replication diff on basic case with txn- and non-txn tables in a statement Let - T be a transactional table and N non-transactional table. - B be begin, C commit and R rollback. - M be a mixed statement, i.e. a statement that updates both T and N. - M* be a mixed statement that fails while updating either T or N. This patch restore the behavior presented in 5.1.37 for rows either produced in the RBR or MIXED modes, when a M* statement that happened early in a transaction had their changes written to the binary log outside the boundaries of the transaction and wrapped in a BEGIN/ROLLBACK. This was done to keep the slave consistent with with the master as the rollback would keep the changes on N and undo them on T. In particular, we do what follows: . B M* T C would log - B M* R B T C. Note that, we are not preserving history from the master as we are introducing a rollback that never happened. However, this seems to be more acceptable than making the slave diverge. We do not fix the following case: . B T M* C would log B T M* C. The slave will diverge as the changes on T tables that originated from the M statement are rolled back on the master but not on the slave. Unfortunately, we cannot simply rollback the transaction as this would undo any uncommitted changes on T tables. SBR is not considered in this patch because a failing statement is written to the binary along with the error code and a slave executes and then rolls back the statement when it has an associated error code, thus undoing the effects on T. In RBR and MBR, a full-fledged fix will be pushed after the WL 2687. ------------------------------------------------------------ revno: 2555.546.43 committer: Kristofer Pettersson branch nick: mysql-5.1-bugteam timestamp: Tue 2009-10-06 10:00:57 +0200 message: automerge ------------------------------------------------------------ revno: 2555.576.13 committer: Georgi Kodinov branch nick: merge-5.1-bugteam timestamp: Tue 2009-10-06 10:10:47 +0300 message: merge mysql-5.1-pe ------------------------------------------------------------ revno: 2555.579.3 committer: Satya B branch nick: mysql-5.1-pe-stage timestamp: Mon 2009-10-05 16:56:10 +0530 message: Applying InnoDB snapshot 5.1-ss5921, part 3. Fixes BUG#46256 1. BUG#46256 - drop table with unknown collation crashes innodb Note: No testcase attached and has to be verified manually Detailed revision comments: r5799 | calvin | 2009-09-09 20:47:31 +0300 (Wed, 09 Sep 2009) | 10 lines branches/5.1: fix bug#46256 Allow tables to be dropped even if the collation is not found, but issue a warning. Could not find an easy way to add mysql-test since it requires changes to charsets and restarting the server. Tests were executed manually. Approved by: Heikki (on IM) r5805 | vasil | 2009-09-10 08:41:48 +0300 (Thu, 10 Sep 2009) | 7 lines branches/5.1: Fix a compilation warning caused by c5799: handler/ha_innodb.cc: In function 'void innobase_get_cset_width(ulint, ulint*, ulint*)': handler/ha_innodb.cc:830: warning: format '%d' expects type 'int', but argument 2 has type 'ulint' ------------------------------------------------------------ revno: 2555.579.2 committer: Satya B branch nick: mysql-5.1-pe-stage timestamp: Mon 2009-10-05 16:47:48 +0530 message: Applying InnoDB snapshot 5.1-ss5921, part 2. Fixes BUG#44369 BUG#44369 - InnoDB: Does not uniformly disallow disallowed column names Detailed revision comments: r5741 | jyang | 2009-09-03 07:16:01 +0300 (Thu, 03 Sep 2009) | 5 lines branches/5.1: Block creating table with column name conflicting with Innodb reserved key words. (Bug #44369) rb://151 approved by Sunny Bains. r5760 | jyang | 2009-09-04 07:07:34 +0300 (Fri, 04 Sep 2009) | 3 lines branches/5.1: This is to revert change 5741. A return status for create_table_def() needs to be fixed. r5834 | jyang | 2009-09-11 00:43:05 +0300 (Fri, 11 Sep 2009) | 5 lines branches/5.1: Block creating table with column name conflicting with Innodb reserved key words. (Bug #44369) rb://151 approved by Sunny Bains. ------------------------------------------------------------ revno: 2555.579.1 committer: Satya B branch nick: mysql-5.1-pe-stage timestamp: Mon 2009-10-05 16:39:07 +0530 message: Applying InnoDB snapshot 5.1-ss5921, Part 1. Fixes BUG#46000 1. BUG#46000 - using index called GEN_CLUST_INDEX crashes server Detailed revision comments: r5895 | jyang | 2009-09-15 03:39:21 +0300 (Tue, 15 Sep 2009) | 5 lines branches/5.1: Disallow creating index with the name of "GEN_CLUST_INDEX" which is reserved for the default system primary index. (Bug #46000) rb://149 approved by Marko Makela. ------------------------------------------------------------ revno: 2555.576.12 committer: John H. Embretsen branch nick: mysql-5.1-bugteam-sandbox timestamp: Mon 2009-10-05 15:16:27 +0200 message: Bug#47746 - main.innodb_mysql fails sporadically: Mask part of EXPLAIN output with '#' to account for varying row count estimation. ------------------------------------------------------------ revno: 2555.576.11 committer: Frazer Clement branch nick: mysql-5.1-bugteam timestamp: Mon 2009-10-05 13:57:59 +0100 message: Merge 5.0-bugteam->5.1 bugteam ------------------------------------------------------------ revno: 1810.3955.10 committer: Frazer Clement branch nick: mysql-5.0-bugteam timestamp: Mon 2009-10-05 13:57:00 +0100 message: Bug#39663 mysqltest: --enable_info, affected_rows and ps-protocol broken ------------------------------------------------------------ revno: 2555.576.10 committer: Georgi Kodinov branch nick: merge-5.1-bugteam timestamp: Mon 2009-10-05 11:18:59 +0300 message: fixed typos in exeprimental list ------------------------------------------------------------ revno: 2555.546.42 committer: Kristofer Pettersson branch nick: mysql-5.1-bugteam timestamp: Tue 2009-10-06 09:52:19 +0200 message: Merge mysql-5.0-bugteam => mysql-5.1-bugteam ------------------------------------------------------------ revno: 1810.3958.1 committer: Kristofer Pettersson branch nick: mysql-5.0-bugteam timestamp: Tue 2009-10-06 09:38:44 +0200 message: Bug#47768 pthread_cond_timedwait() is broken on windows The pthread_cond_wait implementations for windows might dead lock in some rare circumstances. 1) One thread (I) enter a timed wait and at a point in time ends up after mutex unlock and before WaitForMultipleObjects(...) 2) Another thread (II) enters pthread_cond_broadcast. Grabs the mutex and discovers one waiter. It set the broadcast event and closes the broadcast gate then unlocks the mutex. 3) A third thread (III) issues a pthread_cond_signal. It grabs the mutex, discovers one waiter, sets the signal event then unlock the mutex. 4) The first threads (I) enters WaitForMultipleObjects and finds out that the signal object is in a signalled state and exits the wait. 5) Thread (I) grabs the mutex and checks result status. The number of waiters is decreased and becomes equal to 0. The event returned was a signal event so the broadcast gate isn't opened. The mutex is released. 6) Thread (II) issues a new broadcast. The mutex is acquired but the number of waiters are 0 hence the broadcast gate remains closed. 7) Thread (I) enters the wait again but is blocked by the broadcast gate. This fix resolves the above issue by always resetting broadcast gate when there are no more waiters in th queue. ------------------------------------------------------------ revno: 2555.546.41 committer: Kristofer Pettersson branch nick: mysql-5.1-bugteam timestamp: Tue 2009-10-06 09:40:30 +0200 message: Automerg ------------------------------------------------------------ revno: 2555.576.9 committer: Gleb Shchepa branch nick: mysql-5.1-bugteam timestamp: Mon 2009-10-05 10:27:36 +0500 message: Bug #44139: Table scan when NULL appears in IN clause SELECT ... WHERE ... IN (NULL, ...) does full table scan, even if the same query without the NULL uses efficient range scan. The bugfix for the bug 18360 introduced an optimization: if 1) all right-hand arguments of the IN function are constants 2) result types of all right argument items are compatible enough to use the same single comparison function to compare all of them to the left argument, then we can convert the right-hand list of constant items to an array of equally-typed constant values for the further QUICK index access etc. (see Item_func_in::fix_length_and_dec()). The Item_null constant item objects have STRING_RESULT result types, so, as far as Item_func_in::fix_length_and_dec() is aware of NULLs in the right list, this improvement efficiently optimizes IN function calls with a mixed right list of NULLs and string constants. However, the optimization doesn't affect mixed lists of NULLs and integers, floats etc., because there is no unique common comparator. New optimization has been added to ignore the result type of NULL constants in the static analysis of mixed right-hand lists. This is safe, because at the execution phase we care about presence of NULLs anyway. 1. The collect_cmp_types() function has been modified to optionally ignore NULL constants in the item list. 2. NULL-skipping code of the Item_func_in::fix_length_and_dec() function has been modified to work not only with in_string vectors but with in_vectors of other types. ------------------------------------------------------------ revno: 2555.576.8 committer: Georgi Kodinov branch nick: merge-5.1-bugteam timestamp: Sun 2009-10-04 13:31:55 +0300 message: rpl.rpl_trigger made experimental because of bug #47810 : rpl.rpl_trigger.test fails with valgrind errors with the innodb plugin ------------------------------------------------------------ revno: 2555.576.7 committer: Georgi Kodinov branch nick: merge-5.1-bugteam timestamp: Sun 2009-10-04 13:16:56 +0300 message: Make innodb-autoinc.test experimental until bug#47809 is fixed. ------------------------------------------------------------ revno: 2555.576.6 committer: Georgi Kodinov branch nick: merge-5.1-bugteam timestamp: Sun 2009-10-04 13:15:53 +0300 message: Disable innodb_information_schema.test until bug #47808 is fixed. ------------------------------------------------------------ revno: 2555.576.5 committer: Georgi Kodinov branch nick: merge-5.1-bugteam timestamp: Sun 2009-10-04 12:53:02 +0300 message: Fixed a valgrind error in debug_sync ------------------------------------------------------------ revno: 2555.576.4 committer: Georgi Kodinov branch nick: merge-5.1-bugteam timestamp: Sun 2009-10-04 12:17:24 +0300 message: automerge ------------------------------------------------------------ revno: 1810.3955.9 committer: Georgi Kodinov branch nick: merge-5.0-bugteam timestamp: Sun 2009-10-04 12:00:27 +0300 message: automerge ------------------------------------------------------------ revno: 1810.3955.8 committer: Jonathan Perkin branch nick: mysql-5.0-bugteam timestamp: Fri 2009-10-02 13:54:38 +0100 message: Merge to mysql-5.0-bugteam ------------------------------------------------------------ revno: 1810.3953.4 committer: Jonathan Perkin branch nick: mysql-bug27693 timestamp: Wed 2009-09-30 15:46:51 +0100 message: bug#27693: Windows compilation from bk fails using WITH_BERKELEY_STORAGE_ENGINE Make configure.js bail with an error if trying to build bdb from a bzr tree. ------------------------------------------------------------ revno: 2555.576.3 committer: Georgi Kodinov branch nick: merge-5.1-bugteam timestamp: Sun 2009-10-04 12:15:05 +0300 message: automerge ------------------------------------------------------------ revno: 2555.578.4 committer: Joerg Bruehe branch nick: push-5.1 timestamp: Mon 2009-09-28 11:07:31 +0200 message: Upmerge 5.0-build -> 5.1-build. ------------------------------------------------------------ revno: 1810.3957.1 committer: Joerg Bruehe branch nick: push-5.0 timestamp: Mon 2009-09-28 10:43:26 +0200 message: Merge the fix for bug#47137 into 5.0-build Solaris binary packages should be compiled with '-g0', not '-g' ------------------------------------------------------------ revno: 1810.3956.1 committer: Joerg Bruehe branch nick: bug47137-5.0 timestamp: Thu 2009-09-17 21:50:54 +0200 message: Fix bug#47137 Solaris binary packages should be compiled with '-g0', not '-g' The main fix for this is done in the build tools, but in the sources it affects "configure.in" which sets "DEBUG_CXXFLAGS" to be used in all debug builds. ------------------------------------------------------------ revno: 2555.578.3 committer: Joerg Bruehe branch nick: push-5.1 timestamp: Mon 2009-09-28 10:52:28 +0200 message: Merge main 5.1 into 5.1-build (a fix from 5.1.39). ------------------------------------------------------------ revno: 2555.578.2 committer: Joerg Bruehe branch nick: bug46980-5.1 timestamp: Thu 2009-09-17 18:34:24 +0200 message: Fix bug#46980 Option "--without-server" still not working in 5.1 The general approach is to make sure that source files which require thread support are only compiled if the build really needs thread support, which means when the server is built or a thread-safe client library. This required several changes: - Make sure the subdirectories "storage/" and "plugin/" are only processed if the server is built, not ifclient-only. - Make the compilation of some modules which inherently require threading depend on thread supportin the build. - Separate the handling of threading in "configure.in" from that of server issues, threading is also needed in a non-server build of a thread-safe client library. Also, "libdbug" must get built even in a client-only build, so "dbug/" must be in the list of client directories. In addition, calls to thread functions in source files which can be built without thread support must use the wrapper functions which handle the non-threaded build. So the modules "client/mysqlimport.c" and "client/mysqlslap.c" must call "my_thread_end()" only via "mysql_thread_end()". ------------------------------------------------------------ revno: 2555.578.1 committer: Joerg Bruehe branch nick: push-5.1 timestamp: Tue 2009-09-15 10:07:57 +0200 message: Null-merge a version number change from 5.0 to 5.1 ------------------------------------------------------------ revno: 2555.576.2 committer: Ingo Struewing branch nick: mysql-5.1-testsync-12 timestamp: Fri 2009-10-02 13:27:48 +0200 message: auto-merge ------------------------------------------------------------ revno: 2555.577.3 committer: branch nick: mysql-5.1-bugteam timestamp: Thu 2009-10-01 07:19:36 +0800 message: Bug #45677 Slave stops with Duplicate entry for key PRIMARY when using trigger The problem is that there is only one autoinc value associated with the query when binlogging. If more than one autoinc values are used in the query, the autoinc values after the first one can be inserted wrongly on slave. So these autoinc values can become inconsistent on master and slave. The problem is resolved by marking all the statements that invoke a trigger or call a function that updated autoinc fields as unsafe, and will switch to row-format in Mixed mode. Actually, the statement is safe if just one autoinc value is used in sub-statement, but it's impossible to check how many autoinc values are used in sub-statement.) ------------------------------------------------------------ revno: 2555.577.2 committer: Davi Arnaut branch nick: mysql-5.1-bugteam timestamp: Wed 2009-09-30 20:06:08 -0300 message: Manual merge. ------------------------------------------------------------ revno: 1810.3955.7 committer: Davi Arnaut branch nick: 47525-5.0 timestamp: Wed 2009-09-30 19:59:30 -0300 message: Post-merge cleanup: Reorganize code for better comprehensibility. Removes the need of a hack (the jump to label). ------------------------------------------------------------ revno: 2555.577.1 committer: Davi Arnaut branch nick: mysql-5.1-bugteam timestamp: Wed 2009-09-30 19:25:06 -0300 message: Manual merge. ------------------------------------------------------------ revno: 1810.3955.6 committer: Davi Arnaut branch nick: 47525-5.0 timestamp: Wed 2009-09-30 19:14:55 -0300 message: Post-merge fix: DBUG macros are wrapped inside a loop. ------------------------------------------------------------ revno: 1810.3955.5 committer: Davi Arnaut branch nick: 47525-5.0 timestamp: Wed 2009-09-30 18:38:02 -0300 message: Bug#47525: MySQL crashed (Federated) On Mac OS X or Windows, sending a SIGHUP to the server or a asynchronous flush (triggered by flush_time), would cause the server to crash. The problem was that a hook used to detach client API handles wasn't prepared to handle cases where the thread does not have a associated session. The solution is to verify whether the thread has a associated session before trying to detach a handle. ------------------------------------------------------------ revno: 2555.576.1 committer: Ingo Struewing branch nick: mysql-5.1-testsync-12 timestamp: Thu 2009-10-01 15:54:11 +0200 message: auto-merge ------------------------------------------------------------ revno: 2555.575.1 committer: Ingo Struewing branch nick: mysql-5.1-testsync-11 timestamp: Tue 2009-09-29 17:38:40 +0200 message: WL#4259 - Debug Sync Facility Backport from 6.0 to 5.1. Only those sync points are included, which are used in debug_sync.test. The Debug Sync Facility allows to place synchronization points in the code: open_tables(...) DEBUG_SYNC(thd, "after_open_tables"); lock_tables(...) When activated, a sync point can - Send a signal and/or - Wait for a signal Nomenclature: - signal: A value of a global variable that persists until overwritten by a new signal. The global variable can also be seen as a "signal post" or "flag mast". Then the signal is what is attached to the "signal post" or "flag mast". - send a signal: Assign the value (the signal) to the global variable ("set a flag") and broadcast a global condition to wake those waiting for a signal. - wait for a signal: Loop over waiting for the global condition until the global value matches the wait-for signal. Please find more information in the top comment in debug_sync.cc or in the worklog entry. ------------------------------------------------------------ revno: 2555.546.40 committer: Kristofer Pettersson branch nick: mysql-5.1-bugteam timestamp: Wed 2009-09-30 21:37:52 +0200 message: Null merge mysql-5.0-bugteam => mysql-5.1-bugteam ------------------------------------------------------------ revno: 1810.3955.4 committer: Kristofer Pettersson branch nick: mysql-5.0-bugteam timestamp: Wed 2009-09-30 14:50:25 +0200 message: Bug#34895 'show procedure status' or 'show function status' + 'flush tables' crashes The server crashes when 'show procedure status' and 'flush tables' are run concurrently. This is caused by the way mysql.proc table is added twice to the list of table to lock although the requirements on the current locking API assumes differently. No test case is submitted because of the nature of the crash which is currently difficult to reproduce in a deterministic way. This is a backport from 5.1 ------------------------------------------------------------ revno: 2555.546.39 committer: Jonathan Perkin branch nick: mysql-5.1-bugteam timestamp: Wed 2009-09-30 14:48:16 +0100 message: Merge into mysql-5.1-bugteam ------------------------------------------------------------ revno: 2555.574.1 committer: Jonathan Perkin branch nick: mysql-bug41546 timestamp: Wed 2009-09-30 14:46:47 +0100 message: bug#41546: mysql-stress-run.pl is not packaged on Windows Copy mysql-stress-run.pl into noinstall package. ------------------------------------------------------------ revno: 2555.546.38 committer: Martin Hansson branch nick: 5.1bt timestamp: Wed 2009-09-30 09:31:20 +0200 message: Merge of Bug#35996 ------------------------------------------------------------ revno: 2555.571.5 committer: branch nick: mysql-5.1-bugteam timestamp: Wed 2009-09-30 10:31:25 +0800 message: Bug #46998 mysqlbinlog can't output BEGIN even if the database is included in a transaction The 'BEGIN/COMMIT/ROLLBACK' log event could be filtered out if the database is not selected by --database option of mysqlbinlog command. This can result in problem if there are some statements in the transaction are not filtered out. To fix the problem, mysqlbinlog will output 'BEGIN/ROLLBACK/COMMIT' in regardless of the database filtering rules. ------------------------------------------------------------ revno: 1810.3955.3 committer: branch nick: mysql-5.0-bugteam timestamp: Wed 2009-09-30 10:01:52 +0800 message: Bug #46998 mysqlbinlog can't output BEGIN even if the database is included in a transaction The 'BEGIN/COMMIT/ROLLBACK' log event could be filtered out if the database is not selected by --database option of mysqlbinlog command. This can result in problem if there are some statements in the transaction are not filtered out. To fix the problem, mysqlbinlog will output 'BEGIN/ROLLBACK/COMMIT' in regardless of the database filtering rules. ------------------------------------------------------------ revno: 2555.571.4 committer: Tatiana A. Nurnberg branch nick: 51-43746f timestamp: Tue 2009-09-29 09:09:17 -0700 message: auto-merge ------------------------------------------------------------ revno: 2555.569.11 committer: Kristofer Pettersson branch nick: mysql-5.1-bugteam timestamp: Tue 2009-09-29 17:26:54 +0200 message: Null merge mysql-5.0-bugteam => mysql-5.1-bugteam ------------------------------------------------------------ revno: 1810.3955.2 committer: Kristofer Pettersson branch nick: mysql-5.0-bugteam timestamp: Tue 2009-09-29 17:18:55 +0200 message: autocommit ------------------------------------------------------------ revno: 1810.3955.1 committer: Kristofer Pettersson branch nick: 50-bug42108 timestamp: Tue 2009-09-29 17:06:51 +0200 message: Bug#42108 Wrong locking for UPDATE with subqueries leads to broken statement replication MySQL server uses wrong lock type (always TL_READ instead of TL_READ_NO_INSERT when appropriate) for tables used in subqueries of UPDATE statement. This leads in some cases to a broken replication as statements are written in the wrong order to the binlog. ------------------------------------------------------------ revno: 2555.571.3 committer: Tatiana A. Nurnberg branch nick: 51-43746f timestamp: Tue 2009-09-29 08:19:46 -0700 message: auto-merge ------------------------------------------------------------ revno: 2555.569.10 committer: Alexey Botchkov branch nick: 51-mrg timestamp: Tue 2009-09-29 18:28:01 +0500 message: merging ------------------------------------------------------------ revno: 2555.573.1 committer: Davi Arnaut branch nick: mysql-5.1-bugteam timestamp: Tue 2009-09-29 11:11:46 -0300 message: Don't use the semicolon character as a argument separator as it can be interpreted as a shell metacharacter in some circumstances. For example, it is interpreted as a command separator when invoking a debugger. ------------------------------------------------------------ revno: 2555.569.9 committer: Alexey Botchkov branch nick: 51-mrg timestamp: Tue 2009-09-29 18:23:30 +0500 message: merging ------------------------------------------------------------ revno: 2555.572.2 committer: Alexey Botchkov branch nick: 43733 timestamp: Tue 2009-09-29 17:49:36 +0500 message: merging ------------------------------------------------------------ revno: 2555.572.1 committer: Alexey Botchkov branch nick: 43733 timestamp: Thu 2009-06-04 23:36:34 +0500 message: Bug#43733 Select on processlist let the embedded server crash (concurrent_innodb_safelog) the thread->mysys_var parameter should be empty for the idle embedded-server threads so that working threads can safely free this memory. per-file comments: libmysqld/lib_sql.cc Bug#43733 Select on processlist let the embedded server crash (concurrent_innodb_safelog) set thread->mysys_var= 0 after the query is handled mysql-test/include/concurrent.inc Bug#43733 Select on processlist let the embedded server crash (concurrent_innodb_safelog) enable these for the embedded-server mode sql/sql_show.cc Bug#43733 Select on processlist let the embedded server crash (concurrent_innodb_safelog) show thread lock status in the query result ------------------------------------------------------------ revno: 2555.571.2 committer: Tatiana A. Nurnberg branch nick: 51-43746f timestamp: Tue 2009-09-29 06:08:18 -0700 message: auto-merge ------------------------------------------------------------ revno: 2555.571.1 committer: Tatiana A. Nurnberg branch nick: 51-43746f timestamp: Mon 2009-09-28 05:41:10 -0700 message: Bug#43746: YACC return wrong query string when parse 'load data infile' sql statement "load data" statements were written to the binlog as a mix of the original statement and bits recreated from parse-info. This relied on implementation details and broke with IGNORE_SPACES and versioned comments. We now completely resynthesize the query for LOAD DATA for binlog (which among other things normalizes them somewhat with regard to case, spaces, etc.). We have already parsed the query properly, so we make use of that rather than mix-and-match string literals and parsed items. This should make us safe with regard to versioned comments, even those spanning multiple tokens. Also no longer affected by IGNORE_SPACES. ------------------------------------------------------------ revno: 2555.546.37 committer: Martin Hansson branch nick: 5.1bt timestamp: Tue 2009-09-29 16:57:20 +0200 message: Merge of Bug#35996. ------------------------------------------------------------ revno: 2555.569.8 committer: Davi Arnaut branch nick: 45567-5.1 timestamp: Tue 2009-09-29 07:58:42 -0300 message: Bug#45567: Fast ALTER TABLE broken for enum and set The problem was that appending values to the end of an existing ENUM or SET column was being treated as table data modification, preventing a immediately (fast) table alteration that occurs when only table metadata is being modified. The cause was twofold: adding a enumeration or set members to the end of the list of valid member values was not being considered a "compatible" table alteration, and for SET columns, the check was being done upon the max display length and not the underlying (pack) length of the field. The solution is to augment the function that checks wether two ENUM or SET fields are compatible -- by comparing the pack lengths and performing a limited comparison of the member values. ------------------------------------------------------------ revno: 2555.569.7 committer: Mattias Jonsson branch nick: topush-51-bugteam timestamp: Tue 2009-09-29 10:12:04 +0200 message: merge ------------------------------------------------------------ revno: 2555.552.17 committer: Mattias Jonsson branch nick: b32430-51-bugteam timestamp: Fri 2009-09-25 11:26:49 +0200 message: Bug#32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs Problem was still not completely fixed, due to qouting. This is the server side only fix (in explain_filename), the change from filename_to_tablename to use explain_filename in the InnoDB code must be done before the bug is fixed. ------------------------------------------------------------ revno: 2555.569.6 committer: Sergey Glukhov branch nick: mysql-5.1-bugteam timestamp: Tue 2009-09-29 07:23:38 +0500 message: Bug#47150 Assertion in Field_long::val_int() on MERGE + TRIGGER + multi-table UPDATE The bug is not related to MERGE table or TRIGGER. More correct description would be 'assertion on multi-table UPDATE + NATURAL JOIN + MERGEABLE VIEW'. On PREPARE stage(see test case) we call mark_common_columns() func which creates ON condition for NATURAL JOIN and sets appropriate table read_set bitmaps for fields which are used in ON condition. On EXECUTE stage mark_common_columns() is not called, we set necessary read_set bitmaps in setup_conds(). But 'B.f1' field is already processed and related item alredy fixed before setup_conds() as updated field and setup_conds can not set read_set bitmap because of that. The fix is to set read_set bitmap for appropriate table field even if Item_direct_view_ref item which represents a refernce to this field is fixed. ------------------------------------------------------------ revno: 2555.569.5 committer: Jonathan Perkin branch nick: mysql-5.1-bugteam timestamp: Mon 2009-09-28 17:32:14 +0100 message: Merge up to mysql-5.1-bugteam ------------------------------------------------------------ revno: 1810.3953.3 committer: Jonathan Perkin branch nick: mysql-5.0-bugteam timestamp: Mon 2009-09-28 15:24:52 +0100 message: Merge to mysql-5.0-bugteam ------------------------------------------------------------ revno: 1810.3954.1 committer: Jonathan Perkin branch nick: mysql-5.0-30954 timestamp: Mon 2009-09-28 15:14:33 +0100 message: bug#30954: "configure" script in binary distributions considered harmfull Add --help option. ------------------------------------------------------------ revno: 2555.569.4 committer: Georgi Kodinov branch nick: B47106-5.1-bugteam timestamp: Mon 2009-09-28 16:55:01 +0300 message: Fixed Sun Studio 8 compilation failures as suggested by Jorgen and reviewed by Svoj over e-mail. ------------------------------------------------------------ revno: 2555.569.3 committer: Georgi Kodinov branch nick: B47106-5.1-bugteam timestamp: Mon 2009-09-28 16:48:40 +0300 message: merge ------------------------------------------------------------ revno: 1810.3953.2 committer: Georgi Kodinov branch nick: B47106-5.0-bugteam timestamp: Fri 2009-09-18 12:34:08 +0300 message: Bug #47106: Crash / segfault on adding EXPLAIN to a non-crashing query The fix for bug 46749 removed the check for OUTER_REF_TABLE_BIT and substituted it for a check on the presence of Item_ident::depended_from. Removing it altogether was wrong : OUTER_REF_TABLE_BIT should still be checked in addition to depended_from (because it's not set in all cases and doesn't contradict to the check of depended_from). Fixed by returning the old condition back as a compliment to the new one. ------------------------------------------------------------ revno: 1810.3953.1 committer: Magnus Bl?udd branch nick: 5.0-bugteam timestamp: Mon 2009-09-28 14:40:20 +0200 message: Merge bug#42850 to 5.0 ------------------------------------------------------------ revno: 2555.569.2 committer: Magnus Bl?udd branch nick: mysql-5.1-bugteam timestamp: Mon 2009-09-28 14:54:36 +0200 message: Merge ------------------------------------------------------------ revno: 2555.570.1 committer: Magnus Bl?udd branch nick: 5.1-bugteam timestamp: Mon 2009-09-28 14:40:45 +0200 message: Merge bug#42850 to 5.1 ------------------------------------------------------------ revno: 1810.3927.42 committer: Magnus Bl?udd branch nick: 5.0-bugteam timestamp: Mon 2009-09-28 14:38:06 +0200 message: Merge bug#42850 to 5.0 ------------------------------------------------------------ revno: 1810.3950.5 committer: Magnus Bl?udd branch nick: 5.0-bug42850 timestamp: Thu 2009-09-24 08:30:31 +0200 message: Bug#42850 race condition in my_thr_init.c - Create the "dummy" thread joinable and wait for it to exit before continuing in 'my_thread_global_init' - This way we know that the pthread library is initialized by one thread only ------------------------------------------------------------ revno: 2555.569.1 committer: Martin Hansson branch nick: 5.1bt timestamp: Mon 2009-09-28 12:48:52 +0200 message: Bug#46958: Assertion in Diagnostics_area::set_ok_status, trigger, merge table The problem with break statements is that they have very local effects. Hence a break statement within the inner loop of a nested-loops join caused execution to proceed to the next table even though a serious error occurred. The problem was fixed by breaking out the inner loop into its own method. The change empowers all errors to terminate the execution. The errors that will now halt multi-DELETE execution altogether are - triggers returning errors - handler errors - server being killed ------------------------------------------------------------ revno: 2555.546.36 committer: Martin Hansson branch nick: 5.1bt timestamp: Mon 2009-09-28 13:25:47 +0200 message: Bug#35996: SELECT + SHOW VIEW should be enough to display view definition During SHOW CREATE VIEW there is no reason to 'anonymize' errors that name objects that a user does not have access to. Moreover it was inconsistently implemented. For example base tables being referenced from a view appear to be ok, but not views. The manual on the other hand is clear: If a user has the privileges SELECT and SHOW VIEW, the view definition is available to that user, period. The fix changes the behavior to support the manual. ------------------------------------------------------------ revno: 2555.546.35 committer: branch nick: mysql-5.1-bugteam timestamp: Mon 2009-09-28 14:24:19 +0800 message: BUG#43579 mysql_upgrade tries to alter log tables on replicated database All statements executed by mysql_upgrade are binlogged and then are replicated to slave. This will result in some errors. The report of this bug has demonstrated some examples. Master and slave should be upgraded separately. All statements executed by mysql_upgrade will not be binlogged. --write-binlog and --skip-write-binlog options are added into mysql_upgrade. These options control whether sql statements are binlogged or not. ------------------------------------------------------------ revno: 2555.546.34 committer: branch nick: mysql-5.1-bugteam timestamp: Mon 2009-09-28 10:23:06 +0800 message: BUG #46572 DROP TEMPORARY table IF EXISTS does not have a consistent behavior in ROW mode In RBR, 'DROP TEMPORARY TABLE IF EXISTS...' statement is binlogged when the table does not exist. In fact, 'DROP TEMPORARY TABLE ...' statement should never be binlogged in RBR no matter if the table exists or not. This patch addresses this by checking whether we are dropping a temporary table or not, when building the custom drop statement. ------------------------------------------------------------ revno: 2555.546.33 committer: Luis Soares branch nick: mysql-5.1-bugteam timestamp: Sun 2009-09-27 22:02:47 +0100 message: BUG#47312: RBR: Disabling key on slave breaks replication: HA_ERR_WRONG_INDEX In RBR, disabling keys on slave table will break replication when updating or deleting a record. When the slave thread tries to find the row, by searching in the storage engine, it checks whether the table has a key or not. If it has one, then the slave thread uses it to search the record. Nonetheless, the slave only checks whether the key exists or not, it does not verify if it is active. Should the key be disabled (eg, DBA has issued an ALTER TABLE ... DISABLE KEYS) then it will result in error: HA_ERR_WRONG_INDEX. This patch addresses this issue by making the slave thread also check whether the key is active or not before actually using it. ------------------------------------------------------------ revno: 2555.546.32 committer: branch nick: mysql-5.1-bugteam timestamp: Sun 2009-09-27 18:12:58 +0800 message: Bug #43913 rpl_cross_version can't pass on conflicts complainig clash with --slave-load-tm The failure is not reproduced on 5.1, so enable the 'rpl_cross_version' test. ------------------------------------------------------------ revno: 2555.546.31 committer: branch nick: mysql-5.1-bugteam timestamp: Sun 2009-09-27 17:00:29 +0800 message: Bug #46931 rpl.rpl_get_master_version_and_clock fails on hpux11.31 Network error happened here, but it can be caused by CR_CONNECTION_ERROR, CR_CONN_HOST_ERROR, CR_SERVER_GONE_ERROR, CR_SERVER_LOST, ER_CON_COUNT_ERROR, and ER_SERVER_SHUTDOWN. We just check CR_SERVER_LOST here, so the test fails. To fix the problem, check all errors that can be cause by the master shutdown. ------------------------------------------------------------ revno: 2555.546.30 committer: Omer BarNir branch nick: src-bugteam timestamp: Fri 2009-09-25 08:27:55 -0700 message: Checking in new version of 'mysql-stress-test.pl that was used for the last few month from test-extra tree. Changes include improvements to error handling and are based on WL#4685 ------------------------------------------------------------ revno: 2555.546.29 committer: Georgi Kodinov branch nick: B45159-5.1-bugteam timestamp: Fri 2009-09-25 14:52:41 +0300 message: fixed a typo in valgrind.supp ------------------------------------------------------------ revno: 2555.546.28 committer: Georgi Kodinov branch nick: B45159-5.1-bugteam timestamp: Fri 2009-09-25 14:39:05 +0300 message: merge ------------------------------------------------------------ revno: 1810.3927.41 committer: Georgi Kodinov branch nick: B45159-5.0-bugteam timestamp: Fri 2009-09-11 15:52:08 +0300 message: Bug #45159 : some tests in suite "jp" fail in embedded server (use LOAD DATA) Initialize correctly client flags for the embedded client Test cases in jp updated to work correctly with embedded server. ------------------------------------------------------------ revno: 2555.546.27 committer: Georgi Kodinov branch nick: fix-5.1-bugteam timestamp: Fri 2009-09-25 11:57:14 +0300 message: added more valgrind suppressions for glibc 2.6.1 ------------------------------------------------------------ revno: 2555.546.26 committer: Georgi Kodinov branch nick: fix-5.1-bugteam timestamp: Thu 2009-09-24 18:29:00 +0300 message: More valgrind suppressions added for libc 2.6.1 64 bit ------------------------------------------------------------ revno: 2555.546.25 committer: Georgi Kodinov branch nick: fix-5.1-bugteam timestamp: Thu 2009-09-24 16:28:13 +0300 message: merged compilation warning fixes ------------------------------------------------------------ revno: 1810.3927.40 committer: Georgi Kodinov branch nick: fix-5.0-bugteam timestamp: Thu 2009-09-24 16:21:46 +0300 message: fixed compilation warnings ------------------------------------------------------------ revno: 2555.546.24 committer: Georgi Kodinov branch nick: fix-5.1-bugteam timestamp: Thu 2009-09-24 16:19:06 +0300 message: added suppressions for existing warnings in the result file. ------------------------------------------------------------ revno: 2555.546.23 committer: Staale Smedseng branch nick: 43414-51 timestamp: Wed 2009-09-23 15:21:29 +0200 message: Bug #43414 Parenthesis (and other) warnings compiling MySQL with gcc 4.3.2 Cleaning up warnings not present in 5.0. ------------------------------------------------------------ revno: 2555.546.22 committer: Alexander Nozdrin branch nick: 5.1-bugteam-bug47474 timestamp: Wed 2009-09-23 17:10:23 +0400 message: A patch for Bug#47474 (mysqld hits Dbug_violation_helper assert when compiled with Sun Studio compiler). The thing is that Sun Studio compiler calls destructor of stack objects when pthread_exit() is called. That triggered an assertion in DBUG_ENTER()/DBUG_RETURN() validation logic (if DBUG_ENTER() is used in the beginning of function, all returns should be replaced by DBUG_RETURN/DBUG_VOID_RETURN macros). A fix is to explicitly use DBUG_LEAVE macro. ------------------------------------------------------------ revno: 2555.546.21 committer: Satya B branch nick: mysql-5.1-bugteam-bug44030 timestamp: Wed 2009-09-23 17:45:56 +0530 message: merge to mysql-5.1-bugteam ------------------------------------------------------------ revno: 2555.568.1 committer: Davi Arnaut branch nick: 45498-5.1 timestamp: Tue 2009-09-22 08:22:07 -0300 message: Bug#45498: Socket variable not available on Windows The "socket" variable is not available on Windows even though the --socket option can be used to specify the pipe name for local connections that use a named pipe. The solution is to ensure that the variable is always defined. ------------------------------------------------------------ revno: 2555.546.20 committer: Satya B branch nick: mysql-5.1-bugteam-bug44030 timestamp: Wed 2009-09-23 17:42:12 +0530 message: Additional Fix for BUG#44030 - Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) With the fix for BUG#46760, we correctly flag the presence of row_type only when it's actually changed and enables the FAST ALTER TABLE which was disabled with the BUG#39200. So the changes made by BUG#46760 makes MySQL data dictionaries to be out of sync but they are handled already by InnoDB with this BUG#44030. The test was originally written to handle this but we requested Innodb to update the test as the data dictionaries were in sync after the fix for BUG#39200. Adjusting the innodb-autoinc testcase as mentioned in the comments. ------------------------------------------------------------ revno: 2555.546.19 committer: Georgi Kodinov branch nick: merge-5.1-bugteam timestamp: Wed 2009-09-23 14:11:48 +0300 message: automerge ------------------------------------------------------------ revno: 2555.566.3 committer: Sergey Glukhov branch nick: mysql-5.1-bugteam timestamp: Wed 2009-09-23 13:40:33 +0500 message: Bug#45989 memory leak after explain encounters an error in the query the fix is reverted from 5.1, mysql-pe as unnecessary(no valgrind warnings there). ------------------------------------------------------------ revno: 2555.546.18 committer: Georgi Kodinov branch nick: merge-5.1-bugteam timestamp: Wed 2009-09-23 11:31:18 +0300 message: automerge ------------------------------------------------------------ revno: 1810.3950.4 author: hery.ramilison@sun.com committer: MySQL Build Team branch nick: mysql-5.0 timestamp: Mon 2009-09-21 22:54:39 +0200 message: Merge from mysql-5.0.86-release ------------------------------------------------------------ revno: 1810.3952.1 tags: mysql-5.0.86 committer: hery branch nick: mysql-5.0.86-release timestamp: Wed 2009-09-09 20:52:17 +0200 message: change c++ comment to c comment ------------------------------------------------------------ revno: 2555.546.17 committer: Georgi Kodinov branch nick: merge-5.1-bugteam timestamp: Wed 2009-09-23 11:29:10 +0300 message: automerge ------------------------------------------------------------ revno: 2555.560.3 committer: Jonathan Perkin branch nick: mysql-5.1 timestamp: Mon 2009-09-21 12:10:32 +0200 message: Merge from mysql-5.1.39-release ------------------------------------------------------------ revno: 2555.546.16 committer: Georgi Kodinov branch nick: merge-5.1-bugteam timestamp: Wed 2009-09-23 11:27:12 +0300 message: automerge ------------------------------------------------------------ revno: 2555.566.2 committer: Anurag Shekhar branch nick: mysql-5.1-bugteam timestamp: Tue 2009-09-22 16:16:24 +0530 message: merged with local branch. ------------------------------------------------------------ revno: 2555.567.2 committer: Anurag Shekhar branch nick: mysql-5.1-bugteam-45840 timestamp: Fri 2009-09-18 16:55:36 +0530 message: merging with latest changes in bugteam. ------------------------------------------------------------ revno: 2555.567.1 committer: Anurag Shekhar branch nick: mysql-5.1-bugteam-45840 timestamp: Thu 2009-09-17 17:35:43 +0530 message: Bug #45840 read_buffer_size allocated for each partition when "insert into.. select * from" When inserting into a partitioned table using 'insert into select * from ', read_buffer_size bytes of memory are allocated for each partition in the target table. This resulted in large memory consumption when the number of partitions are high. This patch introduces a new method which tries to estimate the buffer size required for each partition and limits the maximum buffer size used to maximum of 10 * read_buffer_size, 11 * read_buffer_size in case of monotonic partition functions. ------------------------------------------------------------ revno: 2555.566.1 committer: Kristofer Pettersson branch nick: 51-bug35570 timestamp: Mon 2009-09-21 11:58:15 +0200 message: Fix for BUG#35570 "CHECKSUM TABLE unreliable if LINESTRING field (same content/ differen checksum)" The problem was that checksum of GEOMETRY type used memory addresses in the computation, making it un-repeatable thus useless. (This patch is a backport from 6.0 branch) ------------------------------------------------------------ revno: 2555.546.15 committer: Georgi Kodinov branch nick: merge-5.1-bugteam timestamp: Fri 2009-09-18 16:36:54 +0300 message: automerge ------------------------------------------------------------ revno: 1810.3927.39 committer: Georgi Kodinov branch nick: merge-5.0-bugteam timestamp: Fri 2009-09-18 16:33:07 +0300 message: automerge ------------------------------------------------------------ revno: 1810.3950.3 author: hery.ramilison@sun.com committer: MySQL Build Team branch nick: mysql-5.0 timestamp: Tue 2009-09-08 22:56:00 +0200 message: Raise version number after cloning 5.0.86 ------------------------------------------------------------ revno: 2555.546.14 committer: Georgi Kodinov branch nick: merge-5.1-bugteam timestamp: Fri 2009-09-18 16:35:40 +0300 message: automerge ------------------------------------------------------------ revno: 2555.560.2 committer: Bjorn Munch branch nick: main-51 timestamp: Thu 2009-09-03 19:07:35 +0200 message: merge from 5.1-mtr ------------------------------------------------------------ revno: 2555.437.64 committer: Bjorn Munch branch nick: merge-51 timestamp: Thu 2009-09-03 08:44:22 +0200 message: 3rd merge from main ------------------------------------------------------------ revno: 2555.437.63 committer: Bjorn Munch branch nick: merge-51 timestamp: Thu 2009-09-03 08:39:29 +0200 message: merge ------------------------------------------------------------ revno: 2555.565.1 committer: Bjorn Munch branch nick: append-51 timestamp: Thu 2009-09-03 08:19:54 +0200 message: Bug #47075 Wildcards in experimental test names destroyed when tested first time Extract substr into local variable ------------------------------------------------------------ revno: 2555.437.62 committer: Bjorn Munch branch nick: merge-51 timestamp: Thu 2009-09-03 08:38:06 +0200 message: A few suppression follow-ups ------------------------------------------------------------ revno: 2555.437.61 committer: Bjorn Munch branch nick: merge-51 timestamp: Wed 2009-09-02 23:29:11 +0200 message: second merge from main, with adaptions ------------------------------------------------------------ revno: 2555.437.60 committer: Bjorn Munch branch nick: merge-51 timestamp: Wed 2009-09-02 18:58:17 +0200 message: first merge from main ------------------------------------------------------------ revno: 2555.437.59 committer: Bjorn Munch branch nick: append-51 timestamp: Wed 2009-09-02 11:17:33 +0200 message: Bug #32296 mysqltest fails to parse "append_file" inside a "while", it works inside a "if" Bug #41913 mysqltest cannot source files from if inside while Some commands require additional processing which only works first time Keep content for write_file or append_file with the st_command struct Add tests for those cases to mysqltest.test ------------------------------------------------------------ revno: 2555.437.58 committer: Bjorn Munch branch nick: filelog-51 timestamp: Tue 2009-09-01 19:31:28 +0200 message: merge ------------------------------------------------------------ revno: 2555.564.1 committer: Bjorn Munch branch nick: difffil-51 timestamp: Wed 2009-08-19 13:48:56 +0200 message: Bug #39003 mtr's diff_files command failed in pushbuild without printing a result diff diff was actually called but result never outputted before exiting Added extra code to dump output *unless* failure was expected ------------------------------------------------------------ revno: 2555.437.57 committer: Bjorn Munch branch nick: filelog-51 timestamp: Tue 2009-09-01 13:38:17 +0200 message: 46996 workaruond ------------------------------------------------------------ revno: 2555.437.56 committer: Bjorn Munch branch nick: filelog-51 timestamp: Mon 2009-08-31 15:22:54 +0200 message: merge ------------------------------------------------------------ revno: 2555.563.1 committer: Bjorn Munch branch nick: xtract-51 timestamp: Fri 2009-08-28 15:02:48 +0200 message: Bug #46973 MTR: extract_warning_lines does not check it's extracting lines for current test Rewrote logic (first commit was incomplete, sorry) ------------------------------------------------------------ revno: 2555.437.55 committer: Bjorn Munch branch nick: filelog-51 timestamp: Mon 2009-08-31 09:24:59 +0200 message: forgot : in rpl's disabled.def ------------------------------------------------------------ revno: 2555.437.54 committer: Bjorn Munch branch nick: filelog-51 timestamp: Sun 2009-08-30 12:01:08 +0200 message: yet another 42408 followup ------------------------------------------------------------ revno: 2555.437.53 committer: Bjorn Munch branch nick: filelog-51 timestamp: Sat 2009-08-29 23:29:47 +0200 message: even more suppression fixes ------------------------------------------------------------ revno: 2555.437.52 committer: Bjorn Munch branch nick: filelog-51 timestamp: Sat 2009-08-29 10:30:59 +0200 message: A few more suppression fixes after 42408 ------------------------------------------------------------ revno: 2555.437.51 committer: Bjorn Munch branch nick: filelog-51 timestamp: Fri 2009-08-28 16:13:27 +0200 message: Bug #42408 Faulty regex for detecting [Warning] and [ERROR] in mysqld error log Some follow-up test fixes after seeing effect in PB2 ------------------------------------------------------------ revno: 2555.437.50 committer: Bjorn Munch branch nick: filelog-51 timestamp: Thu 2009-08-27 15:17:09 +0200 message: Bug #46322 Sporadic timeout in mysql_upgrade.test Apparently caused by logging to table Turn on logging to file only, add to .opt file for tests needing log to table ------------------------------------------------------------ revno: 2555.437.49 committer: Bjorn Munch branch nick: warn-51 timestamp: Thu 2009-08-27 12:34:07 +0200 message: Bug #46164 memory leak in mysqltest after parse error with --debug Moved some dynstr_free() further up ------------------------------------------------------------ revno: 2555.562.1 committer: Bjorn Munch branch nick: dswarn-51 timestamp: Tue 2009-08-18 15:26:17 +0200 message: Bug #46164 memory leak in mysqltest after parse error with --debug Moved some dynstr_free() further up ------------------------------------------------------------ revno: 2555.437.48 committer: Bjorn Munch branch nick: warn-51 timestamp: Tue 2009-08-25 15:56:50 +0200 message: Bug #42408 Faulty regex for detecting [Warning] and [ERROR] in mysqld error log Enabled proper pattern for Warnings and ERRORs Added some suppressions ------------------------------------------------------------ revno: 2555.437.47 committer: Bjorn Munch branch nick: start-51 timestamp: Tue 2009-08-18 09:40:20 +0200 message: merge ------------------------------------------------------------ revno: 2555.561.1 committer: Bjorn Munch branch nick: testneeds-51 timestamp: Mon 2009-08-17 11:21:02 +0200 message: Bug #46755 Wrong grammar in some skip messages: Test need instead of Test needs Fixed in two comments as well ------------------------------------------------------------ revno: 2555.437.46 committer: Bjorn Munch branch nick: start-51 timestamp: Tue 2009-08-18 09:38:18 +0200 message: Bug #44222 mysql-test-run --start analyses which tests it would skip. This is redundant. Quicker test collection and better output with --start[-dirty] ------------------------------------------------------------ revno: 2555.437.45 committer: Bjorn Munch branch nick: platfexp-51 timestamp: Thu 2009-08-13 15:29:19 +0200 message: Bug #44979 Enhance MTR --experimental to support platform qualifier Adding @ syntax ------------------------------------------------------------ revno: 2555.437.44 committer: Bjorn Munch branch nick: empty-51 timestamp: Tue 2009-08-11 23:41:44 +0200 message: Bug #44012 mtr: test cases that are not supposed to return output always fail Output would match an empty result file but we don't check Allow empty output IFF there is an empty result file. ------------------------------------------------------------ revno: 2555.437.43 committer: Bjorn Munch branch nick: gdbtime-51 timestamp: Tue 2009-08-11 15:59:05 +0200 message: Bug #45847 make --gdb disable all the timeouts by default Set to one week for testcase and suite timeout Also set one day timeout for PID file creation (not currently needed in 5.1 but might become, and is needed in azalea) ------------------------------------------------------------ revno: 2555.437.42 committer: Bjorn Munch branch nick: extinno-51 timestamp: Tue 2009-08-11 12:59:43 +0200 message: Bug #44479 mysql-test-run does not detect that external server has Innodb support Variable name mismatch Map variable have_innodb=YES to innodb=ON ------------------------------------------------------------ revno: 2555.437.41 committer: Bjorn Munch branch nick: aixsock-51 timestamp: Thu 2009-08-06 09:30:53 +0200 message: Bug #45771 AIX and i5/OS Perl bug: check_socket_path_length in MTR fails Bug in Perl Scrap attempt to do this smartly on AIX, just drop the test and assume it's OK This commit undoes the previous push and adds a line to ignore on AIX ------------------------------------------------------------ revno: 2555.437.40 committer: Bjorn Munch branch nick: aixsock-51 timestamp: Wed 2009-08-05 09:41:40 +0200 message: Bug #45771 AIX and i5/OS Perl bug: check_socket_path_length in MTR fails Bug is actually in Perl Fixed by trapping and ignoring error from IO::Socket::UNIX ------------------------------------------------------------ revno: 2555.437.39 committer: Bjorn Munch branch nick: incomp-51 timestamp: Fri 2009-07-31 11:22:57 +0200 message: Bug #45698 MTR_VERSION=1 ./mtr --force does not work Small amendment to original fix, as it did not work in azalea Need to handle combinations, would eventually break in 5.1 too ------------------------------------------------------------ revno: 2555.437.38 committer: Bjorn Munch branch nick: nocore-51 timestamp: Thu 2009-07-23 19:01:24 +0200 message: Bug #46212 safe_process: FATAL ERROR, Unknown option: --nocore Also fixed mysqld.cc to avoid popup-boxes ------------------------------------------------------------ revno: 2555.437.37 committer: Bjorn Munch branch nick: innov1-51 timestamp: Fri 2009-07-17 10:41:04 +0200 message: Bug #45700 MTR v1 --start-and-exit --default-storage-engine=Innodb is froken Change of variable states in Bug 19027 was not backported to v1 Changed ne "TRUE" to eq "OFF" ------------------------------------------------------------ revno: 2555.437.36 committer: Bjorn Munch branch nick: allv1-51 timestamp: Thu 2009-07-16 14:05:46 +0200 message: Bug #45698 MTR_VERSION=1 ./mtr --force does not work General problem: some test cannot run in V1, expect more in future Implement general mechanism for listing incompatible tests ------------------------------------------------------------ revno: 2555.437.35 committer: Bjorn Munch branch nick: initconn-51 timestamp: Wed 2009-07-15 14:20:56 +0200 message: Bug #43005 main.init_connect fais on Windows in PB2 Server args containing spaces do not work on Windows Fixed my_safe_rprocess-win to re-apply "" around such args ------------------------------------------------------------ revno: 2555.437.34 committer: Bjorn Munch branch nick: deprec-51 timestamp: Mon 2009-06-22 16:29:02 +0200 message: Bug #45532 MTR displays wrong option name 'print_testcases' in usage text Fix the name.... ------------------------------------------------------------ revno: 2555.437.33 committer: Bjorn Munch branch nick: deprec-51 timestamp: Mon 2009-06-22 16:27:05 +0200 message: Bug #43780 mysql-test-run uses deprecated server options Updated to use general_log[_file] and slow_query_log[_file] ------------------------------------------------------------ revno: 2555.437.32 committer: Bjorn Munch branch nick: plugin-51 timestamp: Tue 2009-06-16 15:26:17 +0200 message: Bug #45298 plugin.test is skipped in PB2 on UNIX platforms Added search for example plugin in lib/mysql/plugin ------------------------------------------------------------ revno: 2555.560.1 committer: Jonathan Perkin branch nick: mysql-5.1 timestamp: Thu 2009-09-03 18:20:43 +0200 message: Raise version number after cloning 5.1.39 ------------------------------------------------------------ revno: 2555.546.13 committer: Georgi Kodinov branch nick: B46917-5.1-bugteam timestamp: Fri 2009-09-18 16:19:58 +0300 message: automerge ------------------------------------------------------------ revno: 1810.3927.38 committer: Georgi Kodinov branch nick: B46917-5.0-bugteam timestamp: Thu 2009-09-17 14:25:07 +0300 message: Bug #46917: mysqd-nt installs wrong When parsing the service installation parameter in default_service_handling() make sure the value of the optional parameter doesn't overwrite it's name. ------------------------------------------------------------ revno: 2555.546.12 committer: Georgi Kodinov branch nick: B46760-new-5.1-bugteam timestamp: Fri 2009-09-18 16:01:18 +0300 message: Bug#46760: Fast ALTER TABLE no longer works for InnoDB Despite copying the value of the old table's row type we don't always have to mark row type as being specified. Innodb uses this to check if it can do fast ALTER TABLE or not. Fixed by correctly flagging the presence of row_type only when it's actually changed. Added a test case for 39200. ------------------------------------------------------------ revno: 2555.546.11 committer: branch nick: mysql-5.1-bugteam timestamp: Fri 2009-09-18 16:20:29 +0800 message: Bug #42914 Log event that larger than max_allowed_packet results in stop of slave I/O thread, But there is no Last_IO_Error reported. On the master, if a binary log event is larger than max_allowed_packet, ER_MASTER_FATAL_ERROR_READING_BINLOG and the specific reason of this error is sent to a slave when it requests a dump from the master, thus leading the I/O thread to stop. On a slave, the I/O thread stops when receiving a packet larger than max_allowed_packet. In both cases, however, there was no Last_IO_Error reported. This patch adds code to report the Last_IO_Error and exact reason before stopping the I/O thread and also reports the case the out memory pops up while handling packets from the master. ------------------------------------------------------------ revno: 2555.546.10 committer: Alexey Kopytov branch nick: mysql-5.1-bugteam timestamp: Fri 2009-09-18 11:54:38 +0400 message: Automerge. ------------------------------------------------------------ revno: 2555.550.4 committer: Alexey Kopytov branch nick: my51-bug43606 timestamp: Fri 2009-09-18 11:19:02 +0400 message: Bug #43606: 4GB Limit on huge_pages shared memory set-up Large pages allocator could not allocate more than 4 GB due to incorrect size alignment. ------------------------------------------------------------ revno: 2555.546.9 committer: Staale Smedseng branch nick: 43414-51 timestamp: Thu 2009-09-17 17:25:52 +0200 message: Merge from 5.0 ------------------------------------------------------------ revno: 1810.3927.37 committer: Staale Smedseng branch nick: 43414-50 timestamp: Thu 2009-09-17 17:10:30 +0200 message: Bug #43414 Parenthesis (and other) warnings compiling MySQL with gcc 4.3.2 This is the fifth patch cleaning up more GCC warnings about variables used before initialized using the new macro UNINIT_VAR(). ------------------------------------------------------------ revno: 1810.3927.36 committer: Ingo Struewing branch nick: mysql-5.0-bug17332-7 timestamp: Wed 2009-09-16 12:07:57 +0200 message: Pull from mysql-5.0-bugteam ------------------------------------------------------------ revno: 2555.546.8 committer: Sergey Glukhov branch nick: mysql-5.1-bugteam timestamp: Thu 2009-09-17 16:33:23 +0500 message: Bug#42364 SHOW ERRORS returns empty resultset after dropping non existent table additional backport of of bug43138 fix ------------------------------------------------------------ revno: 2555.546.7 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Thu 2009-09-17 11:59:43 +0530 message: Applying InnoDB snapshot 5.1-ss5282, Fixes BUG#44030 1. Fixes BUG#44030 - Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) 2. Disables the innodb-autoinc test for innodb plugin temporarily. The testcase for this bug has different result file for InnoDB plugin. Should add the testcase to Innodb suite with a different result file. Detailed revision comments: r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before the bug fix we would assert on missing autoinc columns. With this fix we allow MySQL to open the table but set the next autoinc value for the column to the MAX value. This effectively disables the next value generation. INSERTs will fail with a generic AUTOINC failure. However, the user should be able to read/dump the table, set the column values explicitly, use ALTER TABLE to set the next autoinc value and/or sync the two data dictionaries to resume normal operations. Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the index (PRIMARY) rb://118 r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines branches/5.1: The version of the result file checked in was broken in r5243. r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines branches/5.1: Remove the word "Error" from the printout because the mysqltest suite interprets it as an error and thus the innodb-autoinc test fails. Approved by: Sunny (via IM) r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines branches/5.1: Adjust the failing innodb-autoinc test to conform to the latest behavior of the MySQL code. The idea and the comment in innodb-autoinc.test come from Sunny. ------------------------------------------------------------ revno: 2555.546.6 committer: Ingo Struewing branch nick: mysql-5.1-bug17332-7 timestamp: Wed 2009-09-16 09:01:28 +0200 message: auto-merge ------------------------------------------------------------ revno: 2555.550.3 committer: Kristofer Pettersson branch nick: mysql-5.1-bugteam timestamp: Tue 2009-09-15 09:34:30 +0200 message: autocommit ------------------------------------------------------------ revno: 2555.559.1 committer: Kristofer Pettersson branch nick: 51-bug46486 timestamp: Fri 2009-09-04 12:32:21 +0200 message: Bug#46486 warnings produced when running mysql_install_db Incremental patch part 2 Removing dead code and changing a note level message to a warning. ------------------------------------------------------------ revno: 2555.550.2 committer: Kristofer Pettersson branch nick: mysql-5.1-bugteam timestamp: Tue 2009-09-15 09:33:25 +0200 message: autocommit ------------------------------------------------------------ revno: 2555.552.16 committer: Luis Soares branch nick: mysql-5.1-bugteam timestamp: Sun 2009-09-13 22:43:47 +0100 message: BUG#47016: rpl_do_grant fails on PB-2 with a failing connect The test case rpl_do_grant fails sporadically on PB2 with "Access denied for user 'create_rout_db'@'localhost' ...". Inspecting the test case, one may find that if issues a GRANT on the master connection and immediately after it creates two new connections (one to the master and one to the slave) using the credentials set with the GRANT. Unfortunately, there is no synchronization between master and slave after the grant and before the connections are established. This can result in slave not having executed the GRANT by the time the connection is attempted. This patch fixes this by deploying a sync_slave_with_master between the grant and the connections attempt. ------------------------------------------------------------ revno: 2555.552.15 committer: Luis Soares branch nick: mysql-5.1-bugteam timestamp: Sun 2009-09-13 21:52:14 +0100 message: BUG#47014: rpl_drop_temp fails on PB-2 with results mismatch The test case creates two temporary tables, then closes the connection, waits for it to disconnect, then syncs the slave with the master, checks for remaining opened temporary tables on slave (which should be 0) and finally drops the used database (mysqltest). Unfortunately, sometimes, the test fails with one open table on the slave. This seems to be caused by the fact that waiting for the connection to be closed is not sufficient. The test needs to wait for the DROP event to be logged and only then synchronize the slave with the master and proceed with the check. This is caused by the asynchronous nature of the disconnect wrt binlogging of the DROP temporary table statement. We fix this by deploying a call to wait_for_binlog_event.inc on the test case, which makes execution to wait for the DROP temp tables event before synchronizing master and slave. ------------------------------------------------------------ revno: 2555.552.14 committer: Mattias Jonsson branch nick: topush-51-bugteam timestamp: Sat 2009-09-12 00:40:23 +0200 message: merge ------------------------------------------------------------ revno: 2555.558.1 committer: Mattias Jonsson branch nick: b35845-51-bugteam_backport timestamp: Fri 2009-09-04 15:02:15 +0200 message: Bug#35845: unneccesary call to ha_start_bulk_insert for not used partitions (Backport) Problem is that when insert (ha_start_bulk_insert) in i partitioned table, it will call ha_start_bulk_insert for every partition, used or not. Solution is to delay the call to the partitions ha_start_bulk_insert until the first row is to be inserted into that partition ------------------------------------------------------------ revno: 2555.552.13 committer: Ramil Kalimullin branch nick: b47130-5.1-bugteam timestamp: Fri 2009-09-11 22:06:27 +0500 message: Fix for bug#47130: misplaced or redundant check for null pointer? Problem: LOGGER::general_log_write() relied on valid "thd" parameter passed but had inconsistent "if (thd)" check. Fix: as we always pass a valid "thd" parameter to the method, redundant check removed. ------------------------------------------------------------ revno: 2555.552.12 committer: Alexander Nozdrin branch nick: 5.1-bugteam timestamp: Thu 2009-09-10 16:18:54 +0400 message: Add DBUG_VIOLATION_HELPER_LEAVE definition to non-debug build. ------------------------------------------------------------ revno: 2555.552.11 committer: Sergey Glukhov branch nick: mysql-5.1-bugteam timestamp: Thu 2009-09-10 15:30:03 +0500 message: 5.0-bugteam->5.1-bugteam merge ------------------------------------------------------------ revno: 1810.3951.3 committer: Sergey Glukhov branch nick: mysql-5.0-bugteam timestamp: Thu 2009-09-10 15:24:07 +0500 message: Bug#46815 CONCAT_WS returning wrong data The problem is that argument buffer can be used as result buffer and it leads to argument value change. The fix is to use 'old buffer' as result buffer only if first argument is not constant item. ------------------------------------------------------------ revno: 2555.552.10 committer: branch nick: mysql-5.1-bugteam timestamp: Thu 2009-09-10 18:05:53 +0800 message: BUG#45999 Row based replication fails when auto_increment field = 0 In RBR, There is an inconsistency between slaves and master. When INSERT statement which includes an auto_increment field is executed, Store engine of master will check the value of the auto_increment field. It will generate a sequence number and then replace the value, if its value is NULL or empty. if the field's value is 0, the store engine will do like encountering the NULL values unless NO_AUTO_VALUE_ON_ZERO is set into SQL_MODE. In contrast, if the field's value is 0, Store engine of slave always generates a new sequence number whether or not NO_AUTO_VALUE_ON_ZERO is set into SQL_MODE. SQL MODE of slave sql thread is always consistency with master's. Another variable is related to this bug. If generateing a sequence number is decided by the values of table->auto_increment_field_not_null and SQL_MODE(if includes MODE_NO_AUTO_VALUE_ON_ZERO) The table->auto_increment_is_not_null is FALSE, which causes this bug to appear. .. ------------------------------------------------------------ revno: 2555.552.9 committer: Sergey Glukhov branch nick: mysql-5.1-bugteam timestamp: Thu 2009-09-10 13:49:49 +0500 message: Bug#42364 SHOW ERRORS returns empty resultset after dropping non existent table partial backport of bug43138 fix ------------------------------------------------------------ revno: 2555.552.8 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam-push timestamp: Thu 2009-09-10 13:38:59 +0500 message: Merge 5.1-bugteam -> 5.1-bugteam-local. ------------------------------------------------------------ revno: 2555.557.1 committer: Alexander Nozdrin branch nick: 5.1-bugteam-bug45118 timestamp: Thu 2009-09-10 11:40:57 +0400 message: A patch for Bug#45118 (mysqld.exe crashed in debug mode on Windows in dbug.c) -- part 2: a patch for the DBUG subsystem to detect misuse of DBUG_ENTER / DBUG_RETURN macros. 5.1 version. ------------------------------------------------------------ revno: 2555.552.7 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam-push timestamp: Thu 2009-09-10 11:58:13 +0500 message: Local merge. ------------------------------------------------------------ revno: 2555.556.1 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam-bug46961 timestamp: Fri 2009-09-04 12:29:18 +0500 message: BUG#46961 - archive engine loses rows during self joining select! SELECT with join (not only self-join) from archive table may return incomplete result set, when result set size exceeds join buffer size. The problem was that archive row counter was initialzed too early, when ha_archive::info() method was called. Later, when optimizer exceeds join buffer, it attempts to reuse handler without calling ha_archive::info() again (which is correct). Fixed by moving row counter initialization from ha_archive::info() to ha_archive::rnd_init(). ------------------------------------------------------------ revno: 2555.552.6 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam-push timestamp: Thu 2009-09-10 11:54:26 +0500 message: Local merge. ------------------------------------------------------------ revno: 2555.555.1 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam-bug46483 timestamp: Wed 2009-09-02 16:19:28 +0500 message: BUG#46483 - drop table of partitioned table may leave extraneous file Online/fast ALTER TABLE of a partitioned table may leave temporary file in database directory. Fixed by removing unnecessary call to handler::ha_create_handler_files(), which was creating partitioning definition file. ------------------------------------------------------------ revno: 2555.552.5 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam-push timestamp: Thu 2009-09-10 11:53:35 +0500 message: Local merge. ------------------------------------------------------------ revno: 2555.554.1 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam-bug45638 timestamp: Wed 2009-09-09 14:38:50 +0500 message: BUG#45638 - Create temporary table with engine innodb fails Create temporary InnoDB table fails on case insensitive filesystems, when lower_case_table_names is 2 (e.g. OS X) and temporary directory path contains upper case letters. The problem was that tmpdir prefix was converted to lower case when table was created, but was passed as is when table was opened. Fixed by leaving tmpdir prefix part intact. ------------------------------------------------------------ revno: 2555.552.4 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam-push timestamp: Thu 2009-09-10 11:52:57 +0500 message: Local merge. ------------------------------------------------------------ revno: 2555.553.1 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam-bug29203 timestamp: Wed 2009-09-09 14:42:12 +0500 message: BUG#29203 - archive tables have weird values in show table status Archive engine returns wrong values for average record length and max data length. With this fix they're calculated as following: - max data length is 2 ^ 63 where large files are supported and INT_MAX32 where this is not supported; - average record length is data length / records in data file. ------------------------------------------------------------ revno: 2555.552.3 committer: Georgi Kodinov branch nick: B45159-5.1-bugteam timestamp: Wed 2009-09-09 16:49:33 +0300 message: null merge of the 5.0 test cleanup ------------------------------------------------------------ revno: 1810.3951.2 committer: Georgi Kodinov branch nick: B45159-5.0-bugteam timestamp: Wed 2009-09-09 12:06:15 +0300 message: Bug #45159 Part 1 : rejuvenate the jp test suite using normal run. Updates the results of all the out-dated test suites and adds the special mysqltest command to enable innodb for the tests that need it. ------------------------------------------------------------ revno: 2555.552.2 committer: Georgi Kodinov branch nick: B46791-5.1-bugteam timestamp: Tue 2009-09-08 12:37:09 +0300 message: automerge ------------------------------------------------------------ revno: 1810.3951.1 committer: Georgi Kodinov branch nick: B46791-5.0-bugteam timestamp: Thu 2009-09-03 18:03:46 +0300 message: Bug #46791: Assertion failed:(table->key_read==0),function unknown function,file sql_base.cc When uncacheable queries are written to a temp table the optimizer must preserve the original JOIN structure, because it is re-using the JOIN structure to read from the resulting temporary table. This was done only for uncacheable sub-queries. But top level queries can also benefit from this mechanism, specially if they're using index access and need a reset. Fixed by not limiting the saving of JOIN structure to subqueries exclusively. Added a new test file to extend the existing (large) subquery.test. ------------------------------------------------------------ revno: 2555.552.1 committer: Alexey Kopytov branch nick: mysql-5.1-bugteam timestamp: Tue 2009-09-08 12:36:40 +0400 message: Automerge. ------------------------------------------------------------ revno: 2555.551.1 committer: Alexey Kopytov branch nick: my51-bug46159 timestamp: Sun 2009-09-06 00:42:17 +0400 message: Bug #46159: simple query that never returns The external 'for' loop in remove_dup_with_compare() handled HA_ERR_RECORD_DELETED by just starting over without advancing to the next record which caused an infinite loop. This condition could be triggered on certain data by a SELECT query containing DISTINCT, GROUP BY and HAVING clauses. Fixed remove_dup_with_compare() so that we always advance to the next record when receiving HA_ERR_RECORD_DELETED from rnd_next(). ------------------------------------------------------------ revno: 2555.550.1 committer: Kristofer Pettersson branch nick: 51-bug46486 timestamp: Thu 2009-09-03 12:08:55 +0200 message: Bug#46486 warnings produced when running mysql_install_db During start up some plugins are disabled by default. This caused an additional warning level message to be emitted as a result of a previous bug patch. Since there is risk of unnecessary confusion regarding the operation level of the server the redundant information is removed. ------------------------------------------------------------ revno: 2555.546.5 committer: Ingo Struewing branch nick: mysql-5.1-bug17332-7 timestamp: Wed 2009-09-09 17:13:13 +0200 message: Bug#17332 - changing key_buffer_size on a running server can crash under load Merge from 5.0, after backport from 5.1/5.4 to 5.0. This makes the fixes for Bug 44068 (RESTORE can disable the MyISAM Key Cache) Bug 40944 (Backup: crash after myisampack) available to 5.1. ------------------------------------------------------------ revno: 1810.3927.35 committer: Ingo Struewing branch nick: mysql-5.0-bug17332-7 timestamp: Mon 2009-09-07 18:35:37 +0200 message: Bug#17332 - changing key_buffer_size on a running server can crash under load Backport from 5.1. Does also include key cache fixes from: Bug 44068 (RESTORE can disable the MyISAM Key Cache) Bug 40944 (Backup: crash after myisampack) ------------------------------------------------------------ revno: 2555.546.4 committer: Martin Hansson branch nick: 5.1bt timestamp: Mon 2009-09-07 16:52:47 +0200 message: Bug#46259: Merge ------------------------------------------------------------ revno: 2555.549.1 committer: Martin Hansson branch nick: 5.1bt-gca timestamp: Mon 2009-09-07 11:57:22 +0200 message: Bug#46259: 5.0.83 -> 5.1.36, query doesn't work The parser rule for expressions in a udf parameter list contains two hacks: First, the parser input stream is read verbatim, bypassing the lexer. Second, the Item::name field is overwritten. If the argument to a udf was a field, the field's name as seen by name resolution was overwritten this way. If the field name was quoted or escaped, it would appear as e.g. "`field`". Fixed by not overwriting field names. ------------------------------------------------------------ revno: 2555.546.3 committer: Mikael Ronstrom branch nick: mysql-5.1-bugteam-bug47029 timestamp: Mon 2009-09-07 12:22:57 +0200 message: Automerge ------------------------------------------------------------ revno: 2555.547.11 committer: branch nick: mysql-5.1-bugteam timestamp: Mon 2009-09-07 13:42:54 +0800 message: Bug#46010 main.ctype_gbk_binlog fails sporadically : Table 't2' already exists This test case uses mysqlbinlog to dump the content of master-bin.000001, but the content of master-bin.000001 is not that this test needs. MTR runs a lot of test cases on one server, so when this test starts, the current binlog file might not be master-bin.000001, or there are other events are written by tests before. 'RESET MASTER' command must be called at the begin, it ensures that binlog of this test is wrote to master-bin.000001 correctly. Three other tests have the same problem, They were fixed together. mysqlbinlog-cp932 binlog_incident binlog_tmp_table ------------------------------------------------------------ revno: 2555.547.10 committer: branch nick: mysql-5.1-bugteam timestamp: Mon 2009-09-07 13:01:03 +0800 message: Bug#45581 Test rpl_row_sp006_InnoDB fails randomly: Unknown database 'mysqltest1' Postfix. extra/rpl_tests/rpl_row_sp006.test had changed to fix this bug. extra/rpl_tests/rpl_row_sp006.test is also referenced by rpl_ndb_sp006, So rpl_row_sp006.result must be changed too. ------------------------------------------------------------ revno: 2555.547.9 committer: Davi Arnaut branch nick: mysql-5.1-bugteam timestamp: Fri 2009-09-04 17:02:17 -0300 message: Bug#45605: ps_not_windows.test fails: The plugin feature is disabled, you need HAVE_DLOPEN Selectively skip tests that require dynamic loading (ie: static builds). ------------------------------------------------------------ revno: 2555.547.8 committer: Ramil Kalimullin branch nick: mysql-5.1-bugteam timestamp: Fri 2009-09-04 21:37:40 +0500 message: Automerge ------------------------------------------------------------ revno: 2555.548.1 committer: Ramil Kalimullin branch nick: b46629-5.1-bugteam timestamp: Fri 2009-09-04 13:14:54 +0500 message: Fix for bug#46629: Item_in_subselect::val_int(): Assertion `0' on subquery inside a SP Problem: repeated call of a SP containing an incorrect query with a subselect may lead to failed ASSERT(). Fix: set proper sublelect's state in case of error occured during subquery transformation. ------------------------------------------------------------ revno: 2555.547.7 committer: Sergey Glukhov branch nick: mysql-5.1-bugteam timestamp: Fri 2009-09-04 12:39:56 +0500 message: 5.0-bugteam->5.1-bugteam merge ------------------------------------------------------------ revno: 1810.3927.34 committer: Sergey Glukhov branch nick: mysql-5.0-bugteam timestamp: Fri 2009-09-04 12:20:53 +0500 message: Bug#45989 memory leak after explain encounters an error in the query Memory allocated in TMP_TABLE_PARAM::copy_field is not cleaned up. The fix is to clean up TMP_TABLE_PARAM::copy_field array in JOIN::destroy. ------------------------------------------------------------ revno: 2555.547.6 committer: Satya B branch nick: mysql-5.1-bugteam-46384 timestamp: Fri 2009-09-04 12:27:10 +0530 message: merge mysql-5.0-bugteam to mysql-5.1-bugteam ------------------------------------------------------------ revno: 1810.3927.33 committer: Satya B branch nick: mysql-5.0-bugteam-46384 timestamp: Fri 2009-09-04 12:21:54 +0530 message: Fix for BUG#46384 - mysqld segfault when trying to create table with same name as existing view When trying to create a table with the same name as existing view with join, mysql server crashes. The problem is when create table is issued with the same name as view, while verifying with the existing tables, we assume that base table object is created always. In this case, since it is a view over multiple tables, we don't have the mysql derived table object. Fixed the logic which checks if there is an existing table to not to assume that table object is created when the base table is view over multiple tables. ------------------------------------------------------------ revno: 2555.547.5 committer: Satya B branch nick: mysql-5.1-bugtea-46591 timestamp: Fri 2009-09-04 11:24:16 +0530 message: NULL merge the additional fix for BUG#46591 from mysql-5.0-bugteam to mysql-5.1-bugteam ------------------------------------------------------------ revno: 1810.3927.32 committer: Satya B branch nick: mysql-5.0-bugteam-46591 timestamp: Fri 2009-09-04 11:19:44 +0530 message: Addition to Fix for BUG#46591 - .frm file isn't sync'd with sync_frm enabled for CREATE TABLE...LIKE... Add my_sync.c to mysqltest sources list in CMakeLists.txt ------------------------------------------------------------ revno: 2555.547.4 committer: V Narayanan branch nick: mysql-5.1-bugteam-45823-04 timestamp: Fri 2009-09-04 09:27:11 +0530 message: Bug#45823 Assertion failure in file row/row0mysql.c line 1386 Inserting a negative value in the autoincrement column of a partitioned innodb table was causing the value of the auto increment counter to wrap around into a very large positive value. The consequences are the same as if a very large positive value was inserted into a column, e.g. reduced autoincrement range, failure to read autoincrement counter. The current patch ensures that before calculating the next auto increment value, the current value is within the positive maximum allowed limit. ------------------------------------------------------------ revno: 2555.547.3 committer: branch nick: mysql-5.1-bugteam timestamp: Fri 2009-09-04 09:33:45 +0800 message: BUG#45581 Test rpl_row_sp006_InnoDB fails randomly: Unknown database 'mysqltest1' Essentially, Bug#45574 results in this bug. The 'CREATE DATABASE IF NOT EXISTS' statement was not binlogged, when the database has existed. Sometimes, the master and slaves become inconsistent. The "CREATE DATABASE IF NOT EXISTS mysqltest1" statement is not binlogged if the db 'mysqltest1' existed before the test case is executed. So the db 'mysqltest1' can't be created on slave. Patch of Bug#45574 has resolved this problem. But I think it is better to replace 'mysqltest1' by default db 'test'. ------------------------------------------------------------ revno: 2555.547.2 committer: Satya B branch nick: mysql-5.1-bugteam-33785 timestamp: Thu 2009-09-03 23:54:38 +0530 message: merge mysql-5.0-bugteam to mysql-5.1-bugteam ------------------------------------------------------------ revno: 1810.3927.31 committer: Satya B branch nick: mysql-5.0-bugteam-33785 timestamp: Thu 2009-09-03 23:34:42 +0530 message: Fix for Bug#33785 - myisamchk show warning message myisamchk tool generates warnings when run on an myisam files (.MYI or .MYD) This is because of the conversion of max_value for certain options in myisamchk from singed long to unsigned long The max value for the options key_buffer_size, read_buffer_size, write_buffer _size and sort_buffer_size is given as (long) ~0L which becomes -1 when casted from signed long to longlong and then casted to ulonglong. When (ulonglong) -1 is compared with maximal value for GET_ULONG data type, we adjust it to (ulonglong) ULONG_MAX and throw the warning. Fixed by using the right max size. Max values for the variables (from mysqld.cc) ---------------------------- 1. key_buffer_size 5.0: ULONG_MAX 5.1: SIZE_T_MAX 6.0: SIZE_T_MAX 2. read_buffer_size and write_buffer_size 5.0: INT_MAX32 5.1: INT_MAX32 6.0: INT_MAX32 3. sort_buffer_size (aka myisam_sort_buffer_size) 5.0: UINT_MAX32 5.1: ULONG_MAX 6.0: ULONG_MAX Note: testcase not attached ------------------------------------------------------------ revno: 2555.547.1 committer: Satya B branch nick: mysql-5.1-bugtea-46591 timestamp: Thu 2009-09-03 17:59:25 +0530 message: merge mysql-5.0-bugteam to mysql-5.1-bugteam ------------------------------------------------------------ revno: 1810.3927.30 committer: Satya B branch nick: mysql-5.0-bugteam-46591 timestamp: Thu 2009-09-03 16:02:03 +0530 message: Fix for BUG#46591 - .frm file isn't sync'd with sync_frm enabled for CREATE TABLE...LIKE... The mysql server option 'sync_frm' is ignored when table is created with syntax CREATE TABLE .. LIKE.. Fixed by adding the MY_SYNC flag and calling my_sync() from my_copy() when the flag is set. In mysql_create_table(), when the 'sync_frm' is set, MY_SYNC flag is passed to my_copy(). Note: TestCase is not attached and can be tested manually using debugger. ------------------------------------------------------------ revno: 2555.546.2 committer: Mikael Ronstrom branch nick: mysql-5.1-bugteam-bug47029 timestamp: Mon 2009-09-07 10:37:54 +0200 message: Fix to ensure that all subpartitions gets deleted before renaming starts, BUG#47029 ------------------------------------------------------------ revno: 2555.546.1 committer: Georgi Kodinov branch nick: merge-vg-5.1-bugteam timestamp: Wed 2009-09-02 19:42:46 +0300 message: back to -bugteam ------------------------------------------------------------ revno: 3062 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Wed 2009-12-16 22:12:10 +0100 message: merge 62 to 63 ------------------------------------------------------------ revno: 2572.70.41 committer: Jonas Oreland branch nick: telco-6.2 timestamp: Wed 2009-12-16 22:01:21 +0100 message: ndb - fix result file missed in andrei's push ------------------------------------------------------------ revno: 2572.70.40 committer: Andrei Elkin branch nick: mysql-5.1-telco-6.2 timestamp: Wed 2009-12-16 21:10:09 +0200 message: merge with the main 6.2 ------------------------------------------------------------ revno: 2572.73.4 committer: Martin Skold branch nick: mysql-5.1-telco-6.2 timestamp: Tue 2009-12-15 23:36:06 +0100 message: Merge ------------------------------------------------------------ revno: 2572.72.3 committer: Magnus Bl?udd branch nick: mysql-5.1-telco-6.2 timestamp: Tue 2009-12-15 17:31:12 +0100 message: Merge ------------------------------------------------------------ revno: 2572.77.1 committer: Magnus Bl?udd branch nick: mysql-5.1-telco-6.2 timestamp: Tue 2009-12-15 17:03:28 +0100 message: Merge ------------------------------------------------------------ revno: 2572.76.1 committer: Magnus Bl?udd branch nick: mysql-5.1-telco-6.2 timestamp: Tue 2009-12-15 16:44:45 +0100 message: Merge ------------------------------------------------------------ revno: 2572.75.1 committer: Magnus Bl?udd branch nick: mysql-5.1-telco-6.2 timestamp: Tue 2009-12-15 15:56:19 +0100 message: Merge ------------------------------------------------------------ revno: 3061 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Wed 2009-12-16 21:55:36 +0100 message: ndb - fix initialization of mutex in file-scope, affecting windows and other badly ------------------------------------------------------------ revno: 3060 committer: Andrei Elkin branch nick: mysql-5.1-telco-6.3 timestamp: Wed 2009-12-16 21:08:01 +0200 message: merge with the main 6.3 ------------------------------------------------------------ revno: 3049.1.154 committer: mysqldev branch nick: mysql-5.1-telco-6.3 timestamp: Wed 2009-12-16 19:49:49 +0100 message: ndb - pushback 6.3.30 ------------------------------------------------------------ revno: 3049.22.1 committer: mysqldev branch nick: mysql-5.1.39-ndb-6.3.30 timestamp: Wed 2009-12-16 19:40:21 +0100 message: dummy commit to allow push of tag ------------------------------------------------------------ revno: 3049.1.153 committer: mysqldev branch nick: mysql-5.1-telco-6.3 timestamp: Wed 2009-12-16 19:44:39 +0100 message: ndb - pushback 6.3.29 ------------------------------------------------------------ revno: 3049.21.1 committer: mysqldev branch nick: mysql-5.1.39-ndb-6.3.29 timestamp: Wed 2009-12-16 19:39:43 +0100 message: dummy commit to allow push of tag ------------------------------------------------------------ revno: 3049.1.152 committer: Jorgen Austvik branch nick: mysql-5.1-telco-6.3 timestamp: Wed 2009-12-16 12:50:30 +0100 message: Rename variable because of name conflict in debug ------------------------------------------------------------ revno: 3049.1.151 committer: Martin Skold branch nick: mysql-5.1-telco-6.3 timestamp: Tue 2009-12-15 23:33:21 +0100 message: Merge ------------------------------------------------------------ revno: 3049.17.4 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Tue 2009-12-15 20:41:41 +0100 message: ndb - another stab at compiler warnings (strict-aliasing), fix incorrect macro...i think this should work, if not it will have to be via char* ------------------------------------------------------------ revno: 3049.17.3 committer: Magnus Bl?udd branch nick: mysql-5.1-telco-6.3 timestamp: Tue 2009-12-15 17:32:28 +0100 message: Merge ------------------------------------------------------------ revno: 3049.20.1 committer: Magnus Bl?udd branch nick: mysql-5.1-telco-6.3 timestamp: Tue 2009-12-15 17:04:37 +0100 message: Merge ------------------------------------------------------------ revno: 3049.19.1 committer: Magnus Bl?udd branch nick: mysql-5.1-telco-6.3 timestamp: Tue 2009-12-15 16:45:58 +0100 message: Merge ------------------------------------------------------------ revno: 3049.18.1 committer: Magnus Bl?udd branch nick: 6.3 timestamp: Tue 2009-12-15 12:37:36 +0100 message: Merge 6.2 -> 6.3 ------------------------------------------------------------ revno: 2572.74.1 committer: Magnus Bl?udd branch nick: 6.2 timestamp: Tue 2009-12-15 11:55:00 +0100 message: Merge in patch for bug 48284 ------------------------------------------------------------ revno: 3049.17.2 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Tue 2009-12-15 17:07:02 +0100 message: merge 63-main ------------------------------------------------------------ revno: 3049.17.1 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Tue 2009-12-15 16:37:38 +0100 message: ndb - first stab at gcc 4.4 warnings...the easy ones :-) ------------------------------------------------------------ revno: 3049.1.150 committer: Martin Skold branch nick: mysql-5.1-telco-6.3 timestamp: Tue 2009-12-15 15:21:01 +0100 message: Merge (Bug#47054 Cluster only deletes first matched row in delete with left join: Resetting status, Bug#49459 Incorrect handling of too long string in condition pushdown) ------------------------------------------------------------ revno: 2572.73.3 committer: Martin Skold branch nick: mysql-5.1-telco-6.2 timestamp: Tue 2009-12-15 14:28:55 +0100 message: Removed superflous semicolons to keep Win compiler happy ------------------------------------------------------------ revno: 2572.73.2 committer: Martin Skold branch nick: mysql-5.1-telco-6.2 timestamp: Tue 2009-12-15 14:21:43 +0100 message: Bug#49459 Incorrect handling of too long string in condition pushdown: Added check if constant string is longer than field length, skip pushing condition if this is the case ------------------------------------------------------------ revno: 2572.73.1 committer: Martin Skold branch nick: mysql-5.1-telco-6.2 timestamp: Mon 2009-12-14 11:05:39 +0100 message: Bug #47054 Cluster only deletes first matched row in delete with left join: Resetting status ------------------------------------------------------------ revno: 3059 committer: Andrei Elkin branch nick: mysql-5.1-telco-6.3 timestamp: Wed 2009-12-16 16:16:45 +0200 message: merge from 6.2 ------------------------------------------------------------ revno: 2572.70.39 committer: Andrei Elkin branch nick: mysql-5.1-telco-6.2 timestamp: Wed 2009-12-16 16:08:16 +0200 message: bug#47037 fixing master_server_id to stay initially 0 ------------------------------------------------------------ revno: 3058 committer: Andrei Elkin branch nick: mysql-5.1-telco-6.3 timestamp: Wed 2009-12-16 16:12:08 +0200 message: error msgcode shift due to a new error ------------------------------------------------------------ revno: 2572.70.38 committer: Andrei Elkin branch nick: mysql-5.1-telco-6.2 timestamp: Tue 2009-12-15 19:43:17 +0200 message: result files changes due to new error msg shift and master_sever_id display ------------------------------------------------------------ revno: 3057 committer: Andrei Elkin branch nick: mysql-5.1-telco-6.3 timestamp: Tue 2009-12-15 17:08:59 +0200 message: merging master_id display patch bug@47037 ------------------------------------------------------------ revno: 2572.70.37 committer: Andrei Elkin branch nick: mysql-5.1-telco-6.2 timestamp: Tue 2009-12-15 17:02:25 +0200 message: bug#47037 improving display of master_server_id to show it as (ulong) -1 while the value is not yet gained from a real connected master ------------------------------------------------------------ revno: 3056 committer: Andrei Elkin branch nick: mysql-5.1-telco-6.3 timestamp: Tue 2009-12-15 15:43:29 +0200 message: merging from telco-6.3 to a local branch ------------------------------------------------------------ revno: 3049.1.149 committer: Jorgen Austvik branch nick: mysql-5.1-telco-6.3 timestamp: Tue 2009-12-15 13:31:14 +0100 message: Use sh backticks instead of bash'isms for solaris/ksh compability ------------------------------------------------------------ revno: 3055 committer: Andrei Elkin branch nick: mysql-5.1-telco-6.3 timestamp: Tue 2009-12-15 14:24:14 +0200 message: merging from telco-6.2 with bug@47037 fixes to a local branch ------------------------------------------------------------ revno: 2572.70.36 committer: Andrei Elkin branch nick: mysql-5.1-telco-6.2 timestamp: Tue 2009-12-15 13:19:48 +0200 message: merging from telco-6.2 to a local branch ------------------------------------------------------------ revno: 3054 committer: Andrei Elkin branch nick: mysql-5.1-telco-6.3 timestamp: Tue 2009-12-15 14:11:00 +0200 message: merging from telco-6.3 to a local branch ------------------------------------------------------------ revno: 3049.1.148 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Tue 2009-12-15 11:24:18 +0100 message: merge 62 to 63 ------------------------------------------------------------ revno: 2572.72.2 committer: Jonas Oreland branch nick: telco-6.2 timestamp: Tue 2009-12-15 11:23:17 +0100 message: merge 62-main ------------------------------------------------------------ revno: 3049.1.147 committer: Magnus Bl?udd branch nick: 6.3 timestamp: Mon 2009-12-14 16:05:39 +0100 message: Merge 6.2 -> 6.3 ------------------------------------------------------------ revno: 2572.70.35 committer: Magnus Bl?udd branch nick: 6.2 timestamp: Mon 2009-12-14 16:02:56 +0100 message: Merge fix for 48357 into telco trees ------------------------------------------------------------ revno: 3049.1.146 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Mon 2009-12-14 11:59:12 +0100 message: ndb - bump version to 6.3.31 ------------------------------------------------------------ revno: 3049.1.145 tags: clone-mysql-5.1.39-ndb-6.3.30-src-build, mysql-5.1.39-ndb-6.3.30 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Mon 2009-12-14 11:58:03 +0100 message: ndb - multi threaded ordeded index build ------------------------------------------------------------ revno: 3049.1.144 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Mon 2009-12-14 11:23:30 +0100 message: ndb - bump version to 6.3.30 ------------------------------------------------------------ revno: 3049.1.143 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Mon 2009-12-14 11:18:40 +0100 message: dummy commit to allow push of tag ------------------------------------------------------------ revno: 3049.1.142 tags: clone-mysql-5.1.39-ndb-6.3.29-src-build, mysql-5.1.39-ndb-6.3.29 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Mon 2009-12-14 09:45:50 +0100 message: merge 62 to 63 ------------------------------------------------------------ revno: 2572.72.1 committer: Jonas Oreland branch nick: telco-6.2 timestamp: Mon 2009-12-14 09:40:33 +0100 message: bug#49536 - deadlock on rotate_and_purge when using expire_logs_days Problem is that purge_logs implementation in ndb (ndbcluster_binlog_index_purge_file) calls mysql_parse (with (thd->options & OPTION_BIN_LOG) === 0)) but MYSQL_BIN_LOG first takes LOCK_log and then checks thd->options Solution in this patch, changes so that rotate_and_purge does not hold LOCK_log when calling purge_logs_before_date.