------------------------------------------------------------ revno: 3170 tags: clone-mysql-5.1.44-ndb-6.3.33-src-build, mysql-5.1.44-ndb-6.3.33 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Thu 2010-03-25 15:30:29 +0100 message: ndb - make new assert conditional so that they don't run during upgrade ------------------------------------------------------------ revno: 3169 committer: Martin Skold branch nick: mysql-5.1-telco-6.3 timestamp: Wed 2010-03-24 17:01:31 +0100 message: Bug#47096 LOST_EVENTS incident not reported when --binlog-ignore-db is used: Skip filtering on database for Incident_bilog_event ------------------------------------------------------------ revno: 3168 committer: Martin Skold branch nick: mysql-5.1-telco-6.3 timestamp: Wed 2010-03-24 16:11:56 +0100 message: Bug#49559 Log empty epoch does not log transaction which update nothing: Fixed valgrind detected issue, restart transaction for each iteration ------------------------------------------------------------ revno: 3167 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Wed 2010-03-24 11:28:13 +0100 message: ndb - bug#52325 - don't abort but handle errors in ndbcluster_find_all_databases ------------------------------------------------------------ revno: 3166 committer: Martin Skold branch nick: mysql-5.1-telco-6.3 timestamp: Tue 2010-03-23 11:40:48 +0100 message: Merge ------------------------------------------------------------ revno: 3163.1.1 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Tue 2010-03-23 06:57:36 +0100 message: attempt 2 at getting hint on core-dump of mysqld in autotest ------------------------------------------------------------ revno: 3165 committer: Martin Skold branch nick: mysql-5.1-telco-6.3 timestamp: Tue 2010-03-23 09:26:54 +0100 message: Regenerated result due to new variable ------------------------------------------------------------ revno: 3164 committer: Martin Skold branch nick: mysql-5.1-telco-6.3 timestamp: Mon 2010-03-22 15:17:13 +0100 message: Bug#49559 Log empty epoch does not log transaction which update nothing: Added handling of empty epochs if --ndb-log-empty-epochs is set ------------------------------------------------------------ revno: 3163 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Mon 2010-03-22 13:36:23 +0100 message: ndb - addendum to bug#52217 - never send a keepGci > newestRestorableGCI from DIH to LQH ------------------------------------------------------------ revno: 3162 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Mon 2010-03-22 13:33:03 +0100 message: ndb - bug#52273 Use findTransaction in LQHKEYREF to avoid weird race condtitions potentially leading to accessing recycled tcConnectPtr (which by itself most likely is harmless) ------------------------------------------------------------ revno: 3161 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Mon 2010-03-22 09:48:37 +0100 message: ndb - don't require mysql-clients to have node-id ------------------------------------------------------------ revno: 3160 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Sun 2010-03-21 13:04:34 +0100 message: ndb - more gcc-madness ------------------------------------------------------------ revno: 3159 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Fri 2010-03-19 15:13:18 +0100 message: ndb - improve debugging info if crashing on "Error reading REDO log" ------------------------------------------------------------ revno: 3158 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Fri 2010-03-19 14:24:16 +0100 message: ndb - bug#52217 - make sure that cnewestCompleteGci is set properly during node restart (or take-over during sr) ------------------------------------------------------------ revno: 3157 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Fri 2010-03-19 13:27:49 +0100 message: ndb - add NDBT_Context to NdbRestarts so that a restart-sequence can check if test has been stopped Impl. that check in restartNFDuringNR ------------------------------------------------------------ revno: 3156 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Fri 2010-03-19 09:14:19 +0100 message: ndb - bug#52201 - make sure that ACC_ABORTREQ runs with canBlock=0 in execTUPKEYREF ------------------------------------------------------------ revno: 3155 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Wed 2010-03-17 13:21:57 +0100 message: ndb - attempted fix for testTimeout -n BuddyTransNoTimeout5, i think the problems was that scans was only opened and not closed, causing subsequent to be put in lqh-scanqueue, causing timeouts ------------------------------------------------------------ revno: 3154 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Wed 2010-03-17 13:11:23 +0100 message: ndb - fix bug#52135 - TO of master! during SR ------------------------------------------------------------ revno: 3153 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Wed 2010-03-17 10:42:26 +0100 message: ndb - make "testSystemRestart -n to" a bit more resilient ------------------------------------------------------------ revno: 3152 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Wed 2010-03-17 10:41:21 +0100 message: ndb - only cluster-members should get nodeid even with fix-node-id ------------------------------------------------------------ revno: 3151 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Wed 2010-03-17 10:40:40 +0100 message: ndb - print some information before abort (this happens in autotest!) ------------------------------------------------------------ revno: 3150 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Tue 2010-03-16 15:51:53 +0100 message: ndb - more gcc-madness warnings ------------------------------------------------------------ revno: 3149 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Tue 2010-03-16 11:34:21 +0100 message: ndb - remove operator= from union members (forte barfs) ------------------------------------------------------------ revno: 3148 committer: Magnus Bl?udd branch nick: 6.3 timestamp: Tue 2010-03-16 10:53:53 +0100 message: Cherrypick fix for bug 47978 ------------------------------------------------------------ revno: 3147 committer: Magnus Bl?udd branch nick: 6.3 timestamp: Tue 2010-03-16 10:51:40 +0100 message: Cherrypick fix for bug 47663 ------------------------------------------------------------ revno: 3146 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Tue 2010-03-16 09:50:44 +0100 message: ndb - more gcc-madness ------------------------------------------------------------ revno: 3145 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Tue 2010-03-16 08:52:19 +0100 message: merge 62 to 63 ------------------------------------------------------------ revno: 2572.70.80 committer: Jonas Oreland branch nick: telco-6.2 timestamp: Tue 2010-03-16 08:34:36 +0100 message: ndb - chrry bug-50451 ------------------------------------------------------------ revno: 3144 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Tue 2010-03-16 08:51:19 +0100 message: ndb - more 5.1.44 post merge stuff, revert testcase to previous version ------------------------------------------------------------ revno: 3143 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Mon 2010-03-15 21:44:25 +0100 message: ndb - as stab at gcc-madness warnings ------------------------------------------------------------ revno: 3142 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Mon 2010-03-15 14:49:44 +0100 message: merge 62 to 63 ------------------------------------------------------------ revno: 2572.70.79 committer: Jonas Oreland branch nick: telco-6.2 timestamp: Mon 2010-03-15 14:45:00 +0100 message: ndb - fix compiler warning in row0sel, patch from v. dimov ------------------------------------------------------------ revno: 2572.70.78 committer: Jonas Oreland branch nick: telco-6.2 timestamp: Mon 2010-03-15 14:41:49 +0100 message: ndb - forward port potential fix for bug-52062 ------------------------------------------------------------ revno: 3141 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Mon 2010-03-15 10:30:32 +0100 message: ndb - fix so that rpl_typeconv can run wo/ innodb ------------------------------------------------------------ revno: 3140 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Mon 2010-03-15 10:25:49 +0100 message: merge 62 to 63 ------------------------------------------------------------ revno: 2572.70.77 committer: Jonas Oreland branch nick: telco-6.2 timestamp: Mon 2010-03-15 10:23:41 +0100 message: ndb - add feature to pass-though configure options using BUILD/compile-ndb-autotest (and friends) using "--" ------------------------------------------------------------ revno: 2572.70.76 committer: Jonas Oreland branch nick: telco-6.2 timestamp: Mon 2010-03-15 10:04:05 +0100 message: ndb - bug#52057 - fix incorrect assertion ------------------------------------------------------------ revno: 2572.70.75 committer: Jonas Oreland branch nick: telco-6.2 timestamp: Mon 2010-03-15 09:46:55 +0100 message: ndb - put binlog_unsafe into experimental on solaris again ------------------------------------------------------------ revno: 2572.70.74 committer: Jonas Oreland branch nick: telco-6.2 timestamp: Mon 2010-03-15 09:32:27 +0100 message: ndb - cherry pick parts of bug-49269 into telco-trees ------------------------------------------------------------ revno: 3139 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Sat 2010-03-13 11:22:11 +0100 message: ndb - ndb_tmp_table_and_DDL is not supported in embedded, fix typo ------------------------------------------------------------ revno: 3138 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Sat 2010-03-13 09:52:51 +0100 message: merge 62 to 63 ------------------------------------------------------------ revno: 2572.70.73 committer: Jonas Oreland branch nick: telco-6.2 timestamp: Fri 2010-03-12 15:32:53 +0100 message: ndb - fake-fix of bug-51289 causing compile warning ------------------------------------------------------------ revno: 3137 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Sat 2010-03-13 09:50:33 +0100 message: ndb - ndb_tmp_table_and_DDL is not supported in embedded ------------------------------------------------------------ revno: 3136 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Fri 2010-03-12 14:57:24 +0100 message: ndb - post merge 5.1.44 fixes into 6.3 ------------------------------------------------------------ revno: 2572.70.72 committer: Jonas Oreland branch nick: telco-6.2 timestamp: Fri 2010-03-12 14:48:46 +0100 message: ndb - post merge 5.1.44 fixes ------------------------------------------------------------ revno: 3135 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Fri 2010-03-12 11:36:52 +0100 message: ndb - merge 5.1.44 into 6.3 ------------------------------------------------------------ revno: 2572.70.71 committer: Jonas Oreland branch nick: telco-6.2 timestamp: Fri 2010-03-12 07:06:23 +0100 message: ndb - merge 5.1.44 ------------------------------------------------------------ revno: 2555.623.170 tags: mysql-5.1.44 author: hery.ramilison@sun.com committer: MySQL Build Team branch nick: mysql-5.1.44-release timestamp: Wed 2010-02-17 18:39:28 +0100 message: configure.in - Changes to the banner text - Use older AC_PROG_LIBTOOL (Bug#51009) scripts/mysql_install_db.sh - Changes to banner text ------------------------------------------------------------ revno: 2555.623.169 tags: clone-5.1.44-build committer: Georgi Kodinov branch nick: merge-5.1-bugteam timestamp: Thu 2010-02-04 12:14:44 +0200 message: merge ------------------------------------------------------------ revno: 1810.3982.7 committer: Georgi Kodinov branch nick: merge-5.0-bugteam timestamp: Thu 2010-02-04 12:13:29 +0200 message: tree name change ------------------------------------------------------------ revno: 2555.623.168 committer: Georgi Kodinov branch nick: merge-5.1-bugteam timestamp: Wed 2010-02-03 17:27:55 +0200 message: merge ------------------------------------------------------------ revno: 1810.3982.6 committer: Georgi Kodinov branch nick: merge-5.0-bugteam timestamp: Wed 2010-02-03 17:05:06 +0200 message: merge ------------------------------------------------------------ revno: 1810.3976.23 author: sunanda.menon@sun.com committer: MySQL Build Team branch nick: mysql-5.0 timestamp: Fri 2010-01-15 10:35:35 +0100 message: Raise version number after cloning 5.0.90 ------------------------------------------------------------ revno: 2555.623.167 committer: Georgi Kodinov branch nick: merge-5.1-bugteam timestamp: Wed 2010-02-03 17:25:29 +0200 message: merge ------------------------------------------------------------ revno: 2555.689.1 author: karen.langford@sun.com committer: MySQL Build Team branch nick: mysql-5.1 timestamp: Fri 2010-01-15 18:03:48 +0100 message: Raise version number after cloning 5.1.43 ------------------------------------------------------------ revno: 2555.623.166 committer: Kent Boortz branch nick: mysql-5.1-bugteam timestamp: Wed 2010-02-03 14:52:11 +0100 message: Adjuster the parsing of "configure.in" version number line ------------------------------------------------------------ revno: 2555.623.165 committer: Luis Soares branch nick: mysql-5.1-bugteam-push timestamp: Wed 2010-02-03 12:12:51 +0000 message: automerge mysql-5.1-bugteam bug clone --> mysql-5.1-bugteam latest. ------------------------------------------------------------ revno: 2555.688.1 committer: Luis Soares branch nick: mysql-5.1-bugteam timestamp: Tue 2010-02-02 15:16:47 +0000 message: BUG#47639: The rpl_binlog_corruption test fails on Windows The test case rpl_binlog_corruption fails on windows because when adding a line to the binary log index file it gets terminated with a CR+LF (which btw, is the normal case in windows, but not on Unixes - LF). This causes mismatch between the relay log names, causing mysqld to report that it cannot find the log file. We fix this by creating the instrumented index file through mysql, ie, using SELECT ... INTO DUMPFILE ..., as opposed on relying on ultimatly OS commands like: -- echo "..." > index. These changes go into the file and make the procedure platform independent: include/setup_fake_relay_log.inc Side note: when using SELECT ... INTO DUMPFILE ..., one needs to check if mysqld is running with secure_file_priv. If it is, we do it in two steps: 1. create the file on the allowed location; 2. move it to the datadir. If it is not, then we just create the file directly on the datadir (so previous step 2. is not needed). ------------------------------------------------------------ revno: 2555.623.164 committer: Kent Boortz branch nick: mysql-5.1-bugteam timestamp: Tue 2010-02-02 23:29:14 +0100 message: Changes to be able to create source TAR packages with longer path names than 99 characters, using the USTAR format of the resulting source TAR. To be able to specify the use of USTAR when creating the source TAR, we needed both to update the GNU autotools version requirements slightly, and update the initiation of the tools to use more modern constructs. ------------------------------------------------------------ revno: 2555.623.163 committer: Georgi Kodinov branch nick: B50276-5.1-bugteam timestamp: Thu 2010-01-21 17:14:10 +0200 message: Bug #50276: Security flaw in INFORMATION_SCHEMA.TABLES check_access() returning false for a database does not guarantee that the access is granted to it. This wrong condition in filling the INFORMATION_SCHEMA tables causes extra tables to be returned to the user even if he has no rights to see them. Fixed by correcting the condition. ------------------------------------------------------------ revno: 2555.623.162 committer: Georgi Kodinov branch nick: B49445-5.1-bugteam timestamp: Tue 2010-02-02 18:37:56 +0200 message: Bug #49445: Assertion failed: 0, file .\item_row.cc, line 55 with fulltext search and row op. The search for fulltext indexes is searching for some special predicate layouts. While doing so it's not checking for the number of columns of the expressions it tries to calculate. And since row expressions can't return a single scalar value there was a crash. Fixed by checking if the expressions are scalar (in addition to being constant) before calling Item::val_xxx() methods. ------------------------------------------------------------ revno: 2555.623.161 committer: Magne Mahre branch nick: mysql-5.1-bugteam timestamp: Tue 2010-02-02 16:34:32 +0100 message: Cleanup fix for WL#5154 that splits commands handling for --default-character-set and --character-set-server such that only the first will give a deprecation warning. Apart from that, the two options should do the same. ------------------------------------------------------------ revno: 2555.623.160 committer: Alexander Nozdrin branch nick: mysql-5.1-bugteam timestamp: Tue 2010-02-02 16:38:44 +0300 message: Revert a patch for Bug#48231, which introduced valgrind warnings. Original revision: ------------------------------------------------------------ revision-id: li-bing.song@sun.com-20100130124925-o6sfex42b6noyc6x parent: joro@sun.com-20100129145427-0n79l9hnk0q43ajk committer: branch nick: mysql-5.1-bugteam timestamp: Sat 2010-01-30 20:49:25 +0800 message: Bug #48321 CURRENT_USER() incorrectly replicated for DROP/RENAME USER; REVOKE/GRANT; ALTER EVENT. The following statements support the CURRENT_USER() where a user is needed. DROP USER RENAME USER CURRENT_USER() ... GRANT ... TO CURRENT_USER() REVOKE ... FROM CURRENT_USER() ALTER DEFINER = CURRENT_USER() EVENT but, When these statements are binlogged, CURRENT_USER() just is binlogged as 'CURRENT_USER()', it is not expanded to the real user name. When slave executes the log event, 'CURRENT_USER()' is expand to the user of slave SQL thread, but SQL thread's user name always NULL. This breaks the replication. After this patch, All above statements are rewritten when they are binlogged. The CURRENT_USER() is expanded to the real user's name and host. ------------------------------------------------------------ ------------------------------------------------------------ revno: 2555.623.159 committer: Davi Arnaut branch nick: mysql-5.1-bugteam timestamp: Tue 2010-02-02 11:17:58 -0200 message: Fix for valgrind warning: check whether pointer was initialized. ------------------------------------------------------------ revno: 2555.623.158 committer: Georgi Kodinov branch nick: fix-5.1-bugteam timestamp: Tue 2010-02-02 14:17:21 +0200 message: fixed various pb2 test failures on windows. ------------------------------------------------------------ revno: 2555.623.157 committer: Georgi Kodinov branch nick: test-5.1-bugteam timestamp: Mon 2010-02-01 14:05:21 +0200 message: Made outfile_testdata experimental in 5.1-bugteam, pending the resulution of bug #46895. ------------------------------------------------------------ revno: 2555.623.156 committer: Georgi Kodinov branch nick: test-5.1-bugteam timestamp: Mon 2010-02-01 13:50:30 +0200 message: merge ------------------------------------------------------------ revno: 1810.3982.5 committer: Georgi Kodinov branch nick: test-5.0-bugteam timestamp: Mon 2010-02-01 13:40:16 +0200 message: fixed a typo in bug #49897. ------------------------------------------------------------ revno: 2555.623.155 committer: branch nick: mysql-5.1-bugteam timestamp: Sat 2010-01-30 20:49:25 +0800 message: Bug #48321 CURRENT_USER() incorrectly replicated for DROP/RENAME USER; REVOKE/GRANT; ALTER EVENT. The following statements support the CURRENT_USER() where a user is needed. DROP USER RENAME USER CURRENT_USER() ... GRANT ... TO CURRENT_USER() REVOKE ... FROM CURRENT_USER() ALTER DEFINER = CURRENT_USER() EVENT but, When these statements are binlogged, CURRENT_USER() just is binlogged as 'CURRENT_USER()', it is not expanded to the real user name. When slave executes the log event, 'CURRENT_USER()' is expand to the user of slave SQL thread, but SQL thread's user name always NULL. This breaks the replication. After this patch, All above statements are rewritten when they are binlogged. The CURRENT_USER() is expanded to the real user's name and host. ------------------------------------------------------------ revno: 2555.623.154 committer: Georgi Kodinov branch nick: fix-certs-5.1-bugteam timestamp: Fri 2010-01-29 16:54:27 +0200 message: merge ------------------------------------------------------------ revno: 1810.3982.4 committer: Georgi Kodinov branch nick: fix-certs-5.0-bugteam timestamp: Fri 2010-01-29 15:55:46 +0200 message: Bug #50642 : ssl certs in test suite are expiring soon. Updated the certs to expire on 2015. Made sure they work with both yassl and openssl. ------------------------------------------------------------ revno: 2555.623.153 committer: Tor Didriksen branch nick: 5.1-bugteam-bug50271 timestamp: Thu 2010-01-28 12:10:57 +0100 message: Bug #50271: Debug output of JOIN structures is garbled ------------------------------------------------------------ revno: 2555.623.152 committer: Ramil Kalimullin branch nick: mysql-5.1-bugteam timestamp: Fri 2010-01-29 15:08:49 +0400 message: Auto-merge. ------------------------------------------------------------ revno: 1810.3982.3 committer: Ramil Kalimullin branch nick: b49897-5.0-bugteam timestamp: Fri 2010-01-29 13:17:57 +0400 message: Fix for bug#49897: crash in ptr_compare when char(0) NOT NULL column is used for ORDER BY Problem: filesort isn't meant for null length sort data (e.g. char(0)), that leads to a server crash. Fix: disregard sort order if sort data record length is 0 (nothing to sort). ------------------------------------------------------------ revno: 2555.623.151 committer: Georgi Kodinov branch nick: B49552-5.1-bugteam timestamp: Fri 2010-01-29 11:36:28 +0200 message: Bug #49552 : sql_buffer_result cause crash + not found records in multitable delete/subquery SQL_BUFFER_RESULT should not have an effect on non-SELECT statements according to our documentation. Fixed by not passing it through to multi-table DELETE (similarly to how it's done for multi-table UPDATE). ------------------------------------------------------------ revno: 2555.623.150 committer: Davi Arnaut branch nick: mysql-5.1-bugteam timestamp: Thu 2010-01-28 19:51:40 -0200 message: Fix for compiler warnings: Rename method as to not hide a base. Reorder attributes initialization. Remove unused variable. Rework code to silence a warning due to assignment used as truth value. ------------------------------------------------------------ revno: 2555.623.149 committer: Andrei Elkin branch nick: 5.1-bt-bug47142-until4x timestamp: Thu 2010-01-28 12:22:19 +0200 message: merging from 5.1-bt to a local bugfix branch ------------------------------------------------------------ revno: 2555.687.5 committer: Bjorn Munch branch nick: timenv-bt timestamp: Wed 2010-01-27 16:32:59 +0100 message: Bug #49210 Enable MTR timeout configuration through environment variables Define env. vars for both timeout settings Also incorporated 5.0 patch into mtr version 1 ------------------------------------------------------------ revno: 1810.3982.2 committer: Bjorn Munch branch nick: timenv-50 timestamp: Wed 2010-01-27 15:21:41 +0100 message: Bug #49210 Enable MTR timeout configuration through environment variables Define env. vars for both timeout settings This patch is for 5.0 (mtr v1) and should replaces for 5.1 up ------------------------------------------------------------ revno: 2555.623.148 committer: Andrei Elkin branch nick: 5.1-bt-bug47142-until4x timestamp: Thu 2010-01-28 11:51:57 +0200 message: merging from 5.1-bt to a local bugfix branch ------------------------------------------------------------ revno: 2555.687.4 committer: Staale Smedseng branch nick: 49223-51 timestamp: Wed 2010-01-27 16:13:39 +0100 message: Bug #49223 Change help description for mysqldump --extended-insert Help message changed to the same as in the 5.1 online documentation. ------------------------------------------------------------ revno: 2555.687.3 committer: Magne Mahre branch nick: mysql-5.1-bugteam-wl5182 timestamp: Wed 2010-01-27 13:23:28 +0100 message: WL#5182 Remove more deprecated 4.1/5.0 features WL#5182 is a follow-up to WL#5154, deprecating a few more options and system variables. ------------------------------------------------------------ revno: 2555.687.2 committer: Staale Smedseng branch nick: 50409-51 timestamp: Wed 2010-01-27 11:42:20 +0100 message: Merging from 5.0-bugteam ------------------------------------------------------------ revno: 1810.3982.1 committer: Staale Smedseng branch nick: 50409-50 timestamp: Wed 2010-01-27 11:38:50 +0100 message: Bug#50409 Solaris 8 compatibility broken by assumption about printstack() being present When Bug#47391 was fixed, no assumption was made that support for Solaris 8 was needed. Solaris 8 lacks printstack(), and the build breaks because of this. This patch adds a test for the presence of printstack() to configure.in for 5.0, and uses HAVE_PRINTSTACK to make decisions rather than the __sun define. ------------------------------------------------------------ revno: 2555.687.1 committer: branch nick: mysql-5.1-bugteam timestamp: Wed 2010-01-27 10:52:13 +0800 message: Bug #49191 rpl_get_master_version_and_clock failed on PB2: COM_REGISTER_SLAVE failed 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, during the period the COM_REGISTER_SLAVE failures are produced in server log file when the slave I/O thread tries to register on master. To fix the problem, suppress COM_REGISTER_SLAVE failures in server log file by mtr suppression, because they are expected. ------------------------------------------------------------ revno: 2555.623.147 committer: Andrei Elkin branch nick: 5.1-bt-bug47142-until4x timestamp: Wed 2010-01-27 19:27:49 +0200 message: bug#47142 merging patches prepared for 5.0 to 5.1-bt. That caused a few changes in the test file ------------------------------------------------------------ revno: 1810.3981.2 committer: Andrei Elkin branch nick: 5.0-bt-bug47142-until_catches_local_rotate-andrii timestamp: Wed 2010-01-27 15:20:03 +0200 message: bug#47142 improving comments ------------------------------------------------------------ revno: 1810.3981.1 committer: Andrei Elkin branch nick: 5.0-bt-bug47142-until_catches_local_rotate-andrii timestamp: Mon 2010-01-25 17:46:48 +0200 message: Bug #47142 "slave start until" stops 1 event too late in 4.1 to 5.0 replication When replicating from 4.1 master to 5.0 slave START SLAVE UNTIL can stop too late. The necessary in calculating of the beginning of an event the event's length did not correspond to the master's genuine information at the event's execution time. That piece of info was changed at the event's relay-logging due to binlog_version<4 event conversion by IO thread. Fixed with storing the master genuine Query_log_event size into a new status variable at relay-logging of the event. The stored info is extacted at the event execution and participate further to caclulate the correct start position of the event in the until-pos stopping routine. The new status variable's algorithm will be only active when the event comes from the master of version < 5.0 (binlog_version < 4). ------------------------------------------------------------ revno: 2555.623.146 committer: Davi Arnaut branch nick: 49491-5.1 timestamp: Tue 2010-01-26 15:05:19 -0200 message: Bug#49491: Much overhead for MD5() and SHA1() on short strings MySQL's hash functions MD5 and SHA relied on the somewhat slow sprintf function to convert the digests to hex representations. This patch replaces the sprintf with a specific and inline hex conversion function. Patch contributed by Jan Steemann. ------------------------------------------------------------ revno: 2555.623.145 committer: Luis Soares branch nick: mysql-5.1-bugteam-push timestamp: Tue 2010-01-26 08:55:22 +0000 message: automerge: mysql-5.1-bugteam branch --> mysql-5.1-bugteam latest NOTE: added TODO to the comments requested by reviewer during this merge. ------------------------------------------------------------ revno: 2555.686.1 committer: Luis Soares branch nick: mysql-5.1-bugteam timestamp: Thu 2010-01-21 17:20:24 +0000 message: BUG#49481: RBR: MyISAM and bit fields may cause slave to stop on delete: cant find record Some engines return data for the record. Despite the fact that the null bit is set for some fields, their old value may still in the row. This can happen when unpacking an AI from the binlog on top of a previous record in which a field is set to NULL, which previously contained a value. Ultimately, this may cause the comparison of records to fail when the slave is doing an index or range scan. We fix this by deploying a call to reset() for each field that is set to null while unpacking a row from the binary log. Furthermore, we also add mixed mode test case to cover the scenario where updating and setting a field to null through a Query event and later searching it through a rows event will succeed. Finally, we also change the reset() method, from Field_bit class, so that it takes into account bits stored among the null bits and not only the ones stored in the record. ------------------------------------------------------------ revno: 2555.623.144 committer: Georgi Kodinov branch nick: fix-win-5.1-bugteam timestamp: Tue 2010-01-26 10:47:43 +0200 message: fix a windows test run bug with debug binaries : dbug frame should be exited before destroying the thread local storage. ------------------------------------------------------------ revno: 2555.623.143 committer: branch nick: mysql-5.1-bugteam timestamp: Mon 2010-01-25 10:55:05 +0800 message: Manual merge with Conflicts: sql_udf.cc ------------------------------------------------------------ revno: 2555.684.4 committer: He Zhenxing branch nick: 5.1-bugteam-new timestamp: Sun 2010-01-24 15:03:23 +0800 message: Backport Bug#37148 to 5.1 ------------------------------------------------------------ revno: 2555.684.3 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Fri 2010-01-22 16:26:17 +0400 message: Merge InnoDB snapshot with mysql-5.1-bugteam. ------------------------------------------------------------ revno: 2555.685.8 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Fri 2010-01-22 16:23:27 +0400 message: Applying InnoDB snapshot, fixes BUG#49396. Detailed revision comments: r6471 | calvin | 2010-01-16 01:43:27 +0200 (Sat, 16 Jan 2010) | 4 lines branches/5.1: fix bug#49396: main.innodb test fails in embedded mode Change replace_result by using $MYSQLD_DATADIR. Tested in both embedded mode and normal server mode. ------------------------------------------------------------ revno: 2555.685.7 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Fri 2010-01-22 14:20:08 +0400 message: Disabled innodb-autoinc-44030 due to BUG#47621. ------------------------------------------------------------ revno: 2555.685.6 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Fri 2010-01-22 14:03:52 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6492 | sunny | 2010-01-21 09:38:35 +0200 (Thu, 21 Jan 2010) | 1 line branches/5.1: Add reference to bug#47621 in the comment. ------------------------------------------------------------ revno: 2555.685.5 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Fri 2010-01-22 14:03:18 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6489 | sunny | 2010-01-21 02:57:50 +0200 (Thu, 21 Jan 2010) | 2 lines branches/5.1: Factor out test for bug#44030 from innodb-autoinc.test into a separate test/result files. ------------------------------------------------------------ revno: 2555.685.4 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Fri 2010-01-22 14:02:17 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6488 | sunny | 2010-01-21 02:55:08 +0200 (Thu, 21 Jan 2010) | 2 lines branches/5.1: Factor out test for bug#44030 from innodb-autoinc.test into a separate test/result files. ------------------------------------------------------------ revno: 2555.685.3 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Fri 2010-01-22 13:57:02 +0400 message: Applying InnoDB snapshot, fixes BUG#46193. Detailed revision comments: r6424 | marko | 2010-01-12 12:22:19 +0200 (Tue, 12 Jan 2010) | 16 lines branches/5.1: In innobase_initialize_autoinc(), do not attempt to read the maximum auto-increment value from the table if innodb_force_recovery is set to at least 4, so that writes are disabled. (Bug #46193) innobase_get_int_col_max_value(): Move the function definition before ha_innobase::innobase_initialize_autoinc(), because that function now calls this function. ha_innobase::innobase_initialize_autoinc(): Change the return type to void. Do not attempt to read the maximum auto-increment value from the table if innodb_force_recovery is set to at least 4. Issue ER_AUTOINC_READ_FAILED to the client when the auto-increment value cannot be read. rb://144 by Sunny, revised by Marko ------------------------------------------------------------ revno: 2555.685.2 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Fri 2010-01-22 13:56:32 +0400 message: Applying InnoDB snapshot Detailed revision comments: r6422 | marko | 2010-01-12 11:34:27 +0200 (Tue, 12 Jan 2010) | 3 lines branches/5.1: Non-functional change: Make innobase_get_int_col_max_value() a static function. It does not access any fields of class ha_innobase. ------------------------------------------------------------ revno: 2555.685.1 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam timestamp: Fri 2010-01-22 13:55:50 +0400 message: Applying InnoDB snapshot, fixes BUG#49238. Detailed revision comments: r6421 | jyang | 2010-01-12 07:59:16 +0200 (Tue, 12 Jan 2010) | 8 lines branches/5.1: Fix bug #49238: Creating/Dropping a temporary table while at 1023 transactions will cause assert. Handle possible DB_TOO_MANY_CONCURRENT_TRXS when deleting metadata in row_drop_table_for_mysql(). rb://220, approved by Marko ------------------------------------------------------------ revno: 2555.684.2 committer: Sergey Glukhov branch nick: mysql-5.1-bugteam timestamp: Fri 2010-01-22 14:58:21 +0400 message: Bug#49501 Inefficient information_schema check (system collation), addon removed wrongly introduced strlen calls ------------------------------------------------------------ revno: 2555.684.1 committer: Magne Mahre branch nick: mysql-5.1-bugteam timestamp: Fri 2010-01-22 10:37:44 +0100 message: Post-commit fix of two tests The WL#5154 commit added a couple of warning messages that was not fixed in the result files for two RPL tests. ------------------------------------------------------------ revno: 2555.623.142 committer: branch nick: mysql-5.1-bugteam timestamp: Fri 2010-01-22 17:38:21 +0800 message: Bug #49132 Replication failure on temporary table + DDL In RBR, DDL statement will change binlog format to non row-based format before it is binlogged, but the binlog format was not be restored, and then manipulating a temporary table can not reset binlog format to row-based format rightly. So that the manipulated statement is binlogged with statement-based format. To fix the problem, restore the state of binlog format after the DDL statement is binlogged. ------------------------------------------------------------ revno: 2555.623.141 committer: Magne Mahre branch nick: mysql-5.1-bugteam-wl5154 timestamp: Thu 2010-01-21 09:10:05 +0100 message: WL#5154 Remove deprecated 4.1 features Several items said to be deprecated in the 4.1 manual have never been removed. This worklog adds deprecation warnings when these items are used, and warns the user that the items will be removed in MySQL 5.6. A couple of previously deprecation decision have been reversed (see single file comments) ------------------------------------------------------------ revno: 2555.623.140 committer: Davi Arnaut branch nick: mysql-5.1-bugteam timestamp: Wed 2010-01-20 22:22:20 -0200 message: Apply patch on behalf of Magnus: 3325 Magnus Bl?udd 2010-01-05 Bug #49860 new compiler warning ha_archive - fix compiler warning by casting to ulong ------------------------------------------------------------ revno: 2555.623.139 committer: Davi Arnaut branch nick: mysql-5.1-bugteam timestamp: Wed 2010-01-20 22:21:18 -0200 message: Apply patch on behalf of the NDB team: 3321 Magnus Bl?udd 2010-01-05 BUG#44840 - ndbapi compiler warning - type qualifier ignored for function return type - Remove the "const" - NOTE! This is an ABI incompatible change for some C++ compilers, NdbApi applications using any of the four changed functions may need a recompile if it's using dynamic linking. ------------------------------------------------------------ revno: 2555.623.138 committer: Alfranio Correia branch nick: mysql-5.1-bugteam timestamp: Wed 2010-01-20 19:08:16 +0000 message: BUG#46364 MyISAM transbuffer problems (NTM problem) It is well-known that due to concurrency issues, a slave can become inconsistent when a transaction contains updates to both transaction and non-transactional tables in statement and mixed modes. In a nutshell, the current code-base tries to preserve causality among the statements by writing non-transactional statements to the txn-cache which is flushed upon commit. However, modifications done to non-transactional tables on behalf of a transaction become immediately visible to other connections but may not immediately get into the binary log and therefore consistency may be broken. In general, it is impossible to automatically detect causality/dependency among statements by just analyzing the statements sent to the server. This happen because dependency may be hidden in the application code and it is necessary to know a priori all the statements processed in the context of a transaction such as in a procedure. Moreover, even for the few cases that we could automatically address in the server, the computation effort required could make the approach infeasible. So, in this patch we introduce the option - "--binlog-direct-non-transactional-updates" that can be used to bypass the current behavior in order to write directly to binary log statements that change non-transactional tables. ------------------------------------------------------------ revno: 2555.623.137 committer: Mattias Jonsson branch nick: topush-51-bugteam timestamp: Tue 2010-01-19 17:02:51 +0100 message: post-push patch for bug#47343. Missing ha_rnd_end in copy_partitions, found due to a DBUG_ASSERT in mysql-pe ------------------------------------------------------------ revno: 2555.623.136 committer: Georgi Kodinov branch nick: B49512-5.1-bugteam timestamp: Wed 2009-12-23 17:11:22 +0200 message: Bug #49512 : subquery with aggregate function crash subselect_single_select_engine::exec() When a subquery doesn't need to be evaluated because it returns only aggregate functions and these aggregates can be calculated from the metadata about the table it was not updating all the relevant members of the JOIN structure to reflect that this is a constant query. This caused problems to the enclosing subquery ('<> SOME' in the test case above) trying to read some data about the tables. Fixed by setting const_tables to the number of tables when the SELECT is optimized away. ------------------------------------------------------------ revno: 2555.623.135 committer: Georgi Kodinov branch nick: B45989-5.1-bugteam timestamp: Tue 2010-01-19 14:48:41 +0200 message: revert of the fix for bug #45989: pushed by mistake. ------------------------------------------------------------ revno: 2555.623.134 committer: Mattias Jonsson branch nick: topush-51-bugteam timestamp: Tue 2010-01-19 12:18:48 +0100 message: merge ------------------------------------------------------------ revno: 2555.683.1 committer: Mattias Jonsson branch nick: b47343-51-bt timestamp: Mon 2010-01-18 17:49:18 +0100 message: Bug#47343: InnoDB fails to clean-up after lock wait timeout on REORGANIZE PARTITION There were several problems which lead to this this, all related to bad error handling. 1) There was several bugs preventing the ddl-log to be used for cleaning up created files on error. 2) The error handling after the copy partition rows did not close and unlock the tables, resulting in deletion of partitions which were in use, which lead InnoDB to put the partition to drop in a background queue. ------------------------------------------------------------ revno: 2555.623.133 committer: Georgi Kodinov branch nick: B45989-5.1-bugteam timestamp: Tue 2010-01-19 12:45:34 +0200 message: merge ------------------------------------------------------------ revno: 2555.682.1 committer: Sergey Glukhov branch nick: mysql-5.1-bugteam timestamp: Tue 2010-01-19 13:03:40 +0400 message: Bug#49501 Inefficient information_schema check (system collation) added check_length optimization for I_S_NAME comparison ------------------------------------------------------------ revno: 2555.623.132 committer: Georgi Kodinov branch nick: B45989-5.1-bugteam timestamp: Mon 2010-01-18 17:50:46 +0200 message: Bug #45989 take 2 : memory leak after explain encounters an error in the query. Fixes a leak after materializing a GROUP BY subquery to a temp table when the subquery has a blob column in the SELECT list. Fixed by correctly destructing temporary buffers after doing the conversion. ------------------------------------------------------------ revno: 2555.623.131 committer: Luis Soares branch nick: mysql-5.1-bugteam timestamp: Tue 2010-01-19 00:10:00 +0000 message: Fix for BUG#49481 and BUG#49482 reverted. PB2 run uncovered issue that needs further analysis. ------------------------------------------------------------ revno: 2555.623.130 committer: Mattias Jonsson branch nick: topush-51-bugteam timestamp: Sun 2010-01-17 22:00:37 +0100 message: merge ------------------------------------------------------------ revno: 2555.672.4 committer: Mattias Jonsson branch nick: b49742-51-bugteam timestamp: Tue 2009-12-22 18:59:37 +0100 message: Bug#49742: Partition Pruning not working correctly for RANGE Problem was when calculating the range of partitions for pruning. Solution was to get the calculation correct. I also simplified it a bit for easier understanding. ------------------------------------------------------------ revno: 2555.623.129 committer: branch nick: mysql-5.1-bugteam timestamp: Sat 2010-01-16 15:44:24 +0800 message: BUG#47418 RBR fails, failure with mixup of base/temporary/view 'CREATE TABLE IF NOT EXISTS ... SELECT' statement were causing 'CREATE TEMPORARY TABLE ...' to be written to the binary log in row-based mode (a.k.a. RBR), when there was a temporary table with the same name. Because the 'CREATE TABLE ... SELECT' statement was executed as 'INSERT ... SELECT' into the temporary table. Since in RBR mode no other statements related to temporary tables are written into binary log, this sometimes broke replication. This patch changes behavior of 'CREATE TABLE [IF NOT EXISTS] ... SELECT ...'. it ignores existence of temporary table with the same name as table being created and is interpreted as attempt to create/insert into base table. This makes behavior of 'CREATE TABLE [IF NOT EXISTS] ... SELECT' consistent with how ordinary 'CREATE TABLE' and 'CREATE TABLE ... LIKE' behave. ------------------------------------------------------------ revno: 2555.623.128 committer: Georgi Kodinov branch nick: B46175-5.1-bugteam timestamp: Fri 2010-01-15 16:09:20 +0200 message: Bug #46175: NULL read_view and consistent read assertion The optimizer must not continue executing the current query if e.g. the storage engine reports an error. This is somewhat hard to implement with Item::val_xxx() because they do not have means to return error code. This is why we need to check the thread's error state after a call to one of the Item::val_xxx() methods. Fixed store_key_item::copy_inner() to return an error state if an error happened during the call to Item::save_in_field() because it calls Item::val_xxx(). Also added similar checks to related places. ------------------------------------------------------------ revno: 2555.623.127 committer: Georgi Kodinov branch nick: merge-5.1-bugteam timestamp: Fri 2010-01-15 11:06:46 +0200 message: merge ------------------------------------------------------------ revno: 2555.680.5 committer: Luis Soares branch nick: mysql-5.1-bugteam timestamp: Thu 2010-01-14 14:26:51 +0000 message: Fix for BUG#49481 and BUG#49482. BUG#49481: RBR: MyISAM and bit fields may cause slave to stop on delete: cant find record BUG#49482: RBR: Replication may break on deletes when MyISAM tables + char field are used When using MyISAM tables, despite the fact that the null bit is set for some fields, their old value is still in the row. This can cause the comparison of records to fail when the slave is doing an index or range scan. We fix this by avoiding memcmp for MyISAM tables when comparing records. Additionally, when comparing field by field, we first check if both fields are not null and if so, then we compare them. If just one field is null we return failure immediately. If both fields are null, we move on to the next field. ------------------------------------------------------------ revno: 2555.680.4 committer: Luis Soares branch nick: mysql-5.1-bugteam-push timestamp: Thu 2010-01-14 10:49:40 +0000 message: BUG#50018: binlog corruption when table has many columns Small fix in the test case. Changed the UNLOCK tables to happen after each insert. ------------------------------------------------------------ revno: 2555.680.3 committer: Luis Soares branch nick: mysql-5.1-bugteam-push timestamp: Thu 2010-01-14 10:47:23 +0000 message: BUG#50018: automerge from 5.1-bt local --> 5.1-bt local latest. ------------------------------------------------------------ revno: 2555.681.2 committer: Luis Soares branch nick: mysql-5.1-bugteam timestamp: Thu 2010-01-07 17:45:54 +0000 message: BUG#50018: binlog corruption when table has many columns Some improvements on the test case as suggested during review. ------------------------------------------------------------ revno: 2555.681.1 committer: Luis Soares branch nick: mysql-5.1-bugteam timestamp: Wed 2010-01-06 00:44:31 +0000 message: BUG#50018: binlog corruption when table has many columns For tables with metadata sizes ranging from 251 to 255 the size of the event data (m_data_size) was being improperly calculated in the Table_map_log_event constructor. This was due to the fact that when writing the Table_map_log_event body (in Table_map_log_event::write_data_body) a call to net_store_length is made for packing the m_field_metadata_size. It happens that net_store_length uses *one* byte for storing m_field_metadata_size when it is smaller than 251 but *three* bytes when it exceeds that value. BUG 42749 had already pinpointed and fix this fact, but the fix was incomplete, as the calculation in the Table_map_log_event constructor considers 255 instead of 251 as the threshold to increment m_data_size by three. Thence, the window for having a mismatch between the number of bytes written and the number of bytes accounted in the event length (m_data_size) was left open for m_field_metadata_size values between 251 and 255. We fix this by changing the condition in the Table_map_log_event constructor to match the one in the net_store_length, ie, increment one byte if m_field_metadata_size < 251 and three if it exceeds this value. ------------------------------------------------------------ revno: 2555.680.2 committer: Kristofer Pettersson branch nick: mysql-5.1-bugteam timestamp: Wed 2010-01-13 15:01:49 +0100 message: automerge ------------------------------------------------------------ revno: 2555.680.1 committer: Kristofer Pettersson branch nick: mysql-5.1-bugteam timestamp: Wed 2010-01-13 12:39:00 +0100 message: Bug#33982 debug assertion and crash reloading grant tables after sighup or kill In certain rare cases when a process was interrupted during a FLUSH PRIVILEGES operation the diagnostic area would be set to an error state but the function responsible for the operation would still signal success. This would lead to a debug assertion error later on when the server would attempt to reset the DA before sending the error message. This patch fixes the issue by assuring that reload_acl_and_cache() always fails if an error condition is raised. The second issue was that a KILL could cause a console error message which referred to a DA state without first making sure that such a state existed. This patch fixes this issue in two different palces by first checking DA state before fetching the error message. ------------------------------------------------------------ revno: 2555.623.126 tags: mysql-5.1.43, clone-5.1.43-build committer: Georgi Kodinov branch nick: merge-5.1-bugteam timestamp: Fri 2010-01-15 10:51:39 +0200 message: merge of version change. Added not_embedded to the new dbug_sync test file. ------------------------------------------------------------ revno: 1810.3976.22 tags: mysql-5.0.90, clone-5.0.90-build committer: Georgi Kodinov branch nick: merge-5.0-bugteam timestamp: Thu 2010-01-14 10:24:02 +0200 message: version change ------------------------------------------------------------ revno: 2555.623.125 committer: Martin Hansson branch nick: 5.1bt-commit timestamp: Wed 2010-01-13 12:38:06 +0100 message: Merge of fix for Bug#48157. ------------------------------------------------------------ revno: 2555.675.4 committer: Ramil Kalimullin branch nick: mysql-5.1-bugteam timestamp: Wed 2010-01-13 15:08:48 +0400 message: Auto-merge. ------------------------------------------------------------ revno: 2555.676.5 committer: Georgi Kodinov branch nick: merge-5.1-bugteam timestamp: Wed 2010-01-13 12:47:42 +0200 message: merge ------------------------------------------------------------ revno: 2555.676.4 committer: Georgi Kodinov branch nick: merge-5.1-bugteam timestamp: Wed 2010-01-13 12:43:07 +0200 message: version change ------------------------------------------------------------ revno: 2555.676.3 committer: Georgi Kodinov branch nick: merge-5.1-bugteam timestamp: Wed 2010-01-13 12:28:42 +0200 message: merge 5.1-main to 5.1-bugteam ------------------------------------------------------------ revno: 2555.677.9 committer: Kent Boortz branch nick: mysql-5.1 timestamp: Wed 2009-12-30 23:26:49 +0100 message: Merge ------------------------------------------------------------ revno: 2555.679.2 committer: Kent Boortz branch nick: mysql-5.1.42-release timestamp: Wed 2009-12-30 23:06:14 +0100 message: Removed unwanted Perl DBI dependency ------------------------------------------------------------ revno: 2555.679.1 tags: mysql-5.1.42 committer: MySQL Build Team branch nick: mysql-5.1.42-release timestamp: Wed 2009-12-16 14:21:02 +0100 message: Merge ------------------------------------------------------------ revno: 2555.677.8 committer: Ramil Kalimullin branch nick: mysql-5.1-pe-stage timestamp: Tue 2009-12-15 21:08:21 +0400 message: Fix for bug#49517: Inconsistent behavior while using NULLable BIGINT and INT columns in comparison Problem: a consequence of the fix for 43668. Some Arg_comparator inner initialization missed, that may lead to unpredictable (wrong) comparison results. Fix: always properly initialize Arg_comparator before its usage. ------------------------------------------------------------ revno: 2555.677.7 committer: Georgi Kodinov branch nick: merge-5.1-pe-stage timestamp: Tue 2009-12-15 11:03:24 +0200 message: Bug #48985: show create table crashes if previous access to the table was killed Merge the fix from 5.1-bugteam to 5.1-main ------------------------------------------------------------ revno: 2555.677.6 committer: Georgi Kodinov branch nick: merge-5.1-pe-stage timestamp: Tue 2009-12-15 10:54:53 +0200 message: Bug#49489: Uninitialized cache led to a wrong result. Merge the fix from 5.1-bugteam to 5.1-main ------------------------------------------------------------ revno: 2555.677.5 committer: Georgi Kodinov branch nick: merge-5.1-pe-stage timestamp: Tue 2009-12-15 10:37:10 +0200 message: Bug #49480: WHERE using YEAR columns returns unexpected results Merge the fix from 5.1-bugteam to 5.1-main ------------------------------------------------------------ revno: 2555.677.4 author: sunanda.menon@sun.com committer: MySQL Build Team branch nick: mysql-5.1 timestamp: Tue 2009-12-08 10:26:11 +0100 message: Null-merge from mysql-5.1.40sp1-release ------------------------------------------------------------ revno: 2555.678.21 tags: mysql-5.1.40sp1 committer: MySQL Build Team branch nick: mysql-5.1.40sp1-release timestamp: Wed 2009-11-25 23:43:37 +0100 message: Patch adjustments ------------------------------------------------------------ revno: 2555.678.20 committer: MySQL Build Team branch nick: mysql-5.1.40sp1-release timestamp: Wed 2009-11-25 23:24:18 +0100 message: Patch adjustments ------------------------------------------------------------ revno: 2555.678.19 committer: MySQL Build Team branch nick: mysql-5.1.40sp1-release timestamp: Wed 2009-11-25 18:21:48 +0100 message: Test cases added ------------------------------------------------------------ revno: 2555.678.18 committer: MySQL Build Team branch nick: mysql-5.1.40sp1-release timestamp: Wed 2009-11-25 18:18:52 +0100 message: Backport into build-200911241145-5.1.40sp1 > ------------------------------------------------------------ > revno: 3190 [merge] > revision-id: kostja@sun.com-20091103174552-bfpak6r7ngf5cbjb > parent: magnus.blaudd@sun.com-20091103170719-6b64sjnivsiyz6xy > parent: kostja@sun.com-20091103165854-7di545xruez8w207 > 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. > ------------------------------------------------------------ > Use --include-merges or -n0 to see merged revisions. ------------------------------------------------------------ revno: 2555.678.17 committer: MySQL Build Team branch nick: mysql-5.1.40sp1-release timestamp: Wed 2009-11-25 18:17:57 +0100 message: Backport into build-200911241145-5.1.40sp1 > ------------------------------------------------------------ > revno: 3184.7.1 > revision-id: luis.soares@sun.com-20091027151553-ri74b2zdchw8wyg7 > parent: joro@sun.com-20091019135504-e6fmhf4xyy0wdymb > 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.678.16 committer: MySQL Build Team branch nick: mysql-5.1.40sp1-release timestamp: Wed 2009-11-25 18:16:26 +0100 message: Backport into build-200911241145-5.1.40sp1 > ------------------------------------------------------------ > revno: 3184.3.13 > revision-id: joro@sun.com-20091019135504-e6fmhf4xyy0wdymb > parent: joro@sun.com-20091026095557-euhe1z9oxtgkw35h > 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.678.15 committer: MySQL Build Team branch nick: mysql-5.1.40sp1-release timestamp: Wed 2009-11-25 18:14:34 +0100 message: Backport into build-200911241145-5.1.40sp1 > ------------------------------------------------------------ > revno: 3182 [merge] > revision-id: ramil@mysql.com-20091018162655-z4dlolfx5s0zem8l > parent: alexey.kopytov@sun.com-20091016201951-fsht0wm8xn8vkzsx > parent: ramil@mysql.com-20091013044327-24km05wc060ied87 > 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. > ------------------------------------------------------------ > Use --include-merges or -n0 to see merged revisions. ------------------------------------------------------------ revno: 2555.678.14 committer: MySQL Build Team branch nick: mysql-5.1.40sp1-release timestamp: Wed 2009-11-25 18:11:54 +0100 message: Backport into build-200911241145-5.1.40sp1 > ------------------------------------------------------------ > revno: 3181 > revision-id: alexey.kopytov@sun.com-20091016201951-fsht0wm8xn8vkzsx > parent: joerg@mysql.com-20091016164025-kb4sbrggq5o7zufc > 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.678.13 committer: MySQL Build Team branch nick: mysql-5.1.40sp1-release timestamp: Wed 2009-11-25 18:09:30 +0100 message: Backport into build-200911241145-5.1.40sp1 > ------------------------------------------------------------ > revno: 3148.9.6 > revision-id: martin.hansson@sun.com-20091102122407-krzh4h0i052lbwr5 > parent: davi.arnaut@sun.com-20091102112236-k3myix2xy8miyv4s > 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.678.12 committer: MySQL Build Team branch nick: mysql-5.1.40sp1-release timestamp: Wed 2009-11-25 18:04:39 +0100 message: Backport into build-200911241145-5.1.40sp1 > ------------------------------------------------------------ > revno: 3148.9.3 > revision-id: azundris@mysql.com-20091029230154-jp2xqvzw2nhj9q41 > parent: azundris@mysql.com-20091027095316-54lwjr9vqkscq1ik > 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.678.11 committer: MySQL Build Team branch nick: mysql-5.1.40sp1-release timestamp: Wed 2009-11-25 18:00:46 +0100 message: Backport into build-200911241145-5.1.40sp1 > ------------------------------------------------------------ > revno: 3148.8.5 > revision-id: davi.arnaut@sun.com-20091102112139-pztthzy6qj8jzomn > parent: svoj@sun.com-20091103091902-vwszwwpfi1f4zrpn > 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.678.10 committer: MySQL Build Team branch nick: mysql-5.1.40sp1-release timestamp: Wed 2009-11-25 17:58:51 +0100 message: Backport into build-200911241145-5.1.40sp1 > ------------------------------------------------------------ > revno: 3148.13.4 > revision-id: svoj@sun.com-20091102144320-0hz2ti21em510ee5 > parent: svoj@sun.com-20091102144140-8de1z6mdy5dopw3j > 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.678.9 committer: MySQL Build Team branch nick: mysql-5.1.40sp1-release timestamp: Wed 2009-11-25 17:56:33 +0100 message: Backport into build-200911241145-5.1.40sp1 > ------------------------------------------------------------ > revno: 3148.13.3 > revision-id: svoj@sun.com-20091102144140-8de1z6mdy5dopw3j > parent: svoj@sun.com-20091102143655-lo69f57p82nky58q > 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.678.8 committer: MySQL Build Team branch nick: mysql-5.1.40sp1-release timestamp: Wed 2009-11-25 17:52:26 +0100 message: Backport into build-200911241145-5.1.40sp1 > ------------------------------------------------------------ > revno: 1810.3961.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.678.7 committer: MySQL Build Team branch nick: mysql-5.1.40sp1-release timestamp: Wed 2009-11-25 17:45:33 +0100 message: Backport into build-200911241145-5.1.40sp1 > ------------------------------------------------------------ > revno: 1810.3964.1 > revision-id: alexey.kopytov@sun.com-20091030155453-0vlfwki805h9os62 > parent: joerg@mysql.com-20091016122941-rf6z0keqvmlgjfto > 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.678.6 committer: MySQL Build Team branch nick: mysql-5.1.40sp1-release timestamp: Wed 2009-11-25 17:43:47 +0100 message: Backport into build-200911241145-5.1.40sp1 > ------------------------------------------------------------ > revno: 1810.3961.6 > revision-id: joro@sun.com-20091030094044-quadg0bwjy7cwqzw > parent: joro@sun.com-20091029152429-ks55fhrp4lhknyij > 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.678.5 committer: MySQL Build Team branch nick: mysql-5.1.40sp1-release timestamp: Wed 2009-11-25 17:42:10 +0100 message: Backport into build-200911241145-5.1.40sp1 > ------------------------------------------------------------ > revno: 1810.3961.12 > revision-id: li-bing.song@sun.com-20091103090041-zj7nedx6ok5jgges > parent: davi.arnaut@sun.com-20091102201021-1brn7cjb1kvqg9gr > 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.678.4 committer: MySQL Build Team branch nick: mysql-5.1.40sp1-release timestamp: Wed 2009-11-25 17:36:58 +0100 message: Backport into build-200911241145-5.1.40sp1 > ------------------------------------------------------------ > revno: 1810.3959.6 > revision-id: joro@sun.com-20091021084345-iki6z0uceieoupey > parent: ramil@mysql.com-20091023112648-gie6o3odj57cxh1e > 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.678.3 committer: MySQL Build Team branch nick: mysql-5.1.40sp1-release timestamp: Wed 2009-11-25 17:35:05 +0100 message: Backport into build-200911241145-5.1.40sp1 > ------------------------------------------------------------ > revno: 1810.3959.5 > revision-id: ramil@mysql.com-20091023112648-gie6o3odj57cxh1e > parent: ramil@mysql.com-20091021090408-208mvwwrcroi2j8c > 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.678.2 committer: MySQL Build Team branch nick: mysql-5.1.40sp1-release timestamp: Wed 2009-11-25 17:32:04 +0100 message: Backport into build-200911241145-5.1.40sp1 > ------------------------------------------------------------ > revno: 1810.3959.4 > revision-id: ramil@mysql.com-20091021090408-208mvwwrcroi2j8c > parent: azundris@mysql.com-20091021033856-ydodp4q42o58e7ka > 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: 2555.678.1 committer: Kent Boortz branch nick: mysql-5.1.40sp1-release timestamp: Wed 2009-11-25 13:23:25 +0100 message: Set version number for mysql-5.1.40sp1 release ------------------------------------------------------------ revno: 2555.677.3 author: karen.langford@sun.com committer: MySQL Build Team branch nick: mysql-5.1 timestamp: Wed 2009-12-02 18:52:19 +0100 message: Raise version number after cloning 5.1.42 ------------------------------------------------------------ revno: 2555.677.2 tags: clone-5.1.42-build committer: Satya B branch nick: mysql-5.1 timestamp: Wed 2009-12-02 15:17:49 +0530 message: Disable the test case innodb-autonic.test until BUG#49267 is fixed Add the test to disabled list and remove from the experimental list. ------------------------------------------------------------ revno: 2555.677.1 committer: Georgi Kodinov branch nick: fix-5.1-bugteam timestamp: Wed 2009-12-02 10:00:33 +0200 message: merge ------------------------------------------------------------ revno: 2555.675.3 committer: Ramil Kalimullin branch nick: mysql-5.1-bugteam timestamp: Wed 2010-01-13 15:04:59 +0400 message: Auto-merge. ------------------------------------------------------------ revno: 1810.3976.21 committer: Ramil Kalimullin branch nick: mysql-5.0-bugteam timestamp: Wed 2010-01-13 14:11:42 +0400 message: Auto-merge. ------------------------------------------------------------ revno: 1810.3980.1 committer: Ramil Kalimullin branch nick: b50227-5.0-bugteam timestamp: Wed 2010-01-13 09:20:45 +0400 message: Fix for bug#50227: Pre-auth buffer-overflow in mySQL through yaSSL Problem: copying issuer's (or subject's) name tags into an internal buffer from incoming stream we didn't check the buffer overflow. That may lead to memory overrun, crash etc. Fix: ensure we don't overrun the buffer. Note: there's no simple test case (exploit needed). ------------------------------------------------------------ revno: 2555.675.2 committer: Joerg Bruehe branch nick: push-5.1 timestamp: Wed 2010-01-13 11:36:48 +0100 message: Automerge from parent - no conflicts. ------------------------------------------------------------ revno: 2555.676.2 committer: Sven Sandberg branch nick: 5.1-bugteam timestamp: Wed 2010-01-13 10:00:03 +0100 message: BUG#49222: Mark RAND() as unsafe Problem: When RAND() is binlogged in statement mode, the seed is binlogged too, so the replication slave generates the same sequence of random numbers. This makes replication work in many cases, but not in all cases: the order of rows is not guaranteed for, e.g., UPDATE or INSERT...SELECT statements, so the row data will be different if master and slave retrieve the rows in different orders. Fix: Mark RAND() as unsafe. It will generate a warning if binlog_format=STATEMENT and switch to row-logging if binlog_format=ROW. ------------------------------------------------------------ revno: 2555.676.1 committer: Gleb Shchepa branch nick: mysql-5.1-bugteam timestamp: Wed 2010-01-13 08:16:36 +0400 message: Bug #50096: CONCAT_WS inside procedure returning wrong data Selecting of the CONCAT_WS(......) result into a user variable may return wrong data. Item_func_concat_ws::val_str contains a number of memory allocation-saving optimization tricks. After the fix for bug 46815 the control flow has been changed to a branch that is commented as "This is quite uncommon!": one of places where we are trying to concatenate strings inplace. However, that "uncommon" place didn't care about PS parameters, that have another trick in Item_sp_variable::val_str(): they use the intermediate Item_sp_variable::str_value field, where they may store a reference to an external argument's buffer. The Item_func_concat_ws::val_str function has been modified to take into account val_str functions (such as Item_sp_variable::val_str) that return a pointer to an internal Item member variable that may reference to a buffer provided. ------------------------------------------------------------ revno: 2555.675.1 committer: Joerg Bruehe branch nick: push-5.1 timestamp: Tue 2010-01-12 12:57:51 +0100 message: Upmerge the changes for RPM versioning/naming from 5.0 to 5.1. This includes "MYSQL_U_SCORE_VERSION" in "configure.in". ------------------------------------------------------------ revno: 1810.3976.20 committer: Joerg Bruehe branch nick: push-5.0 timestamp: Tue 2010-01-12 12:41:18 +0100 message: Implement the change of RPM versioning and file naming: - "release" starts from 1 - "level" ("m2", "rc", ...) is included in the RPM version. ------------------------------------------------------------ revno: 1810.3976.19 committer: Joerg Bruehe branch nick: push-5.0 timestamp: Tue 2010-01-12 12:12:42 +0100 message: Merge from main tree, but don't take the "tree name" change. ------------------------------------------------------------ revno: 1810.3979.2 author: karen.langford@sun.com committer: MySQL Build Team branch nick: mysql-5.0 timestamp: Tue 2009-12-08 16:35:00 +0100 message: Raise version number after cloning 5.0.89 ------------------------------------------------------------ revno: 1810.3979.1 tags: clone-5.0.89-build committer: Georgi Kodinov branch nick: fix-5.0-bugteam timestamp: Wed 2009-12-02 09:58:30 +0200 message: tree name change to -main ------------------------------------------------------------ revno: 2555.623.124 committer: Martin Hansson branch nick: 5.1bt-commit timestamp: Tue 2010-01-12 15:16:26 +0100 message: Bug#48157: crash in Item_field::used_tables MySQL handles the join syntax "JOIN ... USING( field1, ... )" and natural joins by building the same parse tree as a corresponding join with an "ON t1.field1 = t2.field1 ..." expression would produce. This parse tree was not cleaned up properly in the following scenario. If a thread tries to lock some tables and finds that the tables were dropped and re-created while waiting for the lock, it cleans up column references in the statement by means a per-statement free list. But if the statement was part of a stored procedure, column references on the stored procedure's free list weren't cleaned up and thus contained pointers to freed objects. Fixed by adding a call to clean up the current prepared statement's free list. ------------------------------------------------------------ revno: 2555.623.123 committer: Joerg Bruehe branch nick: push-5.1 timestamp: Mon 2010-01-11 19:23:36 +0100 message: Implement the change of RPM versioning and file naming: - "release" starts from 1 - "level" ("m2", "rc", ...) is included in the RPM version. ------------------------------------------------------------ revno: 2555.623.122 committer: Gleb Shchepa branch nick: mysql-5.1-bugteam timestamp: Mon 2010-01-11 18:31:06 +0400 message: manual merge 5.0-bugteam --> 5.1-bugteam (bug 49955) ------------------------------------------------------------ revno: 1810.3976.18 committer: Gleb Shchepa branch nick: mysql-5.0-bugteam timestamp: Mon 2010-01-11 18:21:22 +0400 message: Bug #49955: ld error message: undefined reference to `strmov_overlapp' 32bit builds with the --enable-assembler flag (enabled by default) fail with an error message: undefined reference to `strmov_overlapp'. Since the fix for bug 48866 we use a home-grown strmov function instead of the ctpcpy function, but the source file for this function was missed in the Makefile.am. The strings/Makefile.am file has been modified to include strmov.c file into ASSEMBLER_x86 and ASSEMBLER_sparc32 sections. ------------------------------------------------------------ revno: 2555.623.121 committer: branch nick: mysql-5.1-bugteam timestamp: Fri 2010-01-08 23:32:40 +0800 message: Postfix Recover the right contents of the index file at the end of the test case. ------------------------------------------------------------ revno: 2555.623.120 committer: branch nick: mysql-5.1-bugteam timestamp: Fri 2010-01-08 13:42:23 +0800 message: BUG #28421 Infinite loop on slave relay logs Manually deleteing one or more entries from 'master-bin.index', will cause master infinitely loop to send one binlog file. When starting a dump session, master opens index file and search the binlog file which is being requested by the slave. The position of the binlog file in the index file is recorded. it will be used to find the next binlog file when current binlog file has dumped completely. As only the position is used, it may not get the correct file if some entries has been removed manually from the index file. the master will reopen the current binlog file which has been dump completely and redump it if it can not get the next binlog file's name from index file. It obviously is a logical error. Even though it is allowed to manually change index file, but it is not recommended. so after this patch, master sends a fatal error to slave and close the dump session if a new binlog file has been generated and master can not get it from the index file. ------------------------------------------------------------ revno: 2555.623.119 committer: Luis Soares branch nick: mysql-5.1-bugteam-push timestamp: Thu 2010-01-07 10:34:27 +0000 message: merge: 5.1-bugteam bug branch --> 5.1 bugteam latest. ------------------------------------------------------------ revno: 2555.674.1 committer: Luis Soares branch nick: mysql-5.1-bugteam timestamp: Sun 2009-12-06 01:11:32 +0000 message: BUG#49479: Slave stops with syntax error: LOAD DATA event without escaped field names When in mixed or statement mode, the master logs LOAD DATA queries by resorting to an Execute_load_query_log_event. This event does not contain the original query, but a rewritten version of it, which includes the table field names. However, the rewrite does not escape the field names. If these names match a reserved keyword, then the slave will stop with a syntax error when executing the event. We fix this by escaping the fields names as it happens already for the table name. ------------------------------------------------------------ revno: 2555.623.118 committer: Georgi Kodinov branch nick: B49734-v2-5.1-bugteam timestamp: Wed 2010-01-06 12:24:51 +0200 message: Addendum to Bug #49734 : fixed an unstable test case. ------------------------------------------------------------ revno: 2555.623.117 committer: branch nick: mysql-5.1-bugteam timestamp: Wed 2010-01-06 13:28:06 +0800 message: Bug #49137 Replication failure on SBR/MBR + multi-table DROP TEMPORARY TABLE Fixed valgrind failure on PB2. ------------------------------------------------------------ revno: 1810.3976.17 committer: branch nick: mysql-5.0-bugteam timestamp: Wed 2010-01-06 13:12:40 +0800 message: Bug #49137 Replication failure on SBR/MBR + multi-table DROP TEMPORARY TABLE Fixed valgrind failure on PB2. ------------------------------------------------------------ revno: 2555.623.116 committer: branch nick: mysql-5.1-bugteam timestamp: Wed 2010-01-06 10:44:14 +0800 message: Bug #49137 Replication failure on SBR/MBR + multi-table DROP TEMPORARY TABLE Fixed valgrind failure on PB2. ------------------------------------------------------------ revno: 1810.3976.16 committer: branch nick: mysql-5.0-bugteam timestamp: Wed 2010-01-06 10:36:29 +0800 message: Bug #49137 Replication failure on SBR/MBR + multi-table DROP TEMPORARY TABLE Fixed valgrind failure on PB2. ------------------------------------------------------------ revno: 2555.623.115 committer: He Zhenxing branch nick: 5.1-bugteam timestamp: Tue 2010-01-05 14:25:29 +0800 message: Bug#48776 row based replication breaks with spatial / geometry types, cause crashes! This bug is the same problem as Bug 49836 for 5.1 versions. ------------------------------------------------------------ revno: 2555.623.114 committer: branch nick: mysql-5.1-bugteam timestamp: Thu 2009-12-31 12:04:19 +0800 message: Bug #49137 Replication failure on SBR/MBR + multi-table DROP TEMPORARY TABLE In statement-based or mixed-mode replication, use DROP TEMPORARY TABLE to drop multiple tables causes different errors on master and slave, when one or more of these tables do not exist. Because when executed on slave, it would automatically add IF EXISTS to the query to ignore all ER_BAD_TABLE_ERROR errors. To fix the problem, do not add IF EXISTS when executing DROP TEMPORARY TABLE on the slave, and clear the ER_BAD_TABLE_ERROR error after execution if the query does not expect any errors. ------------------------------------------------------------ revno: 1810.3976.15 committer: branch nick: mysql-5.0-bugteam timestamp: Thu 2009-12-31 11:33:10 +0800 message: Bug #49137 Replication failure on SBR/MBR + multi-table DROP TEMPORARY TABLE In statement-based or mixed-mode replication, use DROP TEMPORARY TABLE to drop multiple tables causes different errors on master and slave, when one or more of these tables do not exist. Because when executed on slave, it would automatically add IF EXISTS to the query to ignore all ER_BAD_TABLE_ERROR errors. To fix the problem, do not add IF EXISTS when executing DROP TEMPORARY TABLE on the slave, and clear the ER_BAD_TABLE_ERROR error after execution if the query does not expect any errors. ------------------------------------------------------------ revno: 2555.623.113 committer: Ramil Kalimullin branch nick: mysql-5.1-bugteam timestamp: Sat 2009-12-26 15:25:56 +0400 message: Auto-merge. ------------------------------------------------------------ revno: 1810.3976.14 committer: Ramil Kalimullin branch nick: mysql-5.0-bugteam timestamp: Sat 2009-12-26 14:59:56 +0400 message: Auto-merge. ------------------------------------------------------------ revno: 1810.3978.1 committer: Ramil Kalimullin branch nick: b49570-5.0-bugteam timestamp: Tue 2009-12-22 10:39:29 +0400 message: Fix for bug#49570: Assertion failed: !(order->used & map) on re-execution of prepared statement Problem: some (see eq_ref_table()) ORDER BY/GROUP BY optimization is called before each PS execution. However, we don't properly initialize its stucture every time before the call. Fix: properly initialize the sturture used. ------------------------------------------------------------ revno: 2555.623.112 committer: Luis Soares branch nick: mysql-5.1-bugteam-push timestamp: Thu 2009-12-24 15:26:15 +0000 message: BUG#48738: null merge mysql-5.0-bugteam into mysql-5.1-bugteam latest. ------------------------------------------------------------ revno: 1810.3976.13 committer: Luis Soares branch nick: mysql-5.0-bugteam-push timestamp: Thu 2009-12-24 15:20:58 +0000 message: BUG#48738: post-push fix. Multi-platform test improvements, mainly to make the test run gracefully on windows. There was also a syntax error in windows part of the test. ------------------------------------------------------------ revno: 2555.623.111 committer: Georgi Kodinov branch nick: B49734-5.1-bugteam timestamp: Tue 2009-12-22 17:52:15 +0200 message: Bug #49734: Crash on EXPLAIN EXTENDED UNION ... ORDER BY Several problems fixed : 1. Non constant expressions in UNION ... ORDER BY were not correctly cleaned up in st_select_lex_unit::cleanup() causing crashes in EXPLAIN EXTENDED because of fields quoted by these expressions pointing to the already freed temporary table used to calculate the UNION. Fixed by correctly cleaning up expressions of any depth. 2. Subqueries in the order by part of UNION ... ORDER BY ... caused a crash in EXPLAIN EXTENDED because of a transformation attempt made during EXPLAIN EXTENDED execution. Fixed by not doing the transformation when in EXPLAIN. 3. Fulltext functions caused crash when in the ORDER BY part of an un-parenthesized UNION that gets "promoted" to be valid for the whole union, e.g. SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY MATCHES (a) AGAINST ('abc' IN BOOLEAN MODE). This is a case that demonstrates a more general problem of parts of the query being moved to another level. When doing such transformation late in the optimization run when most of the flags about the contents of the query are already aggregated it's possible to "split" the flags so that they correctly reflect the new queries after the transformation. In specific the ST_SELECT_LEX::ftfunc_list is holding all the free text function for all the parts of the second SELECT in the UNION and we don't know what part of that is in the ORDER BY that we're to move to the UNION level and what part is about the other parts of the second SELECT. Fixed by throwing and error when such statements are about to be processed by adding a check for the presence of MATCH() inside the ORDER BY clause that's going to get promoted to UNION. To workaround this new limitation one must parenthesize the UNION SELECTs and provide a real global ORDER BY for the UNION outside of the parenthesis. ------------------------------------------------------------ revno: 2555.623.110 committer: Georgi Kodinov branch nick: B48866-5.1-bugteam timestamp: Thu 2009-12-24 11:00:04 +0200 message: merge ------------------------------------------------------------ revno: 1810.3976.12 committer: Georgi Kodinov branch nick: B48866-5.0-bugteam timestamp: Wed 2009-12-16 19:31:19 +0200 message: Bug #48866: mysql.test fails under Fedora 12 strmov() is not guaranteed to work correctly on overlapping source and destination buffers. On some OSes it may work, but Fedora 12 has a stpcpy() that's not working correctly on overlapping buffers. Fixed to use the overlap-safe version of strmov instead. Re-vitalized the overlap-safe version of strmov. ------------------------------------------------------------ revno: 2555.623.109 committer: Georgi Kodinov branch nick: B31145-5.1-bugteam timestamp: Fri 2009-12-18 14:00:30 +0200 message: Bug #31145: ALTER TABLE DROP COLUMN, ADD COLUMN crashes (linux) or freezes (win) the server The check for equality was assuming the field object is always created. If it's not it was de-referencing a NULL pointer. Fixed to use the data in the create object instead. ------------------------------------------------------------ revno: 2555.623.108 committer: Satya B branch nick: mysql-5.1-bugteam-37408 timestamp: Thu 2009-12-24 12:04:31 +0530 message: merge mysql-5.0-bugteam to mysql-5.1-bugteam ------------------------------------------------------------ revno: 1810.3976.11 committer: Satya B branch nick: mysql-5.0-bugteam-37408 timestamp: Thu 2009-12-24 12:02:29 +0530 message: Bug#49898 - Fix for bug#37408 introduces a linker error the declaration of THR_LOCK_myisam_mmap in mi_static is redundant as it accessible via the extern declaration in include/myisam.h ------------------------------------------------------------ revno: 2555.623.107 committer: Luis Soares branch nick: mysql-5.1-bugteam-push timestamp: Thu 2009-12-24 02:28:10 +0000 message: BUG#48738: null merge into mysql-5.1-bugteam latest. ------------------------------------------------------------ revno: 1810.3976.10 committer: Luis Soares branch nick: mysql-5.0-bugteam-push timestamp: Thu 2009-12-24 02:26:29 +0000 message: BUG#48738: merge local branch into mysql-5.0-bugteam latest. ------------------------------------------------------------ revno: 1810.3977.1 committer: Luis Soares branch nick: mysql-5.0-bugteam timestamp: Fri 2009-11-13 10:30:56 +0000 message: BUG#48738: Backport patch for Bug 34582 to 5.0 codebase. From BUG 34582 commit message: 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.623.106 committer: Sergey Glukhov branch nick: mysql-5.1-bugteam timestamp: Wed 2009-12-23 17:44:03 +0400 message: Bug#47649 crash during CALL procedure If first call of the procedure is failed on the open_table stage stmt_arena->state is set to EXECUTED state. On second call(if no errors on open_table stage) it leads to use of worng memory arena in find_field_in_view() function as thd->stmt_arena->is_stmt_prepare_or_first_sp_execute() returns FALSE for EXECUTED state. The item is created not in its own arena and it leads to crash on further calls of the procedure. The fix: change state of arena only if no errors on open_table stage happens. ------------------------------------------------------------ revno: 2555.623.105 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Wed 2009-12-23 12:39:03 +0530 message: merge to mysql-5.1-bugteam ------------------------------------------------------------ revno: 2555.672.3 committer: Satya B branch nick: mysql-5.1-bugteam-push timestamp: Tue 2009-12-22 18:34:13 +0530 message: merge to mysql-5.1-bugteam ------------------------------------------------------------ revno: 2555.673.1 committer: Sergey Glukhov branch nick: mysql-5.1-bugteam timestamp: Tue 2009-12-22 14:38:33 +0400 message: 5.0-bugteam->5.1-bugteam merge ------------------------------------------------------------ revno: 1810.3976.9 committer: Sergey Glukhov branch nick: mysql-5.0-bugteam timestamp: Tue 2009-12-22 13:52:23 +0400 message: Bug#47371 reference by same column name At the end of execution top level join execution we cleanup this join with true argument. It leads to underlying join cleanup(subquery) with true argument too and to tmp_table_param->field array cleanup which is required later. The problem is that Item_func_set_user_var does not set result_filed which leads to unnecessary repeated excution of subquery on final stage. The fix is to set result_field for Item_func_set_user_var. ------------------------------------------------------------ revno: 1810.3976.8 committer: Serge Kozlov branch nick: mysql-5.0-bugteam timestamp: Mon 2009-12-21 14:40:08 +0300 message: Bug#8693, Bug#45521. ------------------------------------------------------------ revno: 2555.672.2 committer: Satya B branch nick: mysql-5.1-bugteam-push timestamp: Tue 2009-12-22 18:33:39 +0530 message: Removing rpl.rpl_trigger from experimental list as it is Fixed by BUG#46656 ------------------------------------------------------------ revno: 2555.672.1 committer: Mattias Jonsson branch nick: topush-51-bugteam timestamp: Tue 2009-12-22 00:06:36 +0100 message: merge ------------------------------------------------------------ revno: 2555.671.1 committer: Mattias Jonsson branch nick: b47261-51-bugteam_only_optimizer timestamp: Tue 2009-11-17 20:02:16 +0100 message: Bug#48846: Too much time spent in ha_partition::records_in_range if not able to prune Problem was that ha_partition::records_in_range called records_in_range for all non pruned partitions, even if an estimate should be given. Solution is to only use 1/3 of the partitions (up to 10) for records_in_range and estimate the total from this subset. (And continue until a non zero return value from the called partitions records_in_range is given, since 0 means no rows will match.) ------------------------------------------------------------ revno: 2555.623.104 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Wed 2009-12-23 12:29:34 +0530 message: Applying InnoDB snapshot 5.1-ss6344, Fixes BUG#47814 and also applying 5.1-ss6355 Detailed revision comments: r6324 | jyang | 2009-12-17 06:54:24 +0200 (Thu, 17 Dec 2009) | 8 lines branches/5.1: Fix bug #47814 - Diagnostics are frequently not printed after a long lock wait in InnoDB. Separate out the lock wait timeout check thread from monitor information printing thread. rb://200 Approved by Marko. r6349 | marko | 2009-12-22 11:09:54 +0200 (Tue, 22 Dec 2009) | 3 lines branches/5.1: lock_print_info_summary(): Remove a reference to innobase_mysql_end_print_arbitrary_thd() that should have been removed in r6347 when removing the function. r6350 | marko | 2009-12-22 11:11:09 +0200 (Tue, 22 Dec 2009) | 1 line branches/5.1: Remove an obsolete declaration of LOCK_thread_count. ------------------------------------------------------------ revno: 2555.623.103 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Mon 2009-12-21 15:50:32 +0530 message: Applying InnoDB snapshot 5.1-ss6344, part 2. Fixes BUG#41609 but does not address the printouts issue Detailed revision comments: r6310 | marko | 2009-12-15 15:23:54 +0200 (Tue, 15 Dec 2009) | 30 lines branches/5.1: Merge r4922 from branches/zip. This the fix for the first part of Bug #41609 from InnoDB Plugin to the built-in InnoDB in MySQL 5.1. This allows InnoDB Hot Backup to back up a database while the built-in InnoDB in MySQL 5.1 is creating temporary tables. (This fix does not address the printouts about missing .ibd files for temporary tables at InnoDB startup, which was committed to branches/zip in r6252.) rb://219 approved by Sunny Bains. branches/zip: Distinguish temporary tables in MLOG_FILE_CREATE. This addresses Mantis Issue #23 in InnoDB Hot Backup and some of MySQL Bug #41609. In MLOG_FILE_CREATE, we need to distinguish temporary tables, so that InnoDB Hot Backup can work correctly. It turns out that we can do this easily, by using a bit of the previously unused parameter for page number. (The page number parameter of MLOG_FILE_CREATE has been written as 0 ever since MySQL 4.1, which introduced MLOG_FILE_CREATE.) MLOG_FILE_FLAG_TEMP: A flag for indicating a temporary table in the page number parameter of MLOG_FILE_ operations. fil_op_write_log(): Add the parameter log_flags. fil_op_log_parse_or_replay(): Add the parameter log_flags. Do not replay MLOG_FILE_CREATE when MLOG_FILE_FLAG_TEMP is set in log_flags. This only affects ibbackup --apply-log. InnoDB itself never replays file operations. ------------------------------------------------------------ revno: 2555.623.102 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Mon 2009-12-21 15:41:38 +0530 message: Applying InnoDB snapshot 5.1-ss6344, part 1. Fixes BUG#49267 Detailed revision comments: r6306 | calvin | 2009-12-14 15:12:46 +0200 (Mon, 14 Dec 2009) | 5 lines branches/5.1: fix bug#49267: innodb-autoinc.test fails on windows because of different case mode There is no change to the InnoDB code, only to fix test case by changing "T1" to "t1". ------------------------------------------------------------ revno: 2555.623.101 committer: He Zhenxing branch nick: 5.1-bugteam timestamp: Mon 2009-12-21 14:14:45 +0800 message: Bug#47638 The rpl_killed_ddl test fails on Windows When the $diff_statement variable for diff_master_slave.inc was put in multiple lines, the rear part of the statement would be missing when being executed on Windows systems. Fixed the problem by always putting the value for $diff_statement in one line. ------------------------------------------------------------ revno: 2555.623.100 committer: Staale Smedseng branch nick: 43397b-51 timestamp: Sun 2009-12-20 19:02:15 +0100 message: Bug#43397 mysql headers redefine pthread_mutex_init unnecessarily Changing an instance of the define that was missed in the original commit due to the fact that it was misspelled. ------------------------------------------------------------ revno: 2555.623.99 committer: Davi Arnaut branch nick: mysql-5.1-bugteam timestamp: Fri 2009-12-18 18:32:55 -0200 message: Bug#30331: Table_locks_waited shows inaccurate values Post-merge fix: wait for statement result before disconnecting. Otherwise, the statement might affect unrelated tests. ------------------------------------------------------------ revno: 2555.623.98 committer: Davi Arnaut branch nick: 48983-5.1 timestamp: Fri 2009-12-18 17:14:09 -0200 message: Bug#48983: Bad strmake calls (length one too long) MySQL 5.1 specific fixes. ------------------------------------------------------------ revno: 2555.623.97 committer: Davi Arnaut branch nick: 48983-5.1 timestamp: Fri 2009-12-18 16:44:24 -0200 message: Manual merge. ------------------------------------------------------------ revno: 1810.3976.7 committer: Davi Arnaut branch nick: 48983-5.0 timestamp: Thu 2009-12-17 15:58:38 -0200 message: Bug#48983: Bad strmake calls (length one too long) The problem is a somewhat common misusage of the strmake function. The strmake(dst, src, len) function writes at most /len/ bytes to the string pointed to by src, not including the trailing null byte. Hence, if /len/ is the exact length of the destination buffer, a one byte buffer overflow can occur if the length of the source string is equal to or greater than /len/. ------------------------------------------------------------ revno: 2555.623.96 committer: Magne Mahre branch nick: mysql-5.1-bugteam timestamp: Fri 2009-12-18 11:48:34 +0100 message: Backport to 5.1 branch (next-mr revid: 2921) Bug#35589 SET PASSWORD caused a crash Bug#35591 FLUSH PRIVILEGES caused a crash A race condition on the privilege hash tables (proc_priv_hash and func_priv_hash) caused one thread to try to delete elements that had already been deleted by another thread. The bug was caused by reading and saving the pointers to the hash tables outside mutex protection. This led to an inconsistency where a thread copied a pointer to a hash, another thread did the same, the first thread then deleted the hash, and the second then crashed when it in turn tried to delete the deleted hash. The fix is to ensure that operations on the shared hash structures happens under mutex protection (moving the locking up a little) ------------------------------------------------------------ revno: 2555.623.95 committer: Jim Winstead branch nick: mysql-5.1-bugteam timestamp: Thu 2009-12-17 12:06:36 -0800 message: Merge approved bug fix ------------------------------------------------------------ revno: 2555.670.1 committer: Jim Winstead branch nick: mysql-5.1--bug47147 timestamp: Mon 2009-09-21 15:20:14 -0700 message: The mysql command line client ignored the --skip-column-names option when used in conjunction with --vertical. (Bug #47147, patch by Harrison Fisk) ------------------------------------------------------------ revno: 2555.623.94 committer: Jim Winstead branch nick: mysql-5.1-bugteam timestamp: Thu 2009-12-17 11:15:14 -0800 message: Merge with mysql-5.1-bugteam latest changes ------------------------------------------------------------ revno: 2555.667.5 committer: Alfranio Correia branch nick: mysql-5.1-bugteam-merge timestamp: Thu 2009-12-17 15:47:22 +0000 message: merge mysql-5.1-bugteam (local) --> mysql-5.1-bugteam ------------------------------------------------------------ revno: 2555.669.1 committer: Alfranio Correia branch nick: mysql-5.1-bugteam timestamp: Wed 2009-12-16 19:52:56 +0000 message: BUG#49638 binlog_index fails in mysql-trunk-merge Calling push_warning/push_warning_printf with a level of WARN_LEVEL_ERROR *is* a bug. We should either use my_error(), or WARN_LEVEL_WARN. ------------------------------------------------------------ revno: 2555.667.4 committer: Andrei Elkin branch nick: mysql-5.1-bugteam timestamp: Thu 2009-12-17 16:50:45 +0200 message: merge from 5.0 with bug@49740 fixes ------------------------------------------------------------ revno: 1810.3976.6 committer: Andrei Elkin branch nick: mysql-5.0-bugteam timestamp: Thu 2009-12-17 16:34:11 +0200 message: Bug #49740 rpl.rpl_temporary fails in PB2 in mysql-trunk-merge The test allowed random coincidence of connection ids for two concurrent sessions performing CREATE/DROP temp tables. Fixed with correcting the test. The sessions connection ids are not changed from their defaults anymore. ------------------------------------------------------------ revno: 2555.667.3 committer: Satya B branch nick: mysql-5.1-bugteam-37408 timestamp: Thu 2009-12-17 17:47:34 +0530 message: merge to mysql-5.1-bugteam ------------------------------------------------------------ revno: 2555.668.1 committer: Martin Hansson branch nick: 5.1bt-commit timestamp: Thu 2009-12-17 10:55:18 +0100 message: Bug#47650: using group by with rollup without indexes returns incorrect results with where An outer join of a const table (outer) and a normal table (inner) with GROUP BY on a field from the outer table would optimize away GROUP BY, and thus trigger the optimization to do away with a temporary table if grouping was performed on columns from the const table, hence executing the query with filesort without temporary table. But this should not be done if there is a non-indexed access to the inner table, since filesort does not handle joins. It expects either ref access, range ditto or table scan. The join condition will thus not be applied. Fixed by always forcing execution with temporary table in the case of ROLLUP with a query involving an outer join. This is a slightly broader class of queries than need fixing, but it is hard to ascertain the position of a ROLLUP field wrt outer join with current query representation. ------------------------------------------------------------ revno: 2555.667.2 committer: Satya B branch nick: mysql-5.1-bugteam-37408 timestamp: Thu 2009-12-17 17:15:13 +0530 message: merge mysql-5.0-bugteam to mysql-5.1-bugteam ------------------------------------------------------------ revno: 1810.3976.5 committer: Satya B branch nick: mysql-5.0-bugteam-37408 timestamp: Thu 2009-12-17 16:55:50 +0530 message: Fix for Bug#37408 - Compressed MyISAM files should not require/use mmap() When compressed myisam files are opened, they are always memory mapped sometimes causing memory swapping problems. When we mmap the myisam compressed tables of size greater than the memory available, the kswapd0 process utilization is very high consuming 30-40% of the cpu. This happens only with linux kernels older than 2.6.9 With newer linux kernels, we don't have this problem of high cpu consumption and this option may not be required. The option 'myisam_mmap_size' is added to limit the amount of memory used for memory mapping of myisam files. This option is not dynamic. The default value on 32 bit system is 4294967295 bytes and on 64 bit system it is 18446744073709547520 bytes. Note: Testcase only tests the option variable. The actual bug has be to tested manually. ------------------------------------------------------------ revno: 2555.667.1 committer: Ramil Kalimullin branch nick: mysql-5.1-bugteam timestamp: Thu 2009-12-17 10:52:43 +0400 message: Auto-merge. ------------------------------------------------------------ revno: 1810.3976.4 committer: Ramil Kalimullin branch nick: b49465-5.0-bugteam timestamp: Thu 2009-12-17 09:55:03 +0400 message: Fix for bug#49465: valgrind warnings and incorrect live checksum... Problem: inserting a record we don't set unused null bits in the record buffer if no default field values used. That may lead to wrong live checksum calculation. Fix: set unused null bits in the record buffer in such cases. ------------------------------------------------------------ revno: 2555.623.93 committer: Jim Winstead branch nick: mysql-5.1-bugteam timestamp: Wed 2009-12-16 12:48:53 -0800 message: Merge approved bug fix ------------------------------------------------------------ revno: 2555.666.1 committer: Jim Winstead branch nick: mysql-5.1--bug48284 timestamp: Mon 2009-11-23 13:54:27 -0800 message: Fix C99 aliasing violation due to mismatched types that were papered over with a cast. (Bug #48284) ------------------------------------------------------------ revno: 2555.623.92 committer: Magne Mahre branch nick: mysql-5.1-bugteam-47017 timestamp: Wed 2009-12-16 20:53:56 +0100 message: Bug#47017 rpl_timezone fails on PB-2 with mismatch error The bug is caused by a race condition between the INSERT DELAYED thread and the client thread's FLUSH TABLE. The FLUSH TABLE does not guarantee (as is (wrongly) suggested in the test case) that the INSERT DELAYED is ever executed. The execution of the test case will thus not be deterministic. The fix has been to do a deterministic verification that both threads are complete by checking the content of the table. ------------------------------------------------------------ revno: 2555.623.91 committer: Georgi Kodinov branch nick: B48709-5.1-bugteam timestamp: Wed 2009-12-16 11:03:24 +0200 message: merge ------------------------------------------------------------ revno: 1810.3976.3 committer: Georgi Kodinov branch nick: B48709-5.0-bugteam timestamp: Tue 2009-12-15 19:10:06 +0200 message: Bug #48709: Assertion failed in sql_select.cc:11782: int join_read_key(JOIN_TAB*) The eq_ref access method TABLE_REF (accessed through JOIN_TAB) to save state and to track if this is the first row it finds or not. This state was not reset on subquery re-execution causing an assert. Fixed by resetting the state before the subquery re-execution. ------------------------------------------------------------ revno: 2555.623.90 committer: branch nick: mysql-5.1-bugteam timestamp: Wed 2009-12-16 12:41:15 +0800 message: Bug #46827 rpl_circular_for_4_hosts failed on PB2 This test case tests a circular replication of four hosts. A--->B--->C--->D--->A The replicate is slow and needs more time to replicate all data in the circle. The time it spends to replicate, sometimes, is longer than the time that wait_condition.inc spends to wait that all data has been replicated. This cause sporadical failure of this test case. This patch uses sync_slave_with_master to ensure that all data can be replicated successfully in the circle. ------------------------------------------------------------ revno: 2555.623.89 committer: branch nick: mysql-5.1-bugteam timestamp: Wed 2009-12-16 12:25:46 +0800 message: Postfix Only relative log events are showed. ------------------------------------------------------------ revno: 2555.623.88 committer: Georgi Kodinov branch nick: B48709-5.1-bugteam timestamp: Tue 2009-12-15 18:26:03 +0200 message: merge ------------------------------------------------------------ revno: 2555.665.1 committer: Georgi Kodinov branch nick: B48709-5.0-bugteam timestamp: Tue 2009-12-15 14:20:29 +0200 message: Bug #48709: Assertion failed in sql_select.cc:11782: int join_read_key(JOIN_TAB*) The eq_ref access method TABLE_REF (accessed through JOIN_TAB) to save state and to track if this is the first row it finds or not. This state was not reset on subquery re-execution causing an assert. Fixed by resetting the state before the subquery re-execution. ------------------------------------------------------------ revno: 2555.623.87 committer: Mattias Jonsson branch nick: topush-51-bugteam timestamp: Tue 2009-12-15 13:48:01 +0100 message: merge ------------------------------------------------------------ revno: 2555.664.1 committer: Mattias Jonsson branch nick: b49028-51-bugteam timestamp: Mon 2009-12-14 16:11:47 +0100 message: Recommit of patch for bug#49028 for 5.1. Includes both patch from bug#48737 (without test, which should go to next-mr) and test for bug#49028. ------------------------------------------------------------ revno: 2555.623.86 committer: Alexander Barkov branch nick: mysql-5.1-b49134 timestamp: Tue 2009-12-15 13:48:29 +0400 message: Bug#49134 5.1 server segfaults with 2byte collation file Problem: add_collation did not check that cs->number is smaller than the number of elements in the array all_charsets[], so server could crash when loading an Index.xml file with a collation ID greater the number of elements (for example when downgrading from 5.5). Fix: adding a condition to check that cs->number is not out of valid range. ------------------------------------------------------------ revno: 2555.623.85 committer: Jon Olav Hauglid branch nick: mysql-5.1-bugteam-bug48995 timestamp: Tue 2009-12-15 10:05:20 +0100 message: Bug #48995 abort missing DBUG_RETURN or .. in function "check_key_in_view" check_key_in_view() had one code branch which returned with "return TRUE" rather than "DBUG_RETURN(TRUE)". Only affected debug builds. No test case added. ------------------------------------------------------------ revno: 2555.623.84 committer: He Zhenxing branch nick: 5.1-bugteam timestamp: Tue 2009-12-15 14:48:28 +0800 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. I think this is safe as other "purge"-function(s) is called wo/ holding LOCK_log, e.g purge_master_logs ------------------------------------------------------------ revno: 2555.623.83 committer: branch nick: mysql-5.1-bugteam timestamp: Tue 2009-12-15 13:14:14 +0800 message: Bug #34628 LOAD DATA CONCURRENT INFILE drops CONCURRENT in binary log 'LOAD DATA CONCURRENT [LOCAL] INFILE ...' statment only is binlogged as 'LOAD DATA [LOCAL] INFILE ...' in SBR and MBR. As a result, if replication is on, queries on slaves will be blocked by the replication SQL thread. This patch write code to write 'CONCURRENT' into the log event if 'CONCURRENT' option is in the original statement in SBR and MBR. ------------------------------------------------------------ revno: 2555.623.82 committer: Alexey Kopytov branch nick: mysql-5.1-bugteam timestamp: Mon 2009-12-14 20:29:41 +0300 message: Automerge ------------------------------------------------------------ revno: 2555.663.2 committer: Andrei Elkin branch nick: 5.1-bt timestamp: Mon 2009-12-14 18:50:22 +0200 message: correction to the earlier merging: s/return/DBUG_RETURN/ ------------------------------------------------------------ revno: 2555.663.1 committer: Andrei Elkin branch nick: 5.1-bt timestamp: Mon 2009-12-14 18:32:22 +0200 message: merging 5.0-bt -> 5.1-bt to local branch with bug@47210 ------------------------------------------------------------ revno: 1810.3976.2 committer: Andrei Elkin branch nick: 5.0-bt-bug47210-start_slave_until_poss_reg_bug13861 timestamp: Mon 2009-12-14 16:44:10 +0200 message: merging 5.0-bt to local branch with bug@47210 ------------------------------------------------------------ revno: 1810.3976.1 committer: Andrei Elkin branch nick: 5.0-bt-bug47210-start_slave_until_poss_reg_bug13861 timestamp: Thu 2009-11-12 17:10:19 +0200 message: Bug #47210 first execution of "start slave until" stops too early Until-pos guarding did not distiguish the master originated events from ones that the slave can introduce to the relay log e.g Rotate to the next relay log at slave restarting. The local Rotate's coordinate are incomparable with the Until-master-pos. That led to the unexpectable stop this bug describes. Fixed with to avoid Until-master-pos comparison for a local slave's event. Notice that if --replicate-same-server is true such event is treated as coming from the master side. ------------------------------------------------------------ revno: 2555.623.81 committer: Alexey Kopytov branch nick: mysql-5.1-bugteam timestamp: Mon 2009-12-14 20:27:43 +0300 message: Post-push fixes for the bug #42849: All tests in the parts suite that use partitioning on a timezone-dependent expression were commented out, since it is not valid anymore. ------------------------------------------------------------ revno: 2555.623.80 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Mon 2009-12-14 13:42:26 +0530 message: Fix for BUG#49502 - CMake error compiling 5.1 on Windows When applying innodb snapshot 1.0.6 the storage engine name for innodb plugin under windows was changed from INNODB_PLUGIN to INNOBASE. This is a wrong and changing back the name to INNODB_PLUGIN. ------------------------------------------------------------ revno: 2555.623.79 committer: Alexey Kopytov branch nick: mysql-5.1-bugteam timestamp: Mon 2009-12-14 09:06:46 +0300 message: Post-merge test fix for bug #42849. ------------------------------------------------------------ revno: 2555.623.78 committer: lars-erik.bjork@sun.com branch nick: mysql-5.1-bugteam timestamp: Mon 2009-12-14 01:16:50 +0100 message: Merging ------------------------------------------------------------ revno: 1810.3971.25 committer: lars-erik.bjork@sun.com branch nick: mysql-5.0-bugteam timestamp: Mon 2009-12-14 00:58:16 +0100 message: This is a patch for Bug#48500 5.0 buffer overflow for ER_UPDATE_INFO, or truncated info message in 5.1 5.0.86 has a buffer overflow/crash, and 5.1.40 has a truncated message. errmsg.txt contains this: ER_UPDATE_INFO rum "Linii identificate (matched): %ld Schimbate: %ld Atentionari (warnings): %ld" When that is sprintf'd into a buffer of STRING_BUFFER_USUAL_SIZE size, a buffer overflow can happen. The solution to this is to use MYSQL_ERRMSG_SIZE for the buffer size, instead of STRING_BUFFER_USUAL_SIZE. This will allow longer strings. To avoid potential crashes, we will also use my_snprintf instead of sprintf. ------------------------------------------------------------ revno: 2555.623.77 committer: Alexey Kopytov branch nick: mysql-5.1-bugteam timestamp: Sun 2009-12-13 23:57:57 +0300 message: Automerge ------------------------------------------------------------ revno: 2555.662.1 committer: Alexey Kopytov branch nick: my51-bug42849 timestamp: Sun 2009-12-13 23:29:50 +0300 message: Bug #42849: innodb crash with varying time_zone on partitioned timestamp primary key Since TIMESTAMP values are adjusted by the current time zone settings in both numeric and string contexts, using any expressions involving TIMESTAMP values as a (sub)partitioning function leads to undeterministic behavior of partitioned tables. The effect may vary depending on a storage engine, it can be either incorrect data being retrieved or stored, or an assertion failure. The root cause of this is the fact that the calculated partition ID may differ from a previously calculated ID for the same data due to timezone adjustments of the partitioning expression value. Fixed by disabling any expressions involving TIMESTAMP values to be used in partitioning functions with the follwing two exceptions: 1. Creating or altering into a partitioned table that violates the above rule is not allowed, but opening existing such tables results in a warning rather than an error so that such tables could be fixed. 2. UNIX_TIMESTAMP() is the only way to get a timezone-independent value from a TIMESTAMP column, because it returns the internal representation (a time_t value) of a TIMESTAMP argument verbatim. So UNIX_TIMESTAMP(timestamp_column) is allowed and should be used to fix existing tables if one wants to use TIMESTAMP columns with partitioning. ------------------------------------------------------------ revno: 2555.623.76 committer: Staale Smedseng branch nick: 45058-51 timestamp: Sat 2009-12-12 19:11:25 +0100 message: Bug #45058 init_available_charsets uses double checked locking As documented in the bug report, the double checked locking pattern has inherent issues, and cannot guarantee correct initialization. This patch replaces the logic in init_available_charsets() with the use of pthread_once(3). A wrapper function, my_pthread_once(), is introduced and is used in lieu of direct calls to init_available_charsets(). Related defines MY_PTHREAD_ONCE_* are also introduced. For the Windows platform, the implementation in lp:sysbench is ported. For single-thread use, a simple define calls the function and sets the pthread_once control variable. Charset initialization is modified to use my_pthread_once(). ------------------------------------------------------------ revno: 2555.623.75 committer: Kent Boortz branch nick: mysql-5.1-bugteam timestamp: Fri 2009-12-11 19:16:04 +0100 message: Null merge of change in 5.0 to use -D_WIN32_WINNT=0x0500, Windows 2000 compatibility, not to change the -D_WIN32_WINNT=0x0501 in 5.1, XP compatibility. ------------------------------------------------------------ revno: 1810.3971.24 committer: Kent Boortz branch nick: mysql-5.0-bugteam timestamp: Fri 2009-12-11 19:11:49 +0100 message: Define _WIN32_WINNT to the minimum supported Windows version, 0x0500 i.e Windows 2000. Visual Studio 2003 and 2005 require _WIN32_WINNT >= 0x0500 (Win2000) for TryEnterCriticalSection. ------------------------------------------------------------ revno: 2555.623.74 committer: Georgi Kodinov branch nick: B49250-5.1-bugteam timestamp: Fri 2009-12-11 17:24:09 +0200 message: merge ------------------------------------------------------------ revno: 2555.659.4 committer: Evgeny Potemkin branch nick: mysql-5.1-bugteam timestamp: Fri 2009-12-11 16:08:29 +0300 message: Auto-merged fix for bug#49489. ------------------------------------------------------------ revno: 2555.661.1 committer: Evgeny Potemkin branch nick: 49489-bug-5.1-bugteam timestamp: Wed 2009-12-09 18:43:45 +0300 message: Bug#49489: Uninitialized cache led to a wrong result. Arg_comparator uses Item_cache objects to store constants being compared when they're need a type conversion. Because this cache wasn't initialized properly Arg_comparator might produce wrong comparison result. The Arg_comparator::cache_converted_constant function now initializes cache prior to usage. ------------------------------------------------------------ revno: 2555.623.73 committer: Georgi Kodinov branch nick: B49250-5.1-bugteam timestamp: Fri 2009-12-11 16:08:28 +0200 message: merge ------------------------------------------------------------ revno: 1810.3971.23 committer: Georgi Kodinov branch nick: B49250-5.0-bugteaam timestamp: Fri 2009-12-11 16:07:09 +0200 message: merge ------------------------------------------------------------ revno: 2555.623.72 committer: Georgi Kodinov branch nick: B49250-5.1-bugteam timestamp: Fri 2009-12-11 16:07:19 +0200 message: merge ------------------------------------------------------------ revno: 2555.659.3 committer: V Narayanan branch nick: mysql-5.1-bugteam-49329-02 timestamp: Fri 2009-12-11 17:27:12 +0530 message: merging with mysql-5.1-bugteam ------------------------------------------------------------ revno: 2555.660.1 committer: V Narayanan branch nick: mysql-5.1-bugteam-49329-01 timestamp: Fri 2009-12-11 12:31:16 +0530 message: Bug#49329 example (and other) engines use wrong collation for open tables hash This fix changes the character set used within the IBMDB2I handler to hash table names to information about open tables. Previously, tables with names that differed only in letter case would hash to the same data structure. This caused incorrect behavior or errors when two such tables were in use simultaneously. ------------------------------------------------------------ revno: 2555.659.2 committer: V Narayanan branch nick: mysql-5.1-bugteam-49521-01 timestamp: Fri 2009-12-11 12:46:57 +0530 message: Bug#49521 SHOW CREATE TABLE on IBMDB2I tables has incorrect fk constraint format The fix inserts newline and comma characters as appropriate into the constraint reporting code to match the formatting required by SHOW CREATE TABLE. Additionally, a erroneously duplicated copy of check_if_incompatible_data() was removed from db2i_constraints.cc since the correct version is already in ha_ibmdb2i.cc. ------------------------------------------------------------ revno: 2555.659.1 committer: branch nick: mysql-5.1-bugteam timestamp: Fri 2009-12-11 10:12:18 +0800 message: Bug #48742 Replication: incorrect help text for --init-slave The help text for --init-slave=name: "Command(s) that are executed when a slave connects to this master". This text indicate that the --init-slave option is set on a master server, and the master server passes the option's argument to slave which connects to it. This is wrong. Actually the --init-slave option just can be set on a slave server, and then the slave server executes the argument each time the SQL thread starts. Correct the help text for --init-slave option as following: "Command(s) that are executed by a slave server each time the SQL thread starts." ------------------------------------------------------------ revno: 1810.3975.1 committer: branch nick: mysql-5.0-bugteam timestamp: Fri 2009-12-11 09:57:38 +0800 message: Bug #48742 Replication: incorrect help text for --init-slave The help text for --init-slave=name: "Command(s) that are executed when a slave connects to this master". This text indicate that the --init-slave option is set on a master server, and the master server passes the option's argument to slave which connects to it. This is wrong. Actually the --init-slave option just can be set on a slave server, and then the slave server executes the argument each time the SQL thread starts. Correct the help text for --init-slave option as following: "Command(s) that are executed by a slave server each time the SQL thread starts." ------------------------------------------------------------ revno: 2555.623.71 committer: Georgi Kodinov branch nick: B49250-5.1-bugteam timestamp: Fri 2009-12-11 16:02:47 +0200 message: merge of bug #49250 to 5.1-bugteam ------------------------------------------------------------ revno: 1810.3971.22 committer: Georgi Kodinov branch nick: B49250-5.0-bugteaam timestamp: Thu 2009-12-10 11:28:38 +0200 message: Bug #49250 : spatial btree index corruption and crash SPATIAL and FULLTEXT indexes don't support algorithm selection. Disabled by creating a special grammar rule for these in the parser. Added some encasulation of duplicate parser code. ------------------------------------------------------------ revno: 2555.623.70 committer: Georgi Kodinov branch nick: B42760-5.1-bugteam timestamp: Thu 2009-12-10 17:38:01 +0200 message: merge ------------------------------------------------------------ revno: 1810.3971.21 committer: Georgi Kodinov branch nick: B42760-5.0-bugteam timestamp: Mon 2009-12-07 16:38:56 +0200 message: Bug #42760: Select doesn't return desired results when we have null values Part 2 : There was a special optimization on the ref access method for ORDER BY ... DESC that was set without actually looking on the type of the selected index for ORDER BY. Fixed the SELECT ... ORDER BY .. DESC (it uses a different code path compared to the ASC that has been fixed with the previous fix). ------------------------------------------------------------ revno: 2555.623.69 committer: Ramil Kalimullin branch nick: mysql-5.1-bugteam timestamp: Thu 2009-12-10 11:03:23 +0400 message: Auto-merge. ------------------------------------------------------------ revno: 2555.658.1 committer: Gleb Shchepa branch nick: mysql-5.1-bugteam timestamp: Thu 2009-12-10 10:05:44 +0400 message: Bug #49480: WHERE using YEAR columns returns unexpected results A few problems were found in the fix for bug 43668: 1) Comparison of the YEAR column with NULL always returned TRUE; 2) Comparison of the YEAR column with constants always returned unpredictable result; 3) Unnecessary conversion warnings when comparing a non-integer constant with a NULL value in the YEAR column; The problems described above have been resolved with an exception: zero (i.e. invalid) YEAR column value comparison with 00 or 2000 still fail (it is not a regression and it was not a regression), so MIN/MAX on YEAR column containing zero value still fail. ------------------------------------------------------------ revno: 2555.623.68 committer: Ramil Kalimullin branch nick: mysql-5.1-bugteam timestamp: Thu 2009-12-10 10:31:52 +0400 message: Manual merge. ------------------------------------------------------------ revno: 1810.3971.20 committer: Ramil Kalimullin branch nick: mysql-5.0-bugteam timestamp: Thu 2009-12-10 09:51:08 +0400 message: Auto-merge. ------------------------------------------------------------ revno: 1810.3974.1 committer: Ramil Kalimullin branch nick: b49199-5.0-bugteam timestamp: Fri 2009-12-04 21:58:40 +0400 message: Fix for bug#49199: Optimizer handles incorrectly: field='const1' AND field='const2' in some cases Building multiple equality predicates containing a constant which is compared as a datetime (with a field) we should take this fact into account and compare the constant with another possible constatns as datetimes as well. E.g. for the SELECT ... WHERE a='2001-01-01' AND a='2001-01-01 00:00:00' we should compare '2001-01-01' with '2001-01-01 00:00:00' as datetimes but not as strings. ------------------------------------------------------------ revno: 2555.623.67 committer: He Zhenxing branch nick: 5.1-bugteam timestamp: Thu 2009-12-10 12:56:10 +0800 message: Auto merge ------------------------------------------------------------ revno: 2555.656.2 committer: Alfranio Correia branch nick: mysql-5.1-bugteam-merge timestamp: Wed 2009-12-09 11:03:01 +0000 message: merge mysql-5.1-bugteam (local) --> mysql-5.1-bugteam ------------------------------------------------------------ revno: 2555.657.1 committer: Alfranio Correia branch nick: mysql-5.1-bugteam timestamp: Tue 2009-12-08 16:03:19 +0000 message: Post-push fix for BUG#45292. Disabled execution in valgrind to avoid false positive memory leaks due to fault-injection tests (i.e. call to abort()). ------------------------------------------------------------ revno: 2555.656.1 committer: Olav Sandstaa branch nick: bug-XXX-5.1 timestamp: Wed 2009-12-09 10:16:11 +0100 message: Fix for Bug#49506 Valgrind error in make_cond_for_table_from_pred This fix has been proposed by Sergey Petrunya and has been contributed under SCA by sca@askmonty.org. The cause for this valgrind error is that in the function add_cond_and_fix() in sql_select.cc an Item_cond_and object is created. This is marked as fixed but does not have a correct table_map() attribute. Later, in make_join_select(), if engine_condition_pushdown is in use, this table map is used and results in the valgrind error. The fix is to add a call to update_used_tables() in add_cond_and_fix() so that the table map is updated correctly. This patch is tested by multiple existing tests (e.g. the tests innodb_mysql, innodb, fulltext, compress all produces this valgrind warning/error without this fix). ------------------------------------------------------------ revno: 2555.623.66 committer: He Zhenxing branch nick: 5.1-bugteam timestamp: Thu 2009-12-10 11:51:42 +0800 message: Merge from 5.0-bugteam ------------------------------------------------------------ revno: 1810.3971.19 committer: He Zhenxing branch nick: 5.0-bugteam timestamp: Thu 2009-12-10 11:44:19 +0800 message: Post fix for bug#45520 ------------------------------------------------------------ revno: 2555.623.65 committer: He Zhenxing branch nick: 5.1-bugteam timestamp: Wed 2009-12-09 14:39:07 +0800 message: Merge from 5.0-bugteam ------------------------------------------------------------ revno: 1810.3971.18 committer: He Zhenxing branch nick: 5.0-bugteam timestamp: Wed 2009-12-09 14:27:46 +0800 message: removed rpl_killed_ddl from disabled list ------------------------------------------------------------ revno: 2555.623.64 committer: He Zhenxing branch nick: 5.1-bugteam timestamp: Wed 2009-12-09 14:24:54 +0800 message: Merge Bug#45520 fix from 5.0-bugteam ------------------------------------------------------------ revno: 1810.3971.17 committer: He Zhenxing branch nick: 5.0-bugteam timestamp: Wed 2009-12-09 14:13:56 +0800 message: BUG#45520 rpl_killed_ddl fails sporadically in pb2 There are three issues that caused rpl_killed_ddl fails sporadically in pb2: 1) thd->clear_error() was not called before create Query event if operation is executed successfully. 2) DATABASE d2 might do exist because the statement to CREATE or ALTER it was killed 3) because of bug 43353, kill the query that do DROP FUNCTION or DROP PROCEDURE can result in SP not found This patch fixed all above issues by: 1) Called thd->clear_error() if the operation succeeded. 2) Add IF EXISTS to the DROP DATABASE d2 statement 3) Temporarily disabled testing DROP FUNCTION/PROCEDURE IF EXISTS. ------------------------------------------------------------ revno: 2555.623.63 committer: Luis Soares branch nick: mysql-5.1-bugteam timestamp: Mon 2009-12-07 00:28:14 +0000 message: Automerge bzr bundle in bug report into local mysql-5.1-bugteam latest. ------------------------------------------------------------ revno: 2555.655.1 committer: Luis Soares branch nick: mysql-5.1 timestamp: Mon 2009-11-09 17:36:13 +0000 message: BUG#48357: SHOW BINLOG EVENTS: Wrong offset or I/O error In function log_event.cc:Query_log_event::write, there was a cast that was triggering undefined behavior. The offending cast is the following: write_str_with_code_and_len((char **)(&start), catalog, catalog_len, Q_CATALOG_NZ_CODE); This results in calling write_str_with_code_and_len with first argument pointing to a (char **) while "start" is itself a pointer to uchar (uchar *). Inside write_str_with_..., the content of start is then be updated: (*dst)+= len; The instruction above would cause the (*dst) pointer (ie, the "start" argument, from the caller point of view, and which actually points to uchar instead of pointing to char) to be updated so that it would increment catalog_len. However, this seems to break strict-aliasing rules ultimately causing the increment and assignment to behave unexpectedly. We fix this by removing the cast and by making the types match. ------------------------------------------------------------ revno: 2555.623.62 committer: Luis Soares branch nick: mysql-5.1-bugteam-to-push timestamp: Sun 2009-12-06 23:36:07 +0000 message: Automerge bzr bundle from bug report. Removed rpl_cross_version from experimental list. ------------------------------------------------------------ revno: 2555.654.1 committer: Luis Soares branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-24 20:04:02 +0000 message: BUG#48340: rpl_cross_version: Found warnings/errors in server log file! Valgrind reports a conditional jump that depends on uninitialized data while doing a LOAD DATA and for this test case only. This test case, tests that loading data from a 4.0 or 4.1 instance into a 5.1 instance is working. As such it handles old binary log with a different set of events than currently 5.1 codebase uses. See the following reference for details: http://forge.mysql.com/wiki/MySQL_Internals_Binary_Log#LOAD_DATA_INFILE_Events Problem: The server is handling an Execute_load_log_event, which results in reading a Load_log_event from the binary log and applying it. When applying the Load_log_event, some variable setup is done and then mysql_load is called. Late in mysql_load execution, if not in row mode logging, the event is binlogged write_execute_load_query_log_event. In write_execute_load_query_log_event, thd->lex->local_file is inspected. The problem is that it has not been set before in the execution stack. This causes valgrind to report the warning. Fix: We fix this by initializing thd->lex->local_file to be the same as the value of Load_log_event::local_fname, when lex_start is called inside Load_log_event::do_apply_event. ------------------------------------------------------------ revno: 2555.623.61 committer: Luis Soares branch nick: mysql-5.1-bugteam-to-push timestamp: Sun 2009-12-06 23:14:45 +0000 message: automerge: mysql-5.1-bugteam bug branch --> mysql-5.1-bugteam latest ------------------------------------------------------------ revno: 2555.653.1 committer: Luis Soares branch nick: mysql-5.1-bugteam timestamp: Sun 2009-12-06 23:12:11 +0000 message: BUG#49119: Master crashes when executing 'REVOKE ... ON {PROCEDURE|FUNCTION} FROM ...' The master would hit an assertion when binary log was active. This was due to the fact that the thread's diagnostics area was being cleared before writing to the binlog, independently of mysql_routine_grant returning an error or not. When mysql_routine_grant was to return an error, the return value and the diagnostics area contents would mismatch. Consequently, neither my_ok would be called nor an error would be signaled in the diagnostics area, eventually triggering the assertion in net_end_statement. We fix this by not clearing the diagnostics area at binlogging time. ------------------------------------------------------------ revno: 2555.623.60 committer: Staale Smedseng branch nick: 47391-51 timestamp: Sun 2009-12-06 19:01:11 +0100 message: Merge from 5.0 ------------------------------------------------------------ revno: 1810.3971.16 committer: Staale Smedseng branch nick: 47391-50 timestamp: Sun 2009-12-06 18:11:37 +0100 message: Bug #47391 no stack trace printed to error log on solaris after a crash This patch adds a Solaris-specific version of print_stacktrace() which uses printstack(2), available on all Solaris versions since Solaris 9. (While Solaris 11 adds support for the glibc functions backtrace_*() as of PSARC/2007/162, printstack() is used for consistency over all Solaris versions.) The symbol names are mangled, so use of c++filt may be required as described in the MySQL documentation. ------------------------------------------------------------ revno: 2555.623.59 committer: Alfranio Correia branch nick: mysql-5.1-bugteam timestamp: Sat 2009-12-05 22:09:41 +0000 message: Post-push fix for BUG#45292. ------------------------------------------------------------ revno: 2555.623.58 committer: Davi Arnaut branch nick: 49141-5.1 timestamp: Fri 2009-12-04 13:36:58 -0200 message: Bug#49141: Encode function is significantly slower in 5.1 compared to 5.0 The problem was that the multiple evaluations of a ENCODE or DECODE function within a single statement caused the random generator to be reinitialized at each evaluation, even though the parameters were constants. The solution is to initialize the random generator only once if the password (seed) parameter is constant. This patch borrows code and ideas from Georgi Kodinov's patch. ------------------------------------------------------------ revno: 2555.623.57 committer: Davi Arnaut branch nick: mysql-5.1-bugteam timestamp: Fri 2009-12-04 14:00:20 -0200 message: Bug#41569: mysql_upgrade (ver 5.1) add 3 fields to mysql.proc table but does not set values Post-merge fix: Redirect stderr to a file as to avoid buffering problems due to redirecting stderr to stdout. ------------------------------------------------------------ revno: 2555.623.56 committer: Alfranio Correia branch nick: mysql-5.1-bugteam timestamp: Fri 2009-12-04 14:40:42 +0000 message: BUG#45292 orphan binary log created when starting server twice This patch fixes three bugs as follows. First, aborting the server while purging binary logs might generate orphan files due to how the purge operation was implemented: (purge routine - sql/log.cc - MYSQL_BIN_LOG::purge_logs) 1 - register the files to be removed in a temporary buffer. 2 - update the log-bin.index. 3 - flush the log-bin.index. 4 - erase the files whose names where register in the temporary buffer in step 1. Thus a failure while executing step 4 would generate an orphan file. Second, a similar issue might happen while creating a new binary as follows: (create routine - sql/log.cc - MYSQL_BIN_LOG::open) 1 - open the new log-bin. 2 - update the log-bin.index. Thus a failure while executing step 1 would generate an orphan file. To fix these issues, we record the files to be purged or created before really removing or adding them. So if a failure happens such records can be used to automatically remove dangling files. The new steps might be outlined as follows: (purge routine - sql/log.cc - MYSQL_BIN_LOG::purge_logs) 1 - register the files to be removed in the log-bin.~rec~ placed in the data directory. 2 - update the log-bin.index. 3 - flush the log-bin.index. 4 - delete the log-bin.~rec~. (create routine - sql/log.cc - MYSQL_BIN_LOG::open) 1 - register the file to be created in the log-bin.~rec~ placed in the data directory. 2 - open the new log-bin. 3 - update the log-bin.index. 4 - delete the log-bin.~rec~. (recovery routine - sql/log.cc - MYSQL_BIN_LOG::open_index_file) 1 - open the log-bin.index. 2 - open the log-bin.~rec~. 3 - for each file in log-bin.~rec~. 3.1 Check if the file is in the log-bin.index and if so ignore it. 3.2 Otherwise, delete it. The third issue can be described as follows. The purge operation was allowing to remove a file in use thus leading to the loss of data and possible inconsistencies between the master and slave. Roughly, the routine was only taking into account the dump threads and so if a slave was not connect the file might be delete even though it was in use. ------------------------------------------------------------ revno: 2555.623.55 committer: Gleb Shchepa branch nick: mysql-5.1-bugteam timestamp: Thu 2009-12-03 23:38:09 +0400 message: Bug #38883: thd_security_context is not thread safe, crashes? After-push minor code cleanup for WL 2360: unnecessary external reference to LOCK_thread_count has been removed from ha_innodb.cc. ------------------------------------------------------------ revno: 2555.623.54 committer: lars-erik.bjork@sun.com branch nick: 41569-mysql-5.1-bugteam timestamp: Thu 2009-12-03 17:15:47 +0100 message: This is a patch for bug#41569. "mysql_upgrade (ver 5.1) add 3 fields to mysql.proc table but does not set values". mysql_upgrade (ver 5.1) adds 3 fields (character_set_client, collation_connection and db_collation) to the mysql.proc table, but does not set any values. When we run stored procedures, which were created with mysql 5.0, a warning is logged into the error log. The solution to this is for mysql_upgrade to set default best guess values for these fields. A warning is also written during upgrade, to make the user aware that default values are set. ------------------------------------------------------------ revno: 2555.623.53 committer: Evgeny Potemkin branch nick: mysql-5.1-bugteam timestamp: Thu 2009-12-03 16:24:50 +0300 message: Auto-merged. ------------------------------------------------------------ revno: 1810.3971.15 committer: Evgeny Potemkin branch nick: mysql-5.0-bugteam timestamp: Thu 2009-12-03 16:21:53 +0300 message: Auto-merged. ------------------------------------------------------------ revno: 1810.3973.2 committer: Evgeny Potemkin branch nick: 48508-bug-5.0-bugteam timestamp: Thu 2009-12-03 16:15:20 +0300 message: Bug#48508: Crash on prepared statement re-execution. Test case cleanup. ------------------------------------------------------------ revno: 2555.623.52 committer: Georgi Kodinov branch nick: B48985-5.1-bugteam timestamp: Thu 2009-12-03 14:07:46 +0200 message: Bug #48985: show create table crashes if previous access to the table was killed When checking for an error after removing the special view error handler the code was not taking into account that open_tables() may fail because of the current statement being killed. Added a check for thd->killed. Added a client program to test it. ------------------------------------------------------------ revno: 2555.623.51 committer: Alexander Barkov branch nick: mysql-5.1.b44131 timestamp: Thu 2009-12-03 13:22:34 +0400 message: Bug#44131 Binary-mode "order by" returns records in incorrect order for UTF-8 strings Problem: Item_char_typecast reported wrong max_length when casting to BINARY, which lead, in particular, in wrong "ORDER BY BINARY(char_column)" results. Fix: making Item_char_typecast report correct max_length. @ mysql-test/r/ctype_utf16.result Fixing old incorrect test result. @ mysql-test/r/ctype_utf32.result Fixing old incorrect test result. @ mysql-test/r/ctype_utf8.result Adding new test @ mysql-test/t/ctype_utf8.test Adding new test @ sql/item_timefunc.cc Making Item_char_typecast report correct max_length when cast is done to BINARY. ------------------------------------------------------------ revno: 2555.623.50 committer: Evgeny Potemkin branch nick: mysql-5.1-bugteam timestamp: Wed 2009-12-02 16:49:21 +0300 message: Auto-merged. ------------------------------------------------------------ revno: 1810.3971.14 committer: Evgeny Potemkin branch nick: mysql-5.0-bugteam timestamp: Wed 2009-12-02 16:47:12 +0300 message: Auto-merged fix for the bug#48508. ------------------------------------------------------------ revno: 1810.3973.1 committer: Evgeny Potemkin branch nick: 48508-bug-5.0-bugteam timestamp: Tue 2009-12-01 21:28:45 +0300 message: Bug#48508: Crash on prepared statement re-execution. Actually there is two different bugs. The first one caused crash on queries with WHERE condition over views containing WHERE condition. A wrong check for prepared statement phase led to items for view fields being allocated in the execution memory and freed at the end of execution. Thus the optimized WHERE condition refers to unallocated memory on the second execution and server crashed. The second one caused by the Item_cond::compile function not saving changes it made to the item tree. Thus on the next execution changes weren't reverted and server crashed on dereferencing of unallocated space. The new helper function called is_stmt_prepare_or_first_stmt_execute is added to the Query_arena class. The find_field_in_view function now uses is_stmt_prepare_or_first_stmt_execute() to check whether newly created view items should be freed at the end of the query execution. The Item_cond::compile function now saves changes it makes to item tree. ------------------------------------------------------------ revno: 2555.623.49 committer: Alexander Barkov branch nick: mysql-5.1.b48766 timestamp: Wed 2009-12-02 15:17:08 +0400 message: Bug#48766 SHOW CREATE FUNCTION returns extra data in return clause Problem: SHOW CREATE FUNCTION and SELECT DTD_IDENTIFIER FROM I_S.ROUTINES returned wrong values in case of ENUM return data type and UCS2 character set. Fix: the string to collect returned data type was incorrectly set to "binary" character set, therefore UCS2 values where returned with extra '\0' characters. Setting string character set to creation_ctx->get_client_cs() in sp_find_routine(), and to system_charset_info in sp_create_routine fixes the problem. Adding tests: - the original test with Latin letters - an extra test with non-Latin letters ------------------------------------------------------------ revno: 2555.623.48 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Tue 2009-12-01 17:48:57 +0530 message: merge to mysql-5.1-bugteam ------------------------------------------------------------ revno: 2555.652.1 committer: Gleb Shchepa branch nick: mysql-5.1-bugteam timestamp: Tue 2009-12-01 14:38:40 +0400 message: Bug #38883 (reopened): thd_security_context is not thread safe, crashes? manual merge 5.0-->5.1, updating InnoDB plugin. ------------------------------------------------------------ revno: 1810.3971.13 committer: Gleb Shchepa branch nick: mysql-5.0-bugteam timestamp: Tue 2009-12-01 14:24:44 +0400 message: Bug #38883 (reopened): thd_security_context is not thread safe, crashes? The bug 38816 changed the lock that protects THD::query from LOCK_thread_count to LOCK_thd_data, but didn't update the associated InnoDB functions. 1. The innobase_mysql_prepare_print_arbitrary_thd and the innobase_mysql_end_print_arbitrary_thd InnoDB functions have been removed, since now we have a per-thread mutex: now we don't need to wrap several inter-thread access tries to THD::query with a single global LOCK_thread_count lock, so we can simplify the code. 2. The innobase_mysql_print_thd function has been modified to lock LOCK_thd_data in direct way. ------------------------------------------------------------ revno: 2555.623.47 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Tue 2009-12-01 17:37:56 +0530 message: Addition to Innodb Plugin 1.0.6 snapshot the last IF ELSE part which decides the plugin name is not relevant as we still have to substitute the occurences of INNOBASE with INNODB_PLUGIN. Remove the last IF ELSE part in CMakeLists.txt as it doesn't make sense in 5.1. ------------------------------------------------------------ revno: 2555.623.46 committer: Georgi Kodinov branch nick: fix-5.1-bugteam timestamp: Tue 2009-12-01 11:24:42 +0200 message: merged ------------------------------------------------------------ revno: 2555.651.1 committer: branch nick: mysql-5.1-bugteam timestamp: Tue 2009-12-01 16:27:21 +0800 message: Updated experimental test list for rpl.rpl_cross_version and rpl.rpl_get_master_version_and_clock. ------------------------------------------------------------ revno: 2555.623.45 committer: Georgi Kodinov branch nick: fix-5.1-bugteam timestamp: Tue 2009-12-01 11:21:15 +0200 message: Bug #45576: moving the test from experimental to disabled. ------------------------------------------------------------ revno: 2555.623.44 committer: Georgi Kodinov branch nick: fix-5.1-bugteam timestamp: Tue 2009-12-01 11:19:51 +0200 message: Revert of the push of bug #20837 due to failing regression tests. ------------------------------------------------------------ revno: 2555.623.43 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-30 19:31:09 +0530 message: merge to mysql-5.1-bugteam ------------------------------------------------------------ revno: 2555.650.1 committer: Magne Mahre branch nick: mysql-5.1-bugteam-20837 timestamp: Mon 2009-11-30 12:30:28 +0100 message: Bug #20837 Apparent change of isolation level during transaction SET TRANSACTION ISOLATION LEVEL is used to temporarily set the trans.iso.level for the next transaction. After the transaction, the iso.level is (re-)set to value of the session variable 'tx_isolation'. The bug is caused by setting the thd->variables.tx_isolation field to the value of the session variable upon each statement commit. It should only be set at the end of the full transaction. The fix has been to remove the setting of the variable in ha_autocommit_or_rollback if we're in a transaction, as it will be correctly set in either ha_rollback or ha_commit_one_phase. If, on the other hand, we're in autocommit mode, tx_isolation will be explicitly set here. ------------------------------------------------------------ revno: 2555.623.42 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-30 19:12:26 +0530 message: Applying InnoDB Plugin 1.0.6 snapshot, Fixes BUG#48469 applied revisions: r6201, r6202, r6207, r6208, r6210 r6202 - port fix for BUG#48469 to plugin Detailed revision comments: r6201 | marko | 2009-11-19 14:09:11 +0200 (Thu, 19 Nov 2009) | 2 lines branches/zip: ha_innobase::add_index(): Clarify the comment on orphaned tables when creating a primary key. r6202 | jyang | 2009-11-19 15:01:00 +0200 (Thu, 19 Nov 2009) | 8 lines branches/zip: Function fseg_free() is no longer defined in branches/zip. To port fix for bug #48469 to zip, we can use btr_free_root() which frees the page, and also does not require mini-transaction. Approved by Marko. r6207 | vasil | 2009-11-20 10:19:14 +0200 (Fri, 20 Nov 2009) | 54 lines branches/zip: Merge r6198:6206 from branches/5.1: (r6203 was skipped as it is already in branches/zip) ------------------------------------------------------------------------ r6200 | vasil | 2009-11-19 12:14:23 +0200 (Thu, 19 Nov 2009) | 4 lines Changed paths: M /branches/5.1/btr/btr0btr.c branches/5.1: White space fixup - indent under the opening ( ------------------------------------------------------------------------ r6203 | jyang | 2009-11-19 15:12:22 +0200 (Thu, 19 Nov 2009) | 8 lines Changed paths: M /branches/5.1/btr/btr0btr.c branches/5.1: Use btr_free_root() instead of fseg_free() for the fix of bug #48469, because fseg_free() is not defined in the zip branch. And we could save one mini-trasaction started by fseg_free(). Approved by Marko. ------------------------------------------------------------------------ r6205 | jyang | 2009-11-20 07:55:48 +0200 (Fri, 20 Nov 2009) | 11 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Add a special case to handle the Duplicated Key error and return DB_ERROR instead. This is to avoid a possible SIGSEGV by mysql error handling re-entering the storage layer for dup key info without proper table handle. This is to prevent a server crash when error situation in bug #45961 "DDL on partitioned innodb tables leaves data dictionary in an inconsistent state" happens. rb://157 approved by Sunny Bains. ------------------------------------------------------------------------ r6206 | jyang | 2009-11-20 09:38:43 +0200 (Fri, 20 Nov 2009) | 5 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Fix a minor code formating issue for the parenthesis iplacement of the if condition in rename_table(). ------------------------------------------------------------------------ r6208 | vasil | 2009-11-20 10:49:24 +0200 (Fri, 20 Nov 2009) | 4 lines branches/zip: Add ChangeLog entry for c6207. r6210 | vasil | 2009-11-20 23:39:48 +0200 (Fri, 20 Nov 2009) | 3 lines branches/zip: Whitespace fixup. ------------------------------------------------------------ revno: 2555.623.41 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-30 19:05:20 +0530 message: Applying InnoDB Plugin 1.0.6 snapshot, part 9. Fixes BUG#48526, BUG#48317 applied revisions: r6197, r6198, r6199 r6197 - BUG#48317 r6199 - BUG#48526 Detailed revision comments: r6197 | calvin | 2009-11-19 09:32:55 +0200 (Thu, 19 Nov 2009) | 6 lines branches/zip: merge the fix of bug#48317 (CMake file) Due to MySQL changes to the CMake, it is no longer able to build InnoDB plugin as a static library on Windows. The fix is proposed by Vlad of MySQL. r6198 | vasil | 2009-11-19 09:44:31 +0200 (Thu, 19 Nov 2009) | 4 lines branches/zip: Add ChangeLog entry for r6197. r6199 | vasil | 2009-11-19 12:10:12 +0200 (Thu, 19 Nov 2009) | 31 lines branches/zip: Merge r6159:6198 from branches/5.1: ------------------------------------------------------------------------ r6187 | jyang | 2009-11-18 05:27:30 +0200 (Wed, 18 Nov 2009) | 9 lines Changed paths: M /branches/5.1/btr/btr0btr.c branches/5.1: Fix bug #48469 "when innodb tablespace is configured too small, crash and corruption!". Function btr_create() did not check the return status of fseg_create(), and continue the index creation even there is no sufficient space. rb://205 Approved by Marko ------------------------------------------------------------------------ r6188 | jyang | 2009-11-18 07:14:23 +0200 (Wed, 18 Nov 2009) | 8 lines Changed paths: M /branches/5.1/data/data0type.c branches/5.1: Fix bug #48526 "Data type for float and double is incorrectly reported in InnoDB table monitor". Certain datatypes are not printed correctly in dtype_print(). rb://204 Approved by Marko. ------------------------------------------------------------------------ ------------------------------------------------------------ revno: 2555.623.40 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-30 18:43:34 +0530 message: Applying InnoDB Plugin 1.0.6 snapshot, part 8. Fixes BUG#48782 applied revisions: r6185, r6186, r6189, r6194 r6185 - only code changes incorporated, changesets which change innodb tests in the main mysql suite are discarded r61889 - Fixes BUG#48782 Detailed revision comments: r6185 | marko | 2009-11-17 16:44:20 +0200 (Tue, 17 Nov 2009) | 16 lines branches/zip: Report duplicate table names to the client connection, not to the error log. This change will allow innodb-index.test to be re-enabled. It was previously disabled, because mysql-test-run does not like output in the error log. row_create_table_for_mysql(): Do not output anything to the error log when reporting DB_DUPLICATE_KEY. Let the caller report the error. Add a TODO comment that the dict_table_t object is apparently not freed when an error occurs. create_table_def(): Convert InnoDB table names to the character set of the client connection for reporting. Use my_error(ER_WRONG_COLUMN_NAME) for reporting reserved column names. Report my_error(ER_TABLE_EXISTS_ERROR) when row_create_table_for_mysql() returns DB_DUPLICATE_KEY. rb://206 r6186 | vasil | 2009-11-17 16:48:14 +0200 (Tue, 17 Nov 2009) | 4 lines branches/zip: Add ChangeLog entry for r6185. r6189 | marko | 2009-11-18 11:36:18 +0200 (Wed, 18 Nov 2009) | 5 lines branches/zip: ha_innobase::add_index(): When creating the primary key and the table is being locked by another transaction, do not attempt to drop the table. (Bug #48782) Approved by Sunny Bains over IM r6194 | vasil | 2009-11-19 09:24:45 +0200 (Thu, 19 Nov 2009) | 5 lines branches/zip: Increment version number from 1.0.5 to 1.0.6 since 1.0.5 was just released by MySQL and we will soon release 1.0.6. ------------------------------------------------------------ revno: 2555.623.39 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-30 18:19:13 +0530 message: Applying InnoDB Plugin 1.0.6 snapshot, part 7 Fixes several test cases. applied revisions: r6181, r6182, r6183, r6184 r6183 - changes are made only to tests in innodb suite which is only innodb-consistent-master.opt Detailed revision comments: r6181 | vasil | 2009-11-17 12:21:41 +0200 (Tue, 17 Nov 2009) | 33 lines branches/zip: At the end of innodb-index.test: restore the environment as it was before the test was started to silence this warning: MTR's internal check of the test case 'main.innodb-index' failed. This means that the test case does not preserve the state that existed before the test case was executed. Most likely the test case did not do a proper clean-up. This is the diff of the states of the servers before and after the test case was executed: mysqltest: Logging to '/tmp/autotest.sh-20091117_033000-zip.btyZwu/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.log'. mysqltest: Results saved in '/tmp/autotest.sh-20091117_033000-zip.btyZwu/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.result'. mysqltest: Connecting to server localhost:13000 (socket /tmp/autotest.sh-20091117_033000-zip.btyZwu/mysql-5.1/mysql-test/var/tmp/mysqld.1.sock) as 'root', connection 'default', attempt 0 ... mysqltest: ... Connected. mysqltest: Start processing test commands from './include/check-testcase.test' ... mysqltest: ... Done processing test commands. --- /tmp/autotest.sh-20091117_033000-zip.btyZwu/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.result 2009-11-17 13:10:40.000000000 +0300 +++ /tmp/autotest.sh-20091117_033000-zip.btyZwu/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.reject 2009-11-17 13:10:54.000000000 +0300 @@ -84,7 +84,7 @@ INNODB_DOUBLEWRITE ON INNODB_FAST_SHUTDOWN 1 INNODB_FILE_FORMAT Antelope -INNODB_FILE_FORMAT_CHECK Antelope +INNODB_FILE_FORMAT_CHECK Barracuda INNODB_FILE_PER_TABLE OFF INNODB_FLUSH_LOG_AT_TRX_COMMIT 1 INNODB_FLUSH_METHOD mysqltest: Result content mismatch not ok r6182 | marko | 2009-11-17 13:49:15 +0200 (Tue, 17 Nov 2009) | 1 line branches/zip: Set svn:eol-style on mysql-test files. r6183 | marko | 2009-11-17 13:51:16 +0200 (Tue, 17 Nov 2009) | 1 line branches/zip: Prepend loose_ to plugin-only mysql-test options. r6184 | marko | 2009-11-17 13:52:01 +0200 (Tue, 17 Nov 2009) | 1 line branches/zip: innodb-index.test: Restore innodb_file_format_check. ------------------------------------------------------------ revno: 2555.623.38 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-30 17:54:54 +0530 message: Applying InnoDB Plugin 1.0.6 snapshot, part 6. Add Testcase for BUG#46676 1. add testcase for BUG#46676 2. Allow CREATE INDEX to be interrupted 3. ha_innobase::change_active_index(): When the history is missing, report it to the client, not to the error log 4. ChangeLog entries appplied revisions:r6169, r6170, r6175, r6177, r6179 Detailed revision comments: r6169 | calvin | 2009-11-12 14:40:43 +0200 (Thu, 12 Nov 2009) | 6 lines branches/zip: add test case for bug#46676 This crash is reproducible with InnoDB plugin 1.0.4 + MySQL 5.1.37. But no longer reproducible after MySQL 5.1.38 (with plugin 1.0.5). Add test case to catch future regression. r6170 | marko | 2009-11-12 15:49:08 +0200 (Thu, 12 Nov 2009) | 4 lines branches/zip: Allow CREATE INDEX to be interrupted. (Issue #354) rb://183 approved by Heikki Tuuri r6175 | vasil | 2009-11-16 20:07:39 +0200 (Mon, 16 Nov 2009) | 4 lines branches/zip: Wrap line at 78th char in the ChangeLog r6177 | calvin | 2009-11-16 20:20:38 +0200 (Mon, 16 Nov 2009) | 2 lines branches/zip: add an entry to ChangeLog for r6065 r6179 | marko | 2009-11-17 10:19:34 +0200 (Tue, 17 Nov 2009) | 2 lines branches/zip: ha_innobase::change_active_index(): When the history is missing, report it to the client, not to the error log. ------------------------------------------------------------ revno: 2555.623.37 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-30 17:41:36 +0530 message: Applying InnoDB Plugin 1.0.6 snapshot, part 5. applied revisions: r6161, r6162, r6163 Detailed revision comments: r6161 | vasil | 2009-11-11 15:36:16 +0200 (Wed, 11 Nov 2009) | 4 lines branches/zip: Add changelog entry for r6160. r6162 | vasil | 2009-11-11 16:00:12 +0200 (Wed, 11 Nov 2009) | 4 lines branches/zip: Add ChangeLog for r6157. r6163 | calvin | 2009-11-11 17:53:20 +0200 (Wed, 11 Nov 2009) | 8 lines branches/zip: Exclude thd_binlog_filter_ok() when building with older version of MySQL. thd_binlog_filter_ok() is introduced in MySQL 5.1.41. But the plugin can be built with MySQL prior to 5.1.41. Approved by Heikki (on IM). ------------------------------------------------------------ revno: 2555.623.36 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-30 17:34:09 +0530 message: Applying InnoDB Plugin 1.0.6 snapshot, part 4. Fixes BUG#3139 applied revisions: r6160 Detailed revision comments: r6160 | vasil | 2009-11-11 15:33:49 +0200 (Wed, 11 Nov 2009) | 72 lines branches/zip: Merge r6152:6159 from branches/5.1: (r6158 was skipped as an equivallent change has already been merged from MySQL) ------------------------------------------------------------------------ r6154 | calvin | 2009-11-11 02:51:17 +0200 (Wed, 11 Nov 2009) | 17 lines Changed paths: M /branches/5.1/include/os0file.h M /branches/5.1/os/os0file.c branches/5.1: fix bug#3139: Mysql crashes: 'windows error 995' after several selects on a large DB During stress environment, Windows AIO may fail with error code ERROR_OPERATION_ABORTED. InnoDB does not handle the error, rather crashes. The cause of the error is unknown, but likely due to faulty hardware or driver. This patch introduces a new error code OS_FILE_OPERATION_ABORTED, which maps to Windows ERROR_OPERATION_ABORTED (995). When the error is detected during AIO, the InnoDB will issue a synchronous retry (read/write). This patch has been extensively tested by MySQL support. Approved by: Marko rb://196 ------------------------------------------------------------------------ r6158 | vasil | 2009-11-11 14:52:14 +0200 (Wed, 11 Nov 2009) | 37 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/handler/ha_innodb.h branches/5.1: Merge a change from MySQL: (this has been reviewed by Calvin and Marko, and Calvin says Luis has incorporated Marko's suggestions) ------------------------------------------------------------ revno: 3092.5.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. added: mysql-test/suite/binlog/r/binlog_stm_do_db.result mysql-test/suite/binlog/t/binlog_stm_do_db-master.opt mysql-test/suite/binlog/t/binlog_stm_do_db.test modified: sql/sql_base.cc sql/sql_class.cc storage/innobase/handler/ha_innodb.cc storage/innobase/handler/ha_innodb.h storage/innodb_plugin/handler/ha_innodb.cc storage/innodb_plugin/handler/ha_innodb.h ------------------------------------------------------------------------ ------------------------------------------------------------ revno: 2555.623.35 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-30 17:26:21 +0530 message: Applying InnoDB Plugin 1.0.6 snapshot, part 3. Fixes BUG#47167 applied revisions: r6157 Detailed revision comments: r6157 | jyang | 2009-11-11 14:27:09 +0200 (Wed, 11 Nov 2009) | 10 lines branches/zip: Fix an issue that a local variable defined in innodb_file_format_check_validate() is being referenced across function in innodb_file_format_check_update(). In addition, fix "set global innodb_file_format_check = DEFAULT" call. Bug #47167: "set global innodb_file_format_check" cannot set value by User-Defined Variable." rb://169 approved by Sunny Bains and Marko. ------------------------------------------------------------ revno: 2555.623.34 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-30 17:12:51 +0530 message: Applying InnoDB Plugin 1.0.6 snapshot, part 2. Fixes BUG#32430 Enable partition_innodb_plugin.test for BUG#32430 applied revisions: r6134, r6137, r6153 Detailed revision comments: r6134 | marko | 2009-11-04 09:57:29 +0200 (Wed, 04 Nov 2009) | 5 lines branches/zip: innobase_convert_identifier(): Convert table names with explain_filename() to address Bug #32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs. rb://134 approved by Sunny Bains r6137 | marko | 2009-11-04 15:24:28 +0200 (Wed, 04 Nov 2009) | 1 line branches/zip: dict_index_too_big_for_undo(): Correct a typo. r6153 | vasil | 2009-11-10 15:33:22 +0200 (Tue, 10 Nov 2009) | 145 lines branches/zip: Merge r6125:6152 from branches/5.1: (everything except the last white-space change was skipped as it is already in branches/zip) ------------------------------------------------------------------------ r6127 | vasil | 2009-10-30 11:18:25 +0200 (Fri, 30 Oct 2009) | 18 lines Changed paths: M /branches/5.1/Makefile.am M /branches/5.1/mysql-test/innodb-autoinc.result M /branches/5.1/mysql-test/innodb-autoinc.test 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. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r6129 | vasil | 2009-10-30 17:14:22 +0200 (Fri, 30 Oct 2009) | 4 lines Changed paths: M /branches/5.1/Makefile.am branches/5.1: Revert a change to Makefile.am that sneaked unnoticed in c6127. ------------------------------------------------------------------------ r6136 | marko | 2009-11-04 12:28:10 +0200 (Wed, 04 Nov 2009) | 15 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc M /branches/5.1/include/ha_prototypes.h M /branches/5.1/ut/ut0ut.c branches/5.1: Port r6134 from branches/zip: ------------------------------------------------------------------------ r6134 | marko | 2009-11-04 07:57:29 +0000 (Wed, 04 Nov 2009) | 5 lines branches/zip: innobase_convert_identifier(): Convert table names with explain_filename() to address Bug #32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs. rb://134 approved by Sunny Bains ------------------------------------------------------------------------ innobase_print_identifier(): Replace with innobase_convert_name(). innobase_convert_identifier(): New function, called by innobase_convert_name(). ------------------------------------------------------------------------ r6149 | vasil | 2009-11-09 11:15:01 +0200 (Mon, 09 Nov 2009) | 5 lines Changed paths: M /branches/5.1/CMakeLists.txt branches/5.1: Followup to r5700: Adjust the changes so they are the same as in the BZR repository. ------------------------------------------------------------------------ r6150 | vasil | 2009-11-09 11:43:31 +0200 (Mon, 09 Nov 2009) | 58 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: Merge a part of r2911.5.5 from MySQL: (the other part of this was merged in c5700) ------------------------------------------------------------ revno: 2911.5.5 committer: Vladislav Vaintroub branch nick: 5.1-innodb_plugin timestamp: Wed 2009-06-10 10:59:49 +0200 message: Backport WL#3653 to 5.1 to enable bundled innodb plugin. Remove custom DLL loader code from innodb plugin code, use symbols exported from mysqld. removed: storage/innodb_plugin/handler/handler0vars.h storage/innodb_plugin/handler/win_delay_loader.cc added: storage/mysql_storage_engine.cmake win/create_def_file.js modified: CMakeLists.txt include/m_ctype.h include/my_global.h include/my_sys.h include/mysql/plugin.h libmysqld/CMakeLists.txt mysql-test/mysql-test-run.pl mysql-test/t/plugin.test mysql-test/t/plugin_load-master.opt mysys/charset.c sql/CMakeLists.txt sql/handler.h sql/mysql_priv.h sql/mysqld.cc sql/sql_class.cc sql/sql_class.h sql/sql_list.h sql/sql_profile.h storage/Makefile.am storage/archive/CMakeLists.txt storage/blackhole/CMakeLists.txt storage/csv/CMakeLists.txt storage/example/CMakeLists.txt storage/federated/CMakeLists.txt storage/heap/CMakeLists.txt storage/innobase/CMakeLists.txt storage/innobase/handler/ha_innodb.cc storage/innodb_plugin/CMakeLists.txt storage/innodb_plugin/handler/ha_innodb.cc storage/innodb_plugin/handler/handler0alter.cc storage/innodb_plugin/handler/i_s.cc storage/innodb_plugin/plug.in storage/myisam/CMakeLists.txt storage/myisammrg/CMakeLists.txt win/Makefile.am win/configure.js ------------------------------------------------------------------------ r6152 | vasil | 2009-11-10 15:30:20 +0200 (Tue, 10 Nov 2009) | 4 lines Changed paths: M /branches/5.1/handler/ha_innodb.cc branches/5.1: White space fixup. ------------------------------------------------------------------------ ------------------------------------------------------------ revno: 2555.623.33 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-30 17:02:05 +0530 message: Applying InnoDB Plugin 1.0.6 snapshot,part 1. Fixes BUG#45992 and BUG#46656 Detailed revision comments: r6130 | marko | 2009-11-02 11:42:56 +0200 (Mon, 02 Nov 2009) | 9 lines branches/zip: Free all resources at shutdown. Set pointers to NULL, so that Valgrind will not complain about freed data structures that are reachable via pointers. This addresses Bug #45992 and Bug #46656. This patch is mostly based on changes copied from branches/embedded-1.0, mainly c5432, c3439, c3134, c2994, c2978, but also some other code was copied. Some added cleanup code is specific to MySQL/InnoDB. rb://199 approved by Sunny Bains ------------------------------------------------------------ revno: 2555.623.32 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-30 16:24:20 +0530 message: Applying Innodb Snapshot 5.1-ss6242, part 9. 1. Enabling the disabled test for BUG#32430 for builtin innodb 2. Disabling the innodb-autoinc.test for innodb plugin. ------------------------------------------------------------ revno: 2555.623.31 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-30 15:16:45 +0530 message: Applying InnoDB snapshot 5.1-ss6242, part 8. Fixes BUG#47720 1. BUG#47720 - REPLACE INTO Autoincrement column with negative values. Detailed revision comments: r6235 | sunny | 2009-11-26 01:14:42 +0200 (Thu, 26 Nov 2009) | 9 lines branches/5.1: Fix Bug#47720 - REPLACE INTO Autoincrement column with negative values. This bug is similiar to the negative autoinc filter patch from earlier, with the additional handling of filtering out the negative column values set explicitly by the user. rb://184 Approved by Heikki. ------------------------------------------------------------ revno: 2555.623.30 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-30 15:11:38 +0530 message: Applying InnoDB snapshot 5.1-ss6242, part 7. Fixes BUG#49032 1. BUG#49032 - auto_increment field does not initialize to last value in InnoDB Storage Engine 2. Fix whitespace issues and fix tests and make read float/double arg const Detailed revision comments: r6231 | sunny | 2009-11-25 10:26:27 +0200 (Wed, 25 Nov 2009) | 7 lines branches/5.1: Fix BUG#49032 - auto_increment field does not initialize to last value in InnoDB Storage Engine. We use the appropriate function to read the column value for non-integer autoinc column types, namely float and double. rb://208. Approved by Marko. r6232 | sunny | 2009-11-25 10:27:39 +0200 (Wed, 25 Nov 2009) | 2 lines branches/5.1: This is an interim fix, fix white space errors. r6233 | sunny | 2009-11-25 10:28:35 +0200 (Wed, 25 Nov 2009) | 2 lines branches/5.1: This is an interim fix, fix tests and make read float/double arg const. r6234 | sunny | 2009-11-25 10:29:03 +0200 (Wed, 25 Nov 2009) | 2 lines branches/5.1: This is an interim fix, fix whitepsace issues. ------------------------------------------------------------ revno: 2555.623.29 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-30 14:38:41 +0530 message: Applying InnoDB snapshot 5.1-ss6242, part 6. Fixes BUG#48482 1. BUG#48482 - innodb-autoinc.test fails with results difference 2. enable the disabled test Detailed revision comments: r6230 | sunny | 2009-11-24 23:52:43 +0200 (Tue, 24 Nov 2009) | 3 lines branches/5.1: Fix autoinc failing test results. (this should be skipped when merging 5.1 into zip) ------------------------------------------------------------ revno: 2555.623.28 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-30 14:33:57 +0530 message: Applying InnoDB snapshot 5.1-ss6242, part 5. Fixes BUG#45961 1. BUG#45961 - DDL on partitioned innodb tables leaves data dictionary in an inconsistent state 2. Fix formatting Detailed revision comments: r6205 | jyang | 2009-11-20 07:55:48 +0200 (Fri, 20 Nov 2009) | 11 lines branches/5.1: Add a special case to handle the Duplicated Key error and return DB_ERROR instead. This is to avoid a possible SIGSEGV by mysql error handling re-entering the storage layer for dup key info without proper table handle. This is to prevent a server crash when error situation in bug #45961 "DDL on partitioned innodb tables leaves data dictionary in an inconsistent state" happens. rb://157 approved by Sunny Bains. r6206 | jyang | 2009-11-20 09:38:43 +0200 (Fri, 20 Nov 2009) | 3 lines branches/5.1: Non-functional change, fix formatting. ------------------------------------------------------------ revno: 2555.623.27 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-30 14:23:52 +0530 message: Applying InnoDB snapshot 5.1-ss6242, part 4. Fixes BUG#48526 1. BUG#48526 - Data type for float and double is incorrectly reported in InnoDB table monitor Detailed revision comments: r6188 | jyang | 2009-11-18 07:14:23 +0200 (Wed, 18 Nov 2009) | 8 lines branches/5.1: Fix bug #48526 "Data type for float and double is incorrectly reported in InnoDB table monitor". Certain datatypes are not printed correctly in dtype_print(). rb://204 Approved by Marko. ------------------------------------------------------------ revno: 2555.623.26 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-30 14:20:08 +0530 message: Applying InnoDB snapshot 5.1-ss6242, part 3. Fixes BUG#48469 1. BUG#4869 - when innodb tablespace is configured too small, crash and corruption! Detailed revision comments: r6187 | jyang | 2009-11-18 05:27:30 +0200 (Wed, 18 Nov 2009) | 9 lines branches/5.1: Fix bug #48469 "when innodb tablespace is configured too small, crash and corruption!". Function btr_create() did not check the return status of fseg_create(), and continue the index creation even there is no sufficient space. rb://205 Approved by Marko r6200 | vasil | 2009-11-19 12:14:23 +0200 (Thu, 19 Nov 2009) | 4 lines branches/5.1: White space fixup - indent under the opening ( r6203 | jyang | 2009-11-19 15:12:22 +0200 (Thu, 19 Nov 2009) | 8 lines branches/5.1: Use btr_free_root() instead of fseg_free() for the fix of bug #48469, because fseg_free() is not defined in the zip branch. And we could save one mini-trasaction started by fseg_free(). Approved by Marko. ------------------------------------------------------------ revno: 2555.623.25 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-30 14:10:31 +0530 message: Applying InnoDB snapshot 5.1-ss6242, part 2. Fixes BUG#3139 1. BUG#3139 - Mysql crashes: "windows error 995" after several selects on a large DB Detailed revision comments: r6154 | calvin | 2009-11-11 02:51:17 +0200 (Wed, 11 Nov 2009) | 17 lines branches/5.1: fix bug#3139: Mysql crashes: 'windows error 995' after several selects on a large DB During stress environment, Windows AIO may fail with error code ERROR_OPERATION_ABORTED. InnoDB does not handle the error, rather crashes. The cause of the error is unknown, but likely due to faulty hardware or driver. This patch introduces a new error code OS_FILE_OPERATION_ABORTED, which maps to Windows ERROR_OPERATION_ABORTED (995). When the error is detected during AIO, the InnoDB will issue a synchronous retry (read/write). This patch has been extensively tested by MySQL support. Approved by: Marko rb://196 ------------------------------------------------------------ revno: 2555.623.24 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-30 13:56:45 +0530 message: Applying InnoDB snapshot 5.1-ss6242, part 1. Fixes BUG#32430 1. BUG#32430 - 'show innodb status' causes errors Invalid (old?) table or database name in logs 2. White space fixup Detailed revision comments: r6136 | marko | 2009-11-04 12:28:10 +0200 (Wed, 04 Nov 2009) | 15 lines branches/5.1: Port r6134 from branches/zip: ------------------------------------------------------------------------ r6134 | marko | 2009-11-04 07:57:29 +0000 (Wed, 04 Nov 2009) | 5 lines branches/zip: innobase_convert_identifier(): Convert table names with explain_filename() to address Bug #32430: 'show innodb status' causes errors Invalid (old?) table or database name in logs. rb://134 approved by Sunny Bains ------------------------------------------------------------------------ innobase_print_identifier(): Replace with innobase_convert_name(). innobase_convert_identifier(): New function, called by innobase_convert_name(). r6152 | vasil | 2009-11-10 15:30:20 +0200 (Tue, 10 Nov 2009) | 4 lines branches/5.1: White space fixup. ------------------------------------------------------------ revno: 2555.623.23 committer: Satya B branch nick: mysql-5.1-bugteam-47671 timestamp: Mon 2009-11-30 10:54:26 +0530 message: Additional Fix for BUG#47671 - wrong character-set after upgrade from 5.1.34 to 5.1.39 Fix for failure on windows PB2 because of the result content mismatch. In windows additional information about TCP port was causing failures. Added to regex. ------------------------------------------------------------ revno: 2555.623.22 committer: branch nick: mysql-5.1-bugteam timestamp: Sat 2009-11-28 12:43:16 +0800 message: Bug #43913 rpl_cross_version can't pass on conflicts complainig clash with --slave-load-tm The 'slave_patternload_file' is assigned to the real path of the load data file when initializing the object of Relay_log_info. But the path of the load data file is not formatted to real path when executing event from relay log. So the error will be encountered if the path of the load data file is a symbolic link. Actually the global 'opt_secure_file_priv' is not formatted to real path when loading data from file. So the same thing will happen too. To fix these errors, the path of the load data file should be formatted to real path when executing event from relay log. And the 'opt_secure_file_priv' should be formatted to real path when loading data infile. ------------------------------------------------------------ revno: 2555.623.21 committer: Georgi Kodinov branch nick: fix-5.1-bugteam timestamp: Fri 2009-11-27 18:10:28 +0200 message: merge ------------------------------------------------------------ revno: 1810.3971.12 committer: Georgi Kodinov branch nick: fix-5.0-bugteam timestamp: Fri 2009-11-27 18:07:31 +0200 message: Addendum to bug #48872: disable output in the test case because errors are dependent on the case mode ------------------------------------------------------------ revno: 2555.623.20 committer: Alfranio Correia branch nick: mysql-5.1-bugteam-merge timestamp: Fri 2009-11-27 15:01:16 +0000 message: merge mysql-5.1-bugteam (local) --> mysql-5.1-bugteam ------------------------------------------------------------ revno: 2555.649.1 committer: Alfranio Correia branch nick: mysql-5.1-bugteam timestamp: Fri 2009-11-27 13:34:39 +0000 message: BUG#48506 crash in CREATE TABLE IF NOT EXISTS LIKE with RBL When binlogging the statement, the server always handle the existing object as a table, even though it is a view. However a view is handled differently in other parts of the code thus leading the statement to crash in RBL if the view exists. This happens because the underlying tables for the view are not opened when we try to call store_create_info() on the view in order to build a CREATE TABLE statement. This patch will only address the crash problem, other binlogging problems related to CREATE TABLE IF NOT EXISTS LIKE when the existing object is a view will be solved by BUG 47442. ------------------------------------------------------------ revno: 2555.623.19 committer: Georgi Kodinov branch nick: fix-5.1-bugteam timestamp: Fri 2009-11-27 16:41:45 +0200 message: merge ------------------------------------------------------------ revno: 1810.3971.11 committer: Georgi Kodinov branch nick: fix-5.0-bugteam timestamp: Fri 2009-11-27 16:36:22 +0200 message: added the missing remove of the temp file ------------------------------------------------------------ revno: 2555.623.18 committer: Georgi Kodinov branch nick: B48872-5.1-bugteam timestamp: Fri 2009-11-27 16:20:02 +0200 message: merge ------------------------------------------------------------ revno: 2555.648.1 committer: Sergey Vojtovich branch nick: mysql-5.1-bugteam-test timestamp: Fri 2009-11-27 17:55:08 +0400 message: Fixes for bug47671.test: - embedded server doesn't support external clients - removed unnecessary command line options ------------------------------------------------------------ revno: 2555.623.17 committer: Georgi Kodinov branch nick: B48872-5.1-bugteam timestamp: Fri 2009-11-27 16:17:24 +0200 message: merge ------------------------------------------------------------ revno: 1810.3971.10 committer: Georgi Kodinov branch nick: B48872-5.0-bugteam timestamp: Fri 2009-11-27 15:46:54 +0200 message: Addendum to Bug #27884: fixed test incompatibility on windows. ------------------------------------------------------------ revno: 2555.623.16 committer: Georgi Kodinov branch nick: B48872-5.1-bugteam timestamp: Fri 2009-11-27 12:32:15 +0200 message: merge ------------------------------------------------------------ revno: 1810.3971.9 committer: Georgi Kodinov branch nick: B48872-5.0-bugteam timestamp: Fri 2009-11-27 11:59:44 +0200 message: Bug #48872 : Privileges for stored functions ignored if function name is mixed case Transcode the procedure name to lowercase when searching for it in the hash. This is the missing part of the fix for bug #41049. ------------------------------------------------------------ revno: 2555.623.15 committer: Kent Boortz branch nick: mysql-5.1-bugteam timestamp: Fri 2009-11-27 09:35:11 +0100 message: Merge ------------------------------------------------------------ revno: 2555.643.7 committer: Martin Hansson branch nick: 5.1bt timestamp: Thu 2009-11-26 10:41:40 +0100 message: Merge of fix for Bug#48459 ------------------------------------------------------------ revno: 2555.647.2 committer: Satya B branch nick: mysql-5.1-bugteam-47671 timestamp: Thu 2009-11-26 13:12:16 +0530 message: merge to mysql-5.1-bugteam ------------------------------------------------------------ revno: 2555.647.1 committer: Satya B branch nick: mysql-5.1-bugteam-47671 timestamp: Wed 2009-11-25 12:25:49 +0530 message: Fix for BUG#47671 - wrong character-set after upgrade from 5.1.34 to 5.1.39 mysql client displays wrong character-set of server. When a user changes the charset of a server, mysql client 'status' command displays wrong charset but the command "SHOW VARIABLES LIKE "%charset%" displayed correct charset results. The problem is only with the mysql client's 'status' command output. In mysql client, the method mysql_store_lazy_result() returns 0 for success and non-zero for failure. The method com_status() was using this method wrongly. Fixed all such instances according to return value of the method mysql_store_lazy_result(). ------------------------------------------------------------ revno: 2555.643.6 committer: Martin Hansson branch nick: 5.1bt timestamp: Wed 2009-11-25 11:02:25 +0100 message: Bug#48459: valgrind errors with query using 'Range checked for each record' There was an error in an internal structure in the range optimizer (SEL_ARG). Bad design causes parts of a data structure not to be initialized when it is in a certain state. All client code must check that this state is not present before trying to access the structure's data. Fixed by - Checking the state before trying to access data (in several places, most of which not covered by test case.) - Copying the keypart id when cloning SEL_ARGs ------------------------------------------------------------ revno: 2555.623.14 committer: Kent Boortz branch nick: mysql-5.1-bugteam timestamp: Wed 2009-11-25 16:48:29 +0100 message: Move DBG_* macros to after the variable declaration section in a block, might expand to function calls (Bug#48331) ------------------------------------------------------------ revno: 2555.623.13 committer: Davi Arnaut branch nick: 47627-5.1 timestamp: Wed 2009-11-25 11:09:12 -0200 message: Automerge. ------------------------------------------------------------ revno: 2555.629.24 committer: Satya B branch nick: mysql-5.1-bugteam timestamp: Wed 2009-11-25 15:34:19 +0530 message: NULL Merge Innodb snapshot 5.0-ss6230 to 5.1-bugteam ------------------------------------------------------------ revno: 1810.3971.8 committer: Satya B branch nick: mysql-5.0-bugteam timestamp: Wed 2009-11-25 15:29:25 +0530 message: Applying InnoDB snapshot 5.0-ss6230, part 2. Fixes BUG#46000 BUG#46000 - using index called GEN_CLUST_INDEX crashes server Detailed revision comments: r6180 | jyang | 2009-11-17 10:54:57 +0200 (Tue, 17 Nov 2009) | 7 lines branches/5.0: Merge/Port fix for bug #46000 from branches/5.1 -r5895 to branches/5.0. Disallow creating index with the name of "GEN_CLUST_INDEX" which is reserved for the default system primary index. Minor adjusts on table name screening format for added tests. ------------------------------------------------------------ revno: 1810.3971.7 committer: Satya B branch nick: mysql-5.0-bugteam timestamp: Wed 2009-11-25 15:08:52 +0530 message: Applying InnoDB snapshot 5.0-ss6230, Part 1. Fixes BUG#47777 BUG#47777 - innodb dies with spatial pk: Failing assertion: buf <= original_buf + buf_len Detailed revision comments: r6178 | jyang | 2009-11-17 08:52:11 +0200 (Tue, 17 Nov 2009) | 6 lines branches/5.0: Merge fix for bug #47777 from branches/5.1 -r6045 to bracnches/5.0. 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. ------------------------------------------------------------ revno: 2555.629.23 committer: Evgeny Potemkin branch nick: mysql-5.1-bugteam timestamp: Wed 2009-11-25 12:57:08 +0300 message: Auto-merge. ------------------------------------------------------------ revno: 2555.643.5 committer: Tatiana A. Nurnberg branch nick: 51-48319_ timestamp: Tue 2009-11-24 17:43:51 -0800 message: auto-merge ------------------------------------------------------------ revno: 2555.646.1 committer: Davi Arnaut branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-24 19:25:23 -0200 message: Post-merge fix for bug 41728: revert fix that was pushed in mistake to 5.1 and up. ------------------------------------------------------------ revno: 2555.643.4 committer: Tatiana A. Nurnberg branch nick: 51-48319_ timestamp: Tue 2009-11-24 10:22:22 -0800 message: auto-merge ------------------------------------------------------------ revno: 2555.645.1 committer: Tatiana A. Nurnberg branch nick: 51-48319 timestamp: Thu 2009-10-29 22:06:10 -0700 message: Bug#48319: Server crashes on "GRANT/REVOKE ... TO CURRENT_USER" CURRENT_USER() in GRANT ... TO CURRENT_USER() only gave us a definer, not a full user (i.e., password-element was not initiliazed). Hence dereferencing the password led to a crash. Properly initializes definers now, just so there are no misunderstandings. Also does some magic so IDENTIFIED BY ... works with CURRENT_USER(). ------------------------------------------------------------ revno: 2555.643.3 committer: Tatiana A. Nurnberg branch nick: 51-47655_ timestamp: Tue 2009-11-24 09:23:51 -0800 message: auto-merge ------------------------------------------------------------ revno: 2555.643.2 committer: Tatiana A. Nurnberg branch nick: 51-47655_ timestamp: Tue 2009-11-24 08:08:47 -0800 message: auto-merge ------------------------------------------------------------ revno: 2555.644.1 committer: Tatiana A. Nurnberg branch nick: 51-47655 timestamp: Mon 2009-11-02 00:46:00 -0800 message: Bug#47655: Memory free error when connecting to 4.1 server from 5.1+ client When starting the (5.1+) mysql command-line client, we try to get "select @@version_comment" from the server to present it to the user. Recent clients are aware that older servers do not have that variable and fall back on other info to be able to present *something* at least. This fallback string was allocated through the POSIX interface, but released through the my*() suite, which rightfully complained about the imbalance in calls when compiled with --debug. While this wasn't as bad as it looked (no double-free, use of uninitialized or freed buffer, etc.), it did look funky. Using my_strdup() now for what will be my_free()d later. ------------------------------------------------------------ revno: 2555.629.22 committer: Evgeny Potemkin branch nick: mysql-5.1-bugteam timestamp: Wed 2009-11-25 12:52:03 +0300 message: Additional fix for the bug#43668. Arg_comparator now takes into account that some of optimizations aren't done in the PREPARE stmt. ------------------------------------------------------------ revno: 2555.629.21 committer: Evgeny Potemkin branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-24 18:30:21 +0300 message: Auto-merge. ------------------------------------------------------------ revno: 2555.643.1 committer: Georgi Kodinov branch nick: B45261-5.1-bugteam timestamp: Fri 2009-11-20 12:10:47 +0200 message: Bug #45261 : Crash, stored procedure + decimal Bug #48370 Absolutely wrong calculations with GROUP BY and decimal fields when using IF Added the test cases in the above two bugs for regression testing. Added additional tests that demonstrate a incomplete fix. Added a new factory method for Field_new_decimal to create a field from an (decimal returning) Item. In the new method made sure that all the precision and length variables are capped in a proper way. This is required because Item's can have larger precision than the decimal fields and thus need to be capped when creating a field based on an Item type. Fixed the wrong typecast to Item_decimal. ------------------------------------------------------------ revno: 2555.629.20 committer: Evgeny Potemkin branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-24 18:26:13 +0300 message: Manual merge of the fix for bug#43668. ------------------------------------------------------------ revno: 2555.642.1 committer: Evgeny Potemkin branch nick: 43668-bug-5.1-bugteam timestamp: Tue 2009-11-17 17:06:46 +0300 message: Bug#43668: Wrong comparison and MIN/MAX for YEAR(2) MySQL manual describes values of the YEAR(2) field type as follows: values 00 - 69 mean 2000 - 2069 years and values 70 - 99 mean 1970 - 1999 years. MIN/MAX and comparison functions was comparing them as int values thus producing wrong result. Now the Arg_comparator class is extended with compare_year function which performs correct comparison of the YEAR type. The Item_sum_hybrid class now uses Item_cache and Arg_comparator objects to correctly calculate its value. To allow Arg_comparator to use func_name() function for Item_func and Item_sum objects the func_name declaration is moved to the Item_result_field class. A helper function is_owner_equal_func is added to the Arg_comparator class. It checks whether the Arg_comparator object owner is the <=> function or not. A helper function setup is added to the Item_sum_hybrid class. It sets up cache item and comparator. ------------------------------------------------------------ revno: 2555.629.19 committer: Jim Winstead branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-23 14:46:25 -0800 message: Null-merge of backported bug fix. ------------------------------------------------------------ revno: 1810.3971.6 committer: Jim Winstead branch nick: mysql-5.0--bug27884 timestamp: Mon 2009-11-23 14:38:08 -0800 message: Backport fix for Bug #27884. ------------------------------------------------------------ revno: 2555.629.18 committer: Georgi Kodinov branch nick: revert-45613-5.1-bugteam timestamp: Mon 2009-11-23 17:32:10 +0200 message: Additional fix for bug #45613: handle failures from my_hash_insert Testing for presence of stuff in a hash inside the function that's filling in the hash creates chicken-and-egg type of problems. This results in test suite failures in mysql-pe in debug mode and adds bad initialization dependency in 5.1. Fixed by removing the debug code. ------------------------------------------------------------ revno: 2555.629.17 committer: Alexey Kopytov branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-23 13:07:58 +0300 message: Automerge. ------------------------------------------------------------ revno: 1810.3971.5 committer: Alexey Kopytov branch nick: mysql-5.0-bugteam timestamp: Mon 2009-11-23 13:05:35 +0300 message: Automerge. ------------------------------------------------------------ revno: 2555.629.16 committer: Alexey Kopytov branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-23 13:07:18 +0300 message: Automerge. ------------------------------------------------------------ revno: 2555.641.1 committer: Alexey Kopytov branch nick: my51-bug48472 timestamp: Mon 2009-11-23 13:04:17 +0300 message: Automerge. ------------------------------------------------------------ revno: 1810.3972.1 committer: Alexey Kopytov branch nick: my50-bug48472 timestamp: Tue 2009-11-17 17:07:14 +0300 message: Bug #48472: Loose index scan inappropriately chosen for some WHERE conditions check_group_min_max() checks if the loose index scan optimization is applicable for a given WHERE condition, that is if the MIN/MAX attribute participates only in range predicates comparing the corresponding field with constants. The problem was that it considered the whole predicate suitable for the loose index scan optimization as soon as it encountered a constant as a predicate argument. This is obviously wrong for cases when a constant is the first argument of a predicate which does not satisfy the above condition. Fixed check_group_min_max() so that all arguments of the input predicate are considered to decide if it passes the test, even though a constant has already been encountered. ------------------------------------------------------------ revno: 2555.629.15 committer: branch nick: mysql-5.1-bugteam timestamp: Sun 2009-11-22 13:10:33 +0800 message: Bug #48350 truncate temporary table crashes replication In RBR, All statements operating on temporary tables should not be binlogged. Despite this fact, after executing 'TRUNCATE... ' on a temporary table, the command is still logged, even if in row-based mode. Consequently, this raises problems in the slave as the table may not exist, resulting in an execution failure. Ultimately, this causes the slave to report an error and abort. After this patch, 'TRUNCATE ...' statement on a temporary table will not be binlogged in RBR. ------------------------------------------------------------ revno: 2555.629.14 committer: Alfranio Correia branch nick: mysql-5.1-bugteam-merge timestamp: Sat 2009-11-21 13:02:18 +0000 message: merge 5.1-bugteam (local) --> 5.1-bugteam ------------------------------------------------------------ revno: 2555.640.4 committer: Alfranio Correia branch nick: mysql-5.1-bugteam timestamp: Thu 2009-10-22 01:21:50 +0100 message: BUG#48091 valgrind errors when slave has double not null and master has double null Backporting BUG#47741 to mysql-5.1-bugteam ------------------------------------------------------------ revno: 2555.640.3 committer: Alfranio Correia branch nick: mysql-5.1-bugteam timestamp: Thu 2009-10-22 01:19:52 +0100 message: BUG#48091 valgrind errors when slave has double not null and master has double null Backporting BUG#43789 to mysql-5.1-bugteam Post-fix for BUG#43789. ------------------------------------------------------------ revno: 2555.640.2 committer: Alfranio Correia branch nick: mysql-5.1-bugteam timestamp: Thu 2009-10-22 01:15:45 +0100 message: BUG#48091 valgrind errors when slave has double not null and master has double null Backporting BUG#43789 to mysql-5.1-bugteam The replication was generating corrupted data, warning messages on Valgrind and aborting on debug mode while replicating a "null" to "not null" field. Specifically the unpack_row routine, was considering the slave's table definition and trying to retrieve a field value, where there was nothing to be retrieved, ignoring the fact that the value was defined as "null" by the master. To fix the problem, we proceed as follows: 1 - If it is not STRICT sql_mode, implicit default values are used, regardless if it is multi-row or single-row statement. 2 - However, if it is STRICT mode, then a we do what follows: 2.1 If it is a transactional engine, we do a rollback on the first NULL that is to be set into a NOT NULL column and return an error. 2.2 If it is a non-transactional engine and it is the first row to be inserted with multi-row, we also return the error. Otherwise, we proceed with the execution, use implicit default values and print out warning messages. Unfortunately, the current patch cannot mimic the behavior showed by the master for updates on multi-tables and multi-row inserts. This happens because such statements are unfolded in different row events. For instance, considering the following updates and strict mode: (master) create table t1 (a int); create table t2 (a int not null); insert into t1 values (1); insert into t2 values (2); update t1, t2 SET t1.a=10, t2.a=NULL; t1 would have (10) and t2 would have (0) as this would be handled as a multi-row update. On the other hand, if we had the following updates: (master) create table t1 (a int); create table t2 (a int); (slave) create table t1 (a int); create table t2 (a int not null); (master) insert into t1 values (1); insert into t2 values (2); update t1, t2 SET t1.a=10, t2.a=NULL; On the master t1 would have (10) and t2 would have (NULL). On the slave, t1 would have (10) but the update on t1 would fail. ------------------------------------------------------------ revno: 2555.640.1 committer: Alfranio Correia branch nick: mysql-5.1-bugteam timestamp: Thu 2009-10-22 01:10:42 +0100 message: BUG#48091 valgrind errors when slave has double not null and master has double null Backporting BUG#38173 to mysql-5.1-bugteam The reason of the bug was incompatibile with the master side behaviour. INSERT query on the master is allowed to insert into a table without specifying values of DEFAULT-less fields if sql_mode is not strict. Fixed with checking sql_mode by the sql thread to decide how to react. Non-strict sql_mode should allow Write_rows event to complete. todo: warnings can be shown via show slave status, still this is a separate rather general issue how to show warnings for the slave threads. ------------------------------------------------------------ revno: 2555.629.13 committer: Davi Arnaut branch nick: mysql-5.1-bugteam timestamp: Sat 2009-11-21 10:11:45 -0200 message: Post-merge fixes: fix typo and remove unused variables. ------------------------------------------------------------ revno: 2555.629.12 committer: Davi Arnaut branch nick: 41726-5.1 timestamp: Sat 2009-11-21 09:18:21 -0200 message: Bug#41726: upgrade from 5.0 to 5.1.30 crashes if you didn't run mysql_upgrade The problem is that the server could crash when attempting to access a non-conformant proc system table. One such case was a crash when invoking stored procedure related statements on a 5.1 server with a proc system table in the 5.0 format. The solution is to validate the proc system table format before attempts to access it are made. If the table is not in the format that the server expects, a message is written to the error log and the statement that caused the table to be accessed fails. ------------------------------------------------------------ revno: 2555.629.11 committer: Kristofer Pettersson branch nick: mysql-5.1-bugteam timestamp: Fri 2009-11-20 21:56:43 +0100 message: merge ------------------------------------------------------------ revno: 2555.639.1 committer: Kristofer Pettersson branch nick: 51-bug45613 timestamp: Fri 2009-11-20 16:18:01 +0100 message: Bug#45613 handle failures from my_hash_insert Not all my_hash_insert() calls are checked for return value. This patch adds appropriate checks and failure responses where needed. ------------------------------------------------------------ revno: 2555.629.10 committer: Kristofer Pettersson branch nick: mysql-5.1-bugteam timestamp: Fri 2009-11-20 16:24:48 +0100 message: automerge ------------------------------------------------------------ revno: 2555.636.4 committer: Georgi Kodinov branch nick: merge-5.1-bugteam timestamp: Fri 2009-11-20 15:41:09 +0200 message: merge ------------------------------------------------------------ revno: 1810.3971.4 committer: Georgi Kodinov branch nick: merge-5.0-bugteam timestamp: Fri 2009-11-20 15:38:21 +0200 message: merge ------------------------------------------------------------ revno: 1810.3963.17 author: hery.ramilison@sun.com committer: MySQL Build Team branch nick: mysql-5.0 timestamp: Mon 2009-11-09 19:22:35 +0100 message: Raise version number after cloning 5.0.88 ------------------------------------------------------------ revno: 2555.636.3 committer: Georgi Kodinov branch nick: merge-5.1-bugteam timestamp: Fri 2009-11-20 15:39:15 +0200 message: merge ------------------------------------------------------------ revno: 2555.638.2 author: hery.ramilison@sun.com committer: MySQL Build Team branch nick: mysql-5.1 timestamp: Tue 2009-11-17 18:51:16 +0100 message: Merge from mysql-5.1.41-release ------------------------------------------------------------ revno: 2555.638.1 author: hery.ramilison@sun.com committer: MySQL Build Team branch nick: mysql-5.1 timestamp: Wed 2009-11-04 19:22:09 +0100 message: Raise version number after cloning 5.1.41 ------------------------------------------------------------ revno: 2555.636.2 committer: Vladislav Vaintroub branch nick: mysql-5.1-bugteam timestamp: Fri 2009-11-20 14:20:01 +0100 message: merge ------------------------------------------------------------ revno: 2555.637.1 committer: Georgi Kodinov branch nick: B48665-5.1-bugteam timestamp: Thu 2009-11-19 18:26:19 +0200 message: Bug #48665: sql-bench's insert test fails due to wrong result When merging ranges during calculation of the result of OR to two range sets the current range may be obsoleted by the resulting merged range. The first overlapping range can be obsoleted as well. Fixed by moving the pointer to the first overlapping range to the pointer of the resulting union range. Added few comments at key places in key_or(). ------------------------------------------------------------ revno: 2555.636.1 committer: Vladislav Vaintroub branch nick: mysql-5.1-bugteam timestamp: Fri 2009-11-20 13:09:50 +0100 message: Bug#47571 : idle named pipe connection is unkillable implement Davi's review suggestions (post-push fixes) ------------------------------------------------------------ revno: 2555.629.9 committer: Kristofer Pettersson branch nick: mysql-5.1-bugteam timestamp: Fri 2009-11-20 13:57:31 +0100 message: automerge ------------------------------------------------------------ revno: 2555.635.1 committer: Kristofer Pettersson branch nick: mysql-5.1-qc timestamp: Fri 2009-11-20 13:49:06 +0100 message: Bug#39253 Large query cache still freezes server after fix for bug #21074 This patch introduce a limit on the time the query cache can block with a lock on SELECTs. Other operations which causes a change in the table data will still be blocked. ------------------------------------------------------------ revno: 2555.629.8 committer: Georgi Kodinov branch nick: test-5.1-bugteam timestamp: Fri 2009-11-20 14:48:15 +0200 message: merge ------------------------------------------------------------ revno: 2555.634.3 committer: Christopher Powers branch nick: mysql timestamp: Thu 2009-11-19 16:49:13 -0600 message: Bug #48739 MySQL crashes on specific INTERVAL in select query Fixed crash caused by x64 int/long incompatibility introduced in Bug #29125. ------------------------------------------------------------ revno: 2555.634.2 committer: Sven Sandberg branch nick: 5.1-bugteam timestamp: Wed 2009-11-18 15:50:31 +0100 message: BUG#47995: Mark system functions as unsafe Problem: Some system functions that could return different values on master and slave were not marked unsafe. In particular: GET_LOCK IS_FREE_LOCK IS_USED_LOCK MASTER_POS_WAIT RELEASE_LOCK SLEEP SYSDATE VERSION Fix: Mark these functions unsafe. ------------------------------------------------------------ revno: 2555.634.1 committer: Jon Olav Hauglid branch nick: mysql-5.1-bugteam-mytest timestamp: Wed 2009-11-18 13:49:45 +0100 message: Postfix for Bug #47682 strange behaviour of INSERT DELAYED Fixed a problem with the test case when executed with ps-protocol. There the conflicing lock would be noticed during prepare, not during execution of the insert - leading to a different (but equally appropriate) error message. ------------------------------------------------------------ revno: 2555.629.7 committer: Georgi Kodinov branch nick: test-5.1-bugteam timestamp: Fri 2009-11-20 12:11:31 +0200 message: merge ------------------------------------------------------------ revno: 1810.3971.3 committer: Georgi Kodinov branch nick: test-5.0-bugteam timestamp: Wed 2009-11-18 17:24:10 +0200 message: Bug#48864: MySQL fails to compile on 64 bit Fedora 12 Fixed 2 errors in comp_err executable : 1. Wrong (off by 1) length passed to my_checksum() 2. strmov() was used on overlapping strings. This is not legal according to the docs in stpcpy(). Used the overlap safe memmove() instead. ------------------------------------------------------------ revno: 2555.629.6 committer: Mattias Jonsson branch nick: topush-51-bugteam_2 timestamp: Wed 2009-11-18 11:21:26 +0100 message: merge ------------------------------------------------------------ revno: 2555.632.3 committer: Mattias Jonsson branch nick: topush-51-bugteam timestamp: Tue 2009-11-17 22:51:49 +0100 message: merge ------------------------------------------------------------ revno: 2555.633.1 committer: Mattias Jonsson branch nick: b45904-51-bugteam timestamp: Tue 2009-11-17 22:47:34 +0100 message: backport of bug#45904 from mysql-pe to 5.1 ------------------------------------------------------------ revno: 2555.632.2 committer: Mattias Jonsson branch nick: topush-51-bugteam timestamp: Tue 2009-11-17 22:48:28 +0100 message: merge ------------------------------------------------------------ revno: 2555.624.10 committer: Mattias Jonsson branch nick: b48276-51-bugteam timestamp: Mon 2009-11-09 11:26:01 +0100 message: Bug#48276: can't add column if subpartition exists Bug when setting up default partitioning, used an uninitialized variabe. ------------------------------------------------------------ revno: 2555.632.1 committer: Mattias Jonsson branch nick: topush-51-bugteam timestamp: Tue 2009-11-17 16:24:46 +0100 message: merge ------------------------------------------------------------ revno: 2555.631.1 committer: Mattias Jonsson branch nick: b46923-51-bugteam timestamp: Tue 2009-11-03 09:22:01 +0100 message: Bug#46923: select count(*) from partitioned table fails with ONLY_FULL_GROUP_BY Problem was that during checking and preparation of the partitioining function as a side effect in fix_fields the full_group_by_flag was changed. Solution was to set it back to its original value after calling fix_fields. Updated patch, to also exclude allow_sum_func from being affected of fix_fields, as requested by reviewer. ------------------------------------------------------------ revno: 2555.629.5 committer: Magne Mahre branch nick: mysql-5.1-bugteam-46425 timestamp: Wed 2009-11-18 10:45:32 +0100 message: merge ------------------------------------------------------------ revno: 2555.630.1 committer: Jon Olav Hauglid branch nick: mysql-5.1-bugteam-bug47682 timestamp: Wed 2009-11-18 10:02:21 +0100 message: Bug #47682 strange behaviour of INSERT DELAYED The problem was a "self-deadlock" if the connection issuing INSERT DELAYED had both the global read lock (FLUSH TABLES WITH READ LOCK) and LOCK TABLES mode active. The table being inserted into had to be different from the table(s) locked by LOCK TABLES. For INSERT DELAYED, the connection thread waits until the handler thread has opened and locked its table before returning. But since the global read lock was active, the handler thread would be unable to lock and would wait for the global read lock to go away. So the handler thread would be waiting for the connection thread to release the global read lock while the connection thread was waiting for the handler thread to lock the table. This gave a "self-deadlock" (same connection, different threads). The deadlock would only happen if we also had LOCK TABLES mode since the INSERT otherwise will try to get protection against global read lock before starting the handler thread. It will then notice that the global read lock is owned by the same connection and report ER_CANT_UPDATE_WITH_READLOCK. This patch removes the deadlock by reporting ER_CANT_UPDATE_WITH_READLOCK also if we are inside LOCK TABLES mode. Test case added to delayed.test. ------------------------------------------------------------ revno: 2555.629.4 committer: Magne Mahre branch nick: mysql-5.1-bugteam-46425 timestamp: Wed 2009-11-18 10:32:03 +0100 message: Bug #46425 crash in Diagnostics_area::set_ok_status , empty statement, DELETE IGNORE The ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG error was set in the diagnostics area when it happened, but the DELETE cleanup code never checked for a non-fatal error condition, thus trying to set diag.area to "ok". This triggered an assert checking that the diag.area was empty. The fix was to test if there existed a non-fatal error condition (thd->is_error() before ok'ing the operation. ------------------------------------------------------------ revno: 2555.629.3 committer: Kent Boortz branch nick: mysql-5.1-bugteam timestamp: Tue 2009-11-17 17:53:45 +0100 message: Merge ------------------------------------------------------------ revno: 1810.3971.2 committer: Kent Boortz branch nick: mysql-5.0-bugteam timestamp: Tue 2009-11-17 17:49:24 +0100 message: Include the "mysql-test/collections" directory when creating windows ZIP archive ------------------------------------------------------------ revno: 2555.629.2 committer: Anurag Shekhar branch nick: mysql-5.1-bugteam-47012 timestamp: Tue 2009-11-17 17:44:27 +0530 message: fix for pb2 failure after bug#47012 push. ------------------------------------------------------------ revno: 2555.629.1 committer: Jorgen Loland branch nick: mysql-5.1-bugteam-valgrind timestamp: Fri 2009-11-13 12:22:39 +0100 message: Bug#48052: Valgrind warning - uninitialized value in init_read_record() - (records.cc:274) Item_cond::used_tables_cache was accessed in records.cc#init_read_record() without being initialized. It had not been initialized because it was wrongly assumed that the Item's variables would not be accessed, and hence quick_fix_field() was used instead of fix_fields() to save a few CPU cycles at creation time. The fix is to properly initilize the Item by replacing quick_fix_field() with fix_fields(). ------------------------------------------------------------ revno: 2555.623.12 committer: Davi Arnaut branch nick: 47627-5.1 timestamp: Thu 2009-11-12 23:03:26 -0200 message: Bug#47627 SET @@{global.session}.local_variable in stored routine causes crash This patch borrows ideas, text and code from Kristofer Pettersson's patch. An assignment of a system variable sharing the same base name as a declared stored procedure variable in the same context could 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. This patch refactors the 'internal_variable_name' rule and copies the semantic analysis part to the depending parent rule: 'option_value'. This makes it possible to account for any prefixes affecting the interpretation of the internal_variable_name. ------------------------------------------------------------ revno: 2555.623.11 committer: Alexey Kopytov branch nick: mysql-5.1-bugteam timestamp: Thu 2009-11-12 20:14:07 +0300 message: Automerge. ------------------------------------------------------------ revno: 1810.3971.1 committer: Alexey Kopytov branch nick: mysql-5.0-bugteam timestamp: Thu 2009-11-12 20:13:08 +0300 message: Automerge. ------------------------------------------------------------ revno: 1810.3968.4 committer: Alexey Kopytov branch nick: my50-bug48475 timestamp: Thu 2009-11-12 20:11:33 +0300 message: Fixed a gcc warning introduced by the patch for bug #48475. ------------------------------------------------------------ revno: 2555.623.10 committer: Magne Mahre branch nick: mysql-5.1-bugteam-37183 timestamp: Thu 2009-11-12 12:43:33 +0100 message: Bug #37183 insert ignore into .. select ... hangs after deadlock was encountered The bug is caused by an inconsistent handling of the IGNORE clause. A read from a const table caused a lock timeout (ER_LOCK_TIMEOUT) in innodb. Since the IGNORE clause was given, the timeout was converted into a warning instead of an error, thus not populating the diagnostics area. When innodb subsequently marked the transaction for rollback, mysql asserted since the diag.area was empty. This patch consists of only a test case, as the bug itself was fixed by the patch for Bug #46539 ------------------------------------------------------------ revno: 2555.623.9 committer: Christopher Powers branch nick: mysql timestamp: Wed 2009-11-11 11:01:16 -0600 message: Merge ------------------------------------------------------------ revno: 2555.628.1 committer: Anurag Shekhar branch nick: mysql-5.1-bugteam-47012 timestamp: Wed 2009-11-11 13:33:29 +0530 message: Bug #47012 archive tables are not upgradeable, and server crashes on any access Archive engine for 5.1 (and latter) version uses a modified version of zlib (azlib). These two version are incompatible so a proper upgrade is needed before tables created in 5.0 can be used reliable. This upgrade can be performed using repair. But due to lack of test its risky to allow upgrade for now. This patch addresses only the crashing issue. Any attempt to repair will be blocked. Eventually repair can be allowed to run through (which will also cause an upgrade from older version to newer) but only after a thorough testing. ------------------------------------------------------------ revno: 2555.623.8 committer: Christopher Powers branch nick: mysql timestamp: Tue 2009-11-10 13:41:43 -0600 message: Bug#47382 'mysqladmin debug' crash on 64-bit Windows The crash occurs because SAFEMALLOC is defined for the MySQL server but not for the Archive or Federated engines, resulting in a parameter mismatch between the function prototype and definition for functions using the CALLER_INFO macro. ------------------------------------------------------------ revno: 2555.623.7 committer: Georgi Kodinov branch nick: B47930-5.1-bugteam timestamp: Tue 2009-10-27 14:43:12 +0200 message: Bug #47930: MATCH IN BOOLEAN MODE returns too many results inside subquery Re-setting a fulltext index was a no-operation if not all the matches of a search were consumed by reading them. This was preventing a joined table using a fulltext index in a subquery that requires only 1 row of output (e.g. EXISTS) from working correctly because the second execution of the sub-query has the fulltext index cursor in a wrong state and was not finding results. Fixed by making the re-init code _ftb_init_index_search() to re-set open cursors in addition to depleted ones. ------------------------------------------------------------ revno: 2555.623.6 committer: Georgi Kodinov branch nick: B32167-5.1-bugteam timestamp: Tue 2009-11-10 14:42:12 +0200 message: merge ------------------------------------------------------------ revno: 1810.3970.4 committer: Georgi Kodinov branch nick: B32167-5.0-bugteam timestamp: Tue 2009-11-03 15:49:13 +0200 message: Bug #32167: another privilege bypass with DATA/INDEX DIRECTORY Fixed a initialization order remark by Serg : correct directory expansion order implemented on server startup. ------------------------------------------------------------ revno: 2555.623.5 committer: Georgi Kodinov branch nick: B48458-5.1-bugteam timestamp: Tue 2009-11-10 12:59:02 +0200 message: merge ------------------------------------------------------------ revno: 1810.3970.3 committer: Georgi Kodinov branch nick: B48458-5.0-bugteam timestamp: Mon 2009-11-09 16:09:46 +0200 message: Bug #48458: simple query tries to allocate enormous amount of memory The server was doing a bad class typecast causing setting of wrong value for the maximum number of items in an internal structure used in equality propagation. Fixed by not doing the wrong typecast and asserting the type of the Item where it should be done. ------------------------------------------------------------ revno: 2555.623.4 committer: Georgi Kodinov branch nick: B42760-5.1-bugteam timestamp: Tue 2009-11-10 11:34:58 +0200 message: removed a duplicate make target ------------------------------------------------------------ revno: 2555.623.3 committer: Georgi Kodinov branch nick: B42760-5.1-bugteam timestamp: Tue 2009-11-10 10:58:43 +0200 message: merge ------------------------------------------------------------ revno: 1810.3970.2 committer: Georgi Kodinov branch nick: B42760-5.0-bugteam timestamp: Tue 2009-11-10 10:21:41 +0200 message: Bug #42760: Select doesn't return desired results when we have null values We should re-set the access method functions when changing the access method when switching to another index to avoid sorting. Fixed by doing a little re-engineering : encapsulating all the function assignment into a special function and calling it when flipping the indexes. ------------------------------------------------------------ revno: 2555.623.2 committer: Kristofer Pettersson branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-09 23:35:04 +0100 message: automerge ------------------------------------------------------------ revno: 2555.624.9 committer: Evgeny Potemkin branch nick: mysql-5.1-bugteam timestamp: Fri 2009-11-06 22:42:24 +0300 message: Auto-merged fix for the bug#34384. ------------------------------------------------------------ revno: 2555.627.1 committer: Evgeny Potemkin branch nick: 34384-bug-5.1-bugteam timestamp: Fri 2009-11-06 22:34:25 +0300 message: Bug#34384: Slow down on constant conversion. When values of different types are compared they're converted to a type that allows correct comparison. This conversion is done for each comparison and takes some time. When a constant is being compared it's possible to cache the value after conversion to speedup comparison. In some cases (large dataset, complex WHERE condition with many type conversions) query might be executed 7% faster. A test case isn't provided because all changes are internal and isn't visible outside. The behavior of the Item_cache is changed to cache values on the first request of cached value rather than at the moment of storing item to be cached. A flag named value_cached is added to the Item_cache class. It's set to TRUE when cache holds the value of the last stored item. Function named cache_value() is added to the Item_cache class and derived classes. This function actually caches the value of the saved item. Item_cache_xxx::store functions now only store item to be cached and set value_cached flag to FALSE. Item_cache_xxx::val_xxx functions are changed to call cache_value function prior to returning cached value if value_cached is FALSE. The Arg_comparator::set_cmp_func function now calls cache_converted_constant to cache constants if they need a type conversion. The Item_cache::get_cache function is overloaded to allow setting of the cache type. The cache_converted_constant function is added to the Arg_comparator class. It checks whether a value can and should be cached and if so caches it. ------------------------------------------------------------ revno: 2555.624.8 committer: Luis Soares branch nick: mysql-5.1-bugteam-push timestamp: Fri 2009-11-06 17:08:06 +0000 message: auto-merge bzr bundle from bug report into latest mysql-5.1-bugteam. ------------------------------------------------------------ revno: 2555.626.1 committer: Luis Soares branch nick: mysql-5.1-bugteam timestamp: Wed 2009-11-04 01:56:36 +0000 message: BUG#47743: rpl.rpl_log_pos fails sporadically BUG#47983: rpl_extraColmaster_myisam failed in PB2 with "Found warnings!!" BUG 45214 fixed the case when get_master_version_and_clock function, used by the slave, would not report errors. The slave now detects them and if related to transient network failures, it prints some warnings and retries to connect. On the other hand, if not network related, it just gives up and fails. As such, sometimes, in PB2, the slave comes across some transient communication issues between master and slave, while calling get_master_version_and_clock, causing warnings print outs to the error log. Nevertheless, in such cases slave retries to connect, in which it succeeds, and the test case continues as it normally would. But then, at the end of a successful test run, MTR checks the error log, finds the unexpected warnings and considers them harmful. This causes MTR to report error and, consequently, PB2 to report a failing test. We fix this by adding to the global warnings suppress list the warnings related to transient network failures only, which are reported while in function get_master_version_and_clock. ------------------------------------------------------------ revno: 2555.624.7 committer: Alexey Kopytov branch nick: mysql-5.1-bugteam timestamp: Fri 2009-11-06 17:58:01 +0300 message: Automerge. ------------------------------------------------------------ revno: 1810.3970.1 committer: Alexey Kopytov branch nick: mysql-5.0-bugteam timestamp: Fri 2009-11-06 17:56:51 +0300 message: Automerge. ------------------------------------------------------------ revno: 2555.624.6 committer: Alexey Kopytov branch nick: mysql-5.1-bugteam timestamp: Fri 2009-11-06 17:56:58 +0300 message: Automerge. ------------------------------------------------------------ revno: 2555.625.1 committer: Alexey Kopytov branch nick: my51-bug48475 timestamp: Fri 2009-11-06 17:54:19 +0300 message: Automerge. ------------------------------------------------------------ revno: 1810.3968.3 committer: Alexey Kopytov branch nick: my50-bug48475 timestamp: Fri 2009-11-06 09:44:01 +0300 message: Bug #48475: DISTINCT is ignored with GROUP BY WITH ROLLUP and only const tables The problem was caused by two shortcuts in the optimizer that are inapplicable in the ROLLUP case. Normally in a case when only const tables are involved in a query, DISTINCT clause can be safely optimized away since there may be only one row produced by the join. Similarly, we don't need to create a temporary table to resolve DISTINCT/GROUP BY/ORDER BY. Both of these are inapplicable when the WITH ROLLUP modifier is present. Fixed by disabling the said optimizations for the WITH ROLLUP case. ------------------------------------------------------------ revno: 2555.624.5 committer: Georgi Kodinov branch nick: B46175-5.1-bugteam timestamp: Wed 2009-11-04 13:54:28 +0200 message: Bug #46175: NULL read_view and consistent read assertion The SE API requires mysql to notify the storage engine that it's going to read certain tables at the beginning of the statement (by calling start_stmt(), store_lock() or external_lock()). These are typically called by the lock_tables(). However SHOW CREATE TABLE is not pre-locking the tables because it's not expected to access the data at all. But for some view definitions (that include comparing a date/datetime/timestamp column to a string returning scalar subquery) the JOIN::prepare may still access data when materializing the scalar non-correlated subquery in Arg_comparator::can_compare_as_dates(). Fixed by not materializing the subquery when the function is called in a SHOW/EXPLAIN/CREATE VIEW ------------------------------------------------------------ revno: 2555.624.4 committer: Davi Arnaut branch nick: mysql-5.1-bugteam timestamp: Thu 2009-11-05 07:48:50 -0200 message: Introduce support for automake-1.11 silent-rules. ------------------------------------------------------------ revno: 2555.624.3 committer: branch nick: mysql-5.1-bugteam timestamp: Thu 2009-11-05 14:07:31 +0800 message: Bug #34739 unexpected binlog file name when --log-bin is set to a directory name If --log-bin is set to a directory name with the trailing 'FN_LIBCHAR', which will be '/' on Unix like systems, and '\\' on Windows like systems. the basename of the binlog is empty so that the created files named '.000001' and '.index'. It is not expected. The same thing happened to --log-bin-index, --relay-log and --relay-log-index options. To resolve the problem, in these cases the program should report an error and abort. ------------------------------------------------------------ revno: 2555.624.2 committer: Timothy Smith branch nick: 5.1-bugteam timestamp: Wed 2009-11-04 16:08:21 -0700 message: auto-merge ------------------------------------------------------------ revno: 1810.3968.2 committer: Timothy Smith branch nick: 50 timestamp: Wed 2009-11-04 16:06:49 -0700 message: auto-merge ------------------------------------------------------------ revno: 1810.3969.1 committer: Timothy Smith branch nick: b40700-50 timestamp: Wed 2009-11-04 15:34:42 -0700 message: Fix for Bug#40700: aclocal warnings for missing cache-id's Just change mysql_foo to mysql_cv_foo for one cache-id variable name. There was only one bad variable name, present in 5.0 and 5.1, but not in the -pe branch. ------------------------------------------------------------ revno: 2555.624.1 committer: Timothy Smith branch nick: 5.1-bugteam timestamp: Wed 2009-11-04 14:09:34 -0700 message: auto-merge ------------------------------------------------------------ revno: 1810.3968.1 committer: Timothy Smith branch nick: 50 timestamp: Wed 2009-11-04 14:08:31 -0700 message: auto-merge ------------------------------------------------------------ revno: 1810.3967.4 committer: Timothy Smith branch nick: 50-bugfix timestamp: Tue 2009-11-03 14:34:01 -0700 message: Add a few comments to clarify do_query() return values in mysql_secure_installation.pl ------------------------------------------------------------ revno: 1810.3967.3 committer: Timothy Smith branch nick: 50-bugfix timestamp: Tue 2009-11-03 13:50:28 -0700 message: Bug#48031: mysql_secure_installation -- bash bug regarding passwords with special chars This script failed when the user tried passwords with multiple spaces, \, # or ' characters. Now proper escaping and quoting is used in all contexts. This problem occurs in the Perl version of this script, too, so fix it in both places. ------------------------------------------------------------ revno: 1810.3967.2 committer: Timothy Smith branch nick: 50-bugfix timestamp: Tue 2009-11-03 13:32:12 -0700 message: Bug#48086: mysql_secure_installation does NOT work on Solaris Remove a bash-ism (if ! ...). ------------------------------------------------------------ revno: 1810.3967.1 committer: Timothy Smith branch nick: 5.0-bugteam timestamp: Fri 2009-10-30 14:28:33 -0600 message: Bug#35106: mysql_secure_installation fails on Windows, missing "use Term::ReadKey" Add the missing module import. Also, while here, fix a few glaring problems with the script, and ensure that it behaves properly. It seems this script may have never been working correctly (e.g., reading password didn't chomp() the result, so password was set with \n at the end; comparing the re-typed password to original was done with inverted test). Add END { cleanup(); } block to ensure the script removes temporary working files. Add SIG{INT} / SIG{QUIT} handler. Do a bit of reorganization to make the code easier to understand. Limit failed connection attempts to 3. Use ./bin/mysql if it exists, and then fall back on mysql in PATH (before it assumed 'mysql' in the path). Print a nicer error if 'mysql' can't be called. This has been tested on Windows (ActivePerl from cmd.exe, no cygwin needed) and Linux. ------------------------------------------------------------ revno: 2555.623.1 committer: Kristofer Pettersson branch nick: mysql-5.1-bugteam timestamp: Mon 2009-11-09 23:28:31 +0100 message: Bug#46043 mysqld --skip-innodb does not skip InnoDB The prefix --skip- didn't work on 64 bit big endian machines because of how the value pointer was casted. ------------------------------------------------------------ revno: 3134 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Tue 2010-03-09 18:15:55 +0100 message: fix introduced compiler warning ------------------------------------------------------------ revno: 3133 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Tue 2010-03-09 15:23:56 +0100 message: ndb - ndb_print_backup - bug#48673, bug#41512 - adopt to azio changes ------------------------------------------------------------ revno: 3132 committer: Jonas Oreland branch nick: 63-clean timestamp: Tue 2010-03-09 13:23:43 +0100 message: merge 63-main ------------------------------------------------------------ revno: 3130.1.2 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Fri 2010-03-05 13:23:06 +0100 message: ndb - fix a few strict alias warnings in Restore.cpp ------------------------------------------------------------ revno: 3130.1.1 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Fri 2010-03-05 13:15:04 +0100 message: ndb - bug#45601 - fix typo in error message ------------------------------------------------------------ revno: 3131 committer: John David Duncan branch nick: mysql-5.1-telco-6.3 timestamp: Fri 2010-03-05 15:05:16 -0800 message: Fix for bug#30552 and bug#30737 plus cleanup of NDB API examples ------------------------------------------------------------ revno: 3102.1.3 committer: John David Duncan branch nick: telco-6.3-working timestamp: Fri 2010-03-05 14:57:55 -0800 message: Merge ------------------------------------------------------------ revno: 3102.1.2 committer: John David Duncan branch nick: telco-6.3-working timestamp: Fri 2010-03-05 14:53:53 -0800 message: Cleanup of NDBAPI examples: - All table names are now lowercase, so that the examples will run on Mac and Windows - All tables are now in created in the "ndb_examples" database (rather than TEST_DB or TEST_DB_1) - All tables are named after the program that created them; e.g. "ndbapi_async" creates a table called "api_async" (used to be "MYTABLENAME", "GARAGE", etc.) - Tables are not dropped after the example completes, so you can examine them using the mysql client -- otherwise in some cases there was no confirmation that anything had really happened - All of the examples run even correctly even if the table already exists ------------------------------------------------------------ revno: 3102.1.1 committer: John David Duncan branch nick: telco-6.3-working timestamp: Wed 2010-02-24 09:40:16 -0800 message: Fix for bug#30552 and bug#30737 Use lowercase table names so that the example will run on Mac & Windows. ------------------------------------------------------------ revno: 3130 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Fri 2010-03-05 07:32:06 +0100 message: ndb - bug#51723 - missing jam ------------------------------------------------------------ revno: 3129 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Fri 2010-03-05 07:27:20 +0100 message: ndb - bug#51723 - make sure tail-problem is sent after NR ------------------------------------------------------------ revno: 3128 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Thu 2010-03-04 23:17:20 +0100 message: merge commit tag 6.3.32 ------------------------------------------------------------ revno: 3109.1.2 committer: Jonas Oreland branch nick: 6.3.32-build timestamp: Thu 2010-03-04 23:15:02 +0100 message: commit tag 6.3.32 ------------------------------------------------------------ revno: 3127 committer: Magnus Bl?udd branch nick: 6.3 timestamp: Thu 2010-03-04 15:31:16 +0100 message: Bug#50196 ndb_mgm REPORT MEMORY shows 2 Index memory status lines when using ndbmtd - additionl fix to cope with differing 'qsort' implementations(it's not supposed to be stable, but some seem to be), we really want to DataMemery lines to go before IndexMemory so do an extra compare of source_nodeid is equal ------------------------------------------------------------ revno: 3126 committer: Magnus Bl?udd branch nick: 6.3 timestamp: Thu 2010-03-04 13:26:53 +0100 message: ndb_mgm - move event_thread_param to where it's used ------------------------------------------------------------ revno: 3125 committer: Magnus Bl?udd branch nick: 6.3 timestamp: Thu 2010-03-04 13:23:16 +0100 message: ndb_mgm - Fix warning about long long to int truncation ------------------------------------------------------------ revno: 3124 committer: Magnus Bl?udd branch nick: 6.3 timestamp: Thu 2010-03-04 13:20:12 +0100 message: ndb_mgm - rename member variable try_reconnect to m_reconnect - rename parameters _try_reconnect to try_reconnect - rename option _try_reconnect to opt_try_reconnect ------------------------------------------------------------ revno: 3123 committer: Magnus Bl?udd branch nick: 6.3 timestamp: Thu 2010-03-04 13:11:51 +0100 message: ndb_mgm - Don't use negative return code from ndb_mgm when "ndb_mgm -e ''" fails, some platforms interpret it as 0(which is reserved for sucess) - Default to 255 for negatove return codes to be backward compatible. ------------------------------------------------------------ revno: 3122 committer: Magnus Bl?udd branch nick: 6.3 timestamp: Thu 2010-03-04 13:09:13 +0100 message: ndb_mgm - Use bool as return type for execute function that return true/false ------------------------------------------------------------ revno: 3121 committer: Magnus Bl?udd branch nick: 6.3 timestamp: Thu 2010-03-04 12:55:27 +0100 message: ndb_mgm - make 'CommandInterpreter::disconnect' void ------------------------------------------------------------ revno: 3120 committer: Magnus Bl?udd branch nick: 6.3 timestamp: Thu 2010-03-04 12:54:03 +0100 message: ndb_mgm - remove unused Ndb_mgmclient::disconnnect function ------------------------------------------------------------ revno: 3119 committer: Magnus Bl?udd branch nick: 6.3 timestamp: Tue 2010-03-02 19:47:17 +0100 message: ndb_mgm - fix signed/unsigned warnings ------------------------------------------------------------ revno: 3118 committer: Magnus Bl?udd branch nick: mysql-5.1-telco-6.3 timestamp: Tue 2010-03-02 18:12:38 +0100 message: Merge ------------------------------------------------------------ revno: 3116.1.1 committer: Magnus Bl?udd branch nick: mysql-5.1-telco-6.3 timestamp: Tue 2010-03-02 15:48:52 +0100 message: Merge ------------------------------------------------------------ revno: 3115.1.3 committer: Magnus Bl?udd branch nick: 6.3 timestamp: Tue 2010-03-02 15:18:53 +0100 message: Merge 6.3-bug31542 -> 6.3 ------------------------------------------------------------ revno: 3091.2.5 committer: Magnus Bl?udd branch nick: 6.3-bug31542 timestamp: Tue 2010-03-02 10:31:22 +0100 message: Bug#37632 ALL REPORT MEM spams to stdout - Only print MemoryUsage events in ndb_mgm if memory has increased or decreased ------------------------------------------------------------ revno: 3091.2.4 committer: Magnus Bl?udd branch nick: 6.3-bug31542 timestamp: Tue 2010-03-02 10:28:52 +0100 message: Bug#40865 ALL DUMP/REPORT commands return result to all ndb_mgm windows. - The bug is now fixed by bug#31542, this patch add tests for ndb_mgm and cleanup the impl. for example remove the strtok_r parsing and return proper error if invalid arguments ------------------------------------------------------------ revno: 3091.2.3 committer: Magnus Bl?udd branch nick: 6.3-bug31542 timestamp: Mon 2010-02-22 10:44:41 +0100 message: Bug#31542 ndb_mgm -e "all report mem" does not print output to stdout - Add new mgmapi function 'ndb_mgm_dump_events' which can be used to order BackupStatus and MemoryUsage event reports - Implement support for requesting events in ndb_mgmd and ndbd - Add tests for ndb_mgm -e " REPORT " to ndb_mgm.testMgm.cpp - Add test for ndb_mgmds new 'get events' command - Extend DUMP_STATE_ORD for NDB_LE_BackupStats and NDB_LE_MemoryUsage to take a second parameter which is the ref where to send the EVENT_REP ------------------------------------------------------------ revno: 3091.2.2 committer: Magnus Bl?udd branch nick: 6.3-bug31542 timestamp: Fri 2010-02-19 12:23:49 +0100 message: Bug#51319 Event report for BackupStatus may contain uninitialized data - Fix the hardcode 1 to use the iterator variable i ------------------------------------------------------------ revno: 3091.2.1 committer: Magnus Bl?udd branch nick: 6.3-bug31542 timestamp: Fri 2010-02-19 12:04:34 +0100 message: ndb - backport 'SignalSender::sendSignal(nodeid, sig, recBlock, gsn, len)' to 6.3 ------------------------------------------------------------ revno: 3115.1.2 committer: Magnus Bl?udd branch nick: 6.3 timestamp: Tue 2010-03-02 14:48:27 +0100 message: ndb_mgm - remove unused global variable ------------------------------------------------------------ revno: 3115.1.1 committer: Magnus Bl?udd branch nick: 6.3 timestamp: Tue 2010-03-02 14:12:31 +0100 message: Merge 6.3-bug49219 -> 6.3 ------------------------------------------------------------ revno: 3092.2.1 committer: Magnus Bl?udd branch nick: 6.3-bug49219 timestamp: Wed 2010-02-17 16:27:21 +0100 message: Bug#49219 ndb_mgm segfaults when receiving command after ndb_mgmd restart - remove the handler for SIGPIPE that disconnects the ndb_mgm client in the middle of it's check of still connected. - don't turn off mgmapi's builtin ignore of SIGPIPE and rely on the return codes which is returned from the mgmapi functions. ------------------------------------------------------------ revno: 3117 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Tue 2010-03-02 16:46:25 +0100 message: merge 6.3.32-p1 ------------------------------------------------------------ revno: 3109.1.1 tags: clone-mysql-5.1.41-ndb-6.3.32-p1-src-build, mysql-5.1.41-ndb-6.3.32 committer: Jonas Oreland branch nick: 6.3.32-build timestamp: Tue 2010-03-02 15:54:32 +0100 message: ndb - bug#51644 fix race condition wrt EXEC_SRREQ/EXEC_FRAGREQ ------------------------------------------------------------ revno: 3116 committer: Maitrayi Sabaratnam branch nick: mysql-5.1-telco-6.3 timestamp: Tue 2010-03-02 15:28:35 +0100 message: Merge ------------------------------------------------------------ revno: 3110.1.1 committer: Maitrayi Sabaratnam branch nick: mysql-5.1-telco-6.3 timestamp: Mon 2010-03-01 15:03:57 +0100 message: Bug#51111 ALTER LOGFILE GROUP missing error message ------------------------------------------------------------ revno: 3115 committer: Martin Skold branch nick: mysql-5.1-telco-6.3_merge timestamp: Tue 2010-03-02 12:51:32 +0100 message: Merge ------------------------------------------------------------ revno: 3091.1.5 committer: Martin Skold branch nick: mysql-5.1-telco-6.3_wl5151 timestamp: Wed 2010-02-24 15:07:18 +0100 message: Removing compiler warning ------------------------------------------------------------ revno: 3091.1.4 committer: Martin Skold branch nick: mysql-5.1-telco-6.3_wl5151 timestamp: Fri 2010-02-19 12:01:47 +0100 message: Merge ------------------------------------------------------------ revno: 3091.1.3 committer: Martin Skold branch nick: mysql-5.1-telco-6.3_wl5151 timestamp: Fri 2010-02-19 11:39:15 +0100 message: WL#5151 Conversion between different types: added ndb tests ------------------------------------------------------------ revno: 3091.1.2 committer: Martin Skold branch nick: mysql-5.1-telco-6.3_wl5151 timestamp: Thu 2010-02-18 13:42:12 +0100 message: WL#5151 Conversion between different types: changed tests to be generic to allow testing different storage engines ------------------------------------------------------------ revno: 3091.1.1 committer: Martin Skold branch nick: mysql-5.1-telco-6.3_wl5151 timestamp: Fri 2010-02-12 15:17:23 +0100 message: Merge ------------------------------------------------------------ revno: 2555.622.9 committer: Mats Kindahl branch nick: conversion-table timestamp: Wed 2010-01-13 13:59:58 +0100 message: Replacing error variable that was lost. ------------------------------------------------------------ revno: 2555.622.8 committer: Mats Kindahl branch nick: conversion-table timestamp: Wed 2010-01-13 12:58:42 +0100 message: WL#5151: Conversion between different types when replicating Replace c_ptr() calls with c_ptr_safe() calls to avoid valgrind warnings. Adding code to to handle the case that no metadata was present in the table map for the column. Allow first parameter to unpack_row() to be NULL, in which case no source tables is used and hence no checks nor conversions are done. Clarifying some comments and fixing documentation for unpack_row(). ------------------------------------------------------------ revno: 2555.622.7 committer: Mats Kindahl branch nick: conversion-table timestamp: Mon 2009-12-21 19:50:25 +0100 message: WL#5151: Conversion between different types when replicating Bug#49836 reports that the geometry type does not work with WL#5151 applied. The GEOMETRY type inherits the blob comparison function, which read the pack length from the metadata. The GEOMETRY type does not fill in the metadata with anything sensible, so it is always zero, meaning that the pack length for the source type is considered zero, rendering it always "smaller" than the target type which has pack length 4 (without pointer). This patch fixes the problem by defining Field_geom::pack_length_from_metadata() to always use the same as Field_geom::row_pack_length(). ------------------------------------------------------------ revno: 2555.622.6 committer: Mats Kindahl branch nick: conversion-table timestamp: Fri 2009-12-18 11:12:27 +0100 message: WL#5151: Conversion between different types when replicating The function create_virtual_tmp_table does not set db_low_byte_first in the same way as create_tmp_table does, causing copying from the virtual table to a real table to get strange values for SET types on big-endian machines. ------------------------------------------------------------ revno: 2555.622.5 committer: Mats Kindahl branch nick: conversion-table timestamp: Wed 2009-12-16 13:28:47 +0100 message: WL#5151: Conversion between different types when replicating Fixes to make mysqlbinlog work correctly and updates to rpl_ndb result files. ------------------------------------------------------------ revno: 2555.622.4 committer: Mats Kindahl branch nick: conversion-table timestamp: Wed 2009-12-16 09:32:58 +0100 message: WL#5151: Conversion between different types when replicating Fixes to get it to compile on MacOSX. ------------------------------------------------------------ revno: 2555.622.3 committer: Mats Kindahl branch nick: conversion-table timestamp: Tue 2009-12-15 16:11:44 +0100 message: BUG#49618: Field length stored incorrectly in binary log for InnoDB The class Field_bit_as_char stores the metadata for the field incorrecly because bytes_in_rec and bit_len are set to (field_length + 7 ) / 8 and 0 respectively, while Field_bit has the correct values field_length / 8 and field_length % 8. Solved the problem by re-computing the values for the metadata based on the field_length instead of using the bytes_in_rec and bit_len variables. To handle compatibility with old server, a table map flag was added to indicate that the bit computation is exact. If the flag is clear, the slave computes the number of bytes required to store the bit field and compares that instead, effectively allowing replication *without conversion* from any field length that require the same number of bytes to store. ------------------------------------------------------------ revno: 2555.622.2 committer: Mats Kindahl branch nick: conversion-table timestamp: Mon 2009-12-14 23:27:06 +0100 message: WL#5151: Conversion between different types when replicating Fixing minor error when printing SQL types from master and cleaning some code. Updating result files. ------------------------------------------------------------ revno: 2555.622.1 committer: Mats Kindahl branch nick: conversion-table timestamp: Mon 2009-12-14 12:04:55 +0100 message: WL#5151: Conversion between different types when replicating Row-based replication requires the types of columns on the master and slave to be approximately the same (some safe conversions between strings are allowed), but does not allow safe conversions between fields of similar types such as TINYINT and INT. This patch implement type conversions between similar fields on the master and slave. The conversions are controlled using a new variable SLAVE_TYPE_CONVERSIONS of type SET('ALL_LOSSY','ALL_NON_LOSSY'). Non-lossy conversions are any conversions that do not run the risk of losing any information, while lossy conversions can potentially truncate the value. The column definitions are checked to decide if the conversion is acceptable. If neither conversion is enabled, it is required that the definitions of the columns are identical on master and slave. Conversion is done by creating an internal conversion table, unpacking the master data into it, and then copy the data to the real table on the slave. ------------------------------------------------------------ revno: 3114 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Mon 2010-03-01 23:03:57 +0100 message: more rpl_auto_increment blind guessing ------------------------------------------------------------ revno: 3113 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Mon 2010-03-01 20:26:45 +0100 message: ndb - bug#50736 - impl. handler::keys_to_use_for_scanning for more index usage in group/order by ------------------------------------------------------------ revno: 3112 committer: Frazer Clement branch nick: mysql-5.1-telco-6.3 timestamp: Mon 2010-03-01 13:47:16 +0000 message: Merge 6.2->6.3 ------------------------------------------------------------ revno: 2572.70.70 committer: Frazer Clement branch nick: mysql-5.1-telco-6.2 timestamp: Mon 2010-03-01 13:15:18 +0000 message: Bug#51184 MySQL Cluster : Determine nodes storing partition replicas This fix adds a new method to the NdbDictionary::Table class of NdbApi, getFragmentNodes(). This method returns the list of data nodes storing replicas of a fragment. The default primary replica is the first node returned. If not all replica storing nodes are available, the current replica primary may be a different node. Additionally, a --extra-node-info (-n) flag is added to ndb_desc, which extends the output of the --extra-partition-info (-p) option to include the list of nodes containing replicas of each fragment of the table. ------------------------------------------------------------ revno: 3111 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Mon 2010-03-01 12:57:08 +0100 message: ndb - change rpl_auto_increment to try to understand why it fails ------------------------------------------------------------ revno: 3110 committer: Jonas Oreland branch nick: telco-6.3 timestamp: Mon 2010-03-01 09:33:32 +0100 message: bump (dump) version to 6.3.33