------------------------------------------------------------
revno: 3501 [merge] tags: clone-5.5.13-build committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.5 timestamp: Tue 2011-05-10 16:24:34 +0300 message: weave null merge mysql-5.1->mysql-5.5 ------------------------------------------------------------ revno: 2661.753.58 [merge] committer: Georgi Kodinov <Georgi.Kodinov@Oracle.com> branch nick: merge-5.1 timestamp: Tue 2011-05-10 16:21:44 +0300 message: weave merge mysql-5.0->mysql-5.1 ------------------------------------------------------------ revno: 1810.4000.22 [merge] committer: Sunanda Menon <sunanda.menon@oracle.com> branch nick: mysql-5.0 timestamp: Fri 2011-05-06 10:36:30 +0200 message: Merge from mysql-5.0.93-release ------------------------------------------------------------ revno: 2661.753.57 [merge] committer: Karen Langford <karen.langford@oracle.com> branch nick: mysql-5.1 timestamp: Fri 2011-05-06 10:03:02 +0200 message: Merge from mysql-5.1.57-release ------------------------------------------------------------ revno: 2661.765.7 tags: mysql-5.1.57 author: karen.langford@oracle.com committer: Karen Langford <karen.langford@oracle.com> branch nick: mysql-5.1.57-release timestamp: Tue 2011-04-12 01:36:38 +0200 message: Bug#11867664: Fix server crashes on update with join on partitioned table. ------------------------------------------------------------ revno: 3500 committer: Serge Kozlov <Serge.Kozlov@oracle.com> branch nick: mysql-5.5 timestamp: Mon 2011-05-09 23:26:41 +0400 message: automerge 5.1->5.5 ------------------------------------------------------------ revno: 3499 committer: Alexander Nozdrin <alexander.nozdrin@oracle.com> branch nick: mysql-5.5-bug12362125 timestamp: Mon 2011-05-09 12:29:23 +0400 message: Patch for Bug#12362125 (SP INOUT HANDLING IS BROKEN FOR TEXT TYPE). Attempts to assign value to a table column from trigger by using NEW.column_name pseudo-variable might result in garbled data. That happened when: - the column had a BLOB-based type (e.g. TEXT) and - the value being assigned was retrieved from stored routine variable of the same type. The problem was that BLOB values were not copied correctly in this case. Instead of doing a copy of a real value, the value's representation in record buffer was copied. This representation is essentially a pointer to a buffer associated with the virtual table for routine variables where the real value is stored. Since this buffer got freed once trigger was left or could have changed its contents when new value was assigned to corresponding routine variable such a shallow copying resulted in garbled data in NEW.colum_name column. It worked in 5.1 due to a subtle bug in create_virtual_tmp_table(): - in 5.1 create_virtual_tmp_table() returned a table which had db_low_byte_first == false. - in 5.5 and up create_virtual_tmp_table() returns a table which has db_low_byte_first == true. Actually, db_low_byte_first == false only for ISAM storage engine, which was deprecated and removed in 5.0. Having db_low_byte_first == false led to getting false in the complex condition for the 2nd "if" in field_conv(), which in turn led to copy-blob-behavior as a fall-back strategy: - to->table->s->db_low_byte_first was true (correct value) - from->table->s->db_low_byte_first was false (incorrect value) In 5.5 and up that condition is true, which means blob-values are not copied. ------------------------------------------------------------ revno: 3498 committer: Alexander Nozdrin <alexander.nozdrin@oracle.com> branch nick: mysql-5.5-bug12374486 timestamp: Fri 2011-05-06 17:39:20 +0400 message: Patch for Bug#12374486 - SEVERE MEMORY LEAK IN PREPARED STATEMENTS THAT CALL STORED PROCEDURES. The bug was introduced by WL#4435. The problem was that if a stored procedure generated a few result sets with different set of columns, a new memory would be allocated after every EXECUTE for every result set. The fix is to introduce a new memory root in scope of MYSQL_STMT, and to store result-set metadata in that memory root. ------------------------------------------------------------ revno: 3497 committer: Alexander Nozdrin <alexander.nozdrin@oracle.com> branch nick: mysql-5.5-bug60025 timestamp: Fri 2011-05-06 15:41:24 +0400 message: Patch for Bug#11848763 / 60025 (SUBSTRING inside a stored function works too slow). The user-visible problem was that the server started to consume memory if a stored-routine of some sort is executed subsequently. The memory was freed only after the corresponding connection was closed. Technically, the problem was that the memory needed for temporary string conversions was allocated on the connection ("persistent") memory root, instead of statement one. The root cause of this problem was the incorrect patch for Bug 55744. That patch wrongly fixed a crash in prepared-statement-mode introduced by another patch. The patch for Bug 55744 used wrong condition to check if prepared statement mode is active (or whether the connection-scoped or statement-scoped memory root should be used). The thing is that for prepared statements such conversions should be done in the connection memory root, so that that the transformations of item-tree were correctly remembered in the PREPARE-phase. The fix is to use proper condition to detect prepared-statement-mode and use proper memory root. ------------------------------------------------------------ revno: 3496 committer: Alexander Nozdrin <alexander.nozdrin@oracle.com> branch nick: mysql-5.5-bug60025 timestamp: Fri 2011-05-06 15:39:40 +0400 message: Preliminary patch for Bug#11848763 / 60025 (SUBSTRING inside a stored function works too slow). Background: - THD classes derives from Query_arena, thus inherits the 'state' attribute and related operations (is_stmt_prepare() & co). - Although these operations are available in THD, they must not be used. THD has its own attribute to point to the active Query_arena -- stmt_arena. - So, instead of using thd->is_stmt_prepare(), thd->stmt_arena->is_stmt_prepare() must be used. This was the root cause of Bug 60025. This patch enforces the proper way of calling those operations. is_stmt_prepare() & co are declared as private operations in THD (thus, they are hidden from being called on THD instance). The patch tries to minimize changes in 5.5. ------------------------------------------------------------ revno: 3495 committer: Magnus Bl?udd <magnus.blaudd@oracle.com> branch nick: 5.5 timestamp: Fri 2011-05-06 11:20:01 +0200 message: Add --with-debug=full support to BUILD/* scripts, this option has been lost between 5.1 and 5.5, it's purpose is to set the compiler flags in a way that does not optimize away the call stack(i.e don't use any -OX flags at all) ------------------------------------------------------------ revno: 3494 committer: Magnus Bl?udd <magnus.blaudd@oracle.com> branch nick: 5.5 timestamp: Fri 2011-05-06 10:53:42 +0200 message: Merge in patch for bug 12380149 ------------------------------------------------------------ revno: 3493 [merge] author: bjorn.munch@oracle.com committer: Bjorn Munch <bjorn.munch@oracle.com> branch nick: mysql-5.5 timestamp: Fri 2011-05-06 10:27:04 +0200 message: Merge from mysql-5.5.12-release ------------------------------------------------------------ revno: 3097.4.24 [merge] tags: mysql-5.5.12, clone-5.5.12-build committer: Alexander Nozdrin <alexander.nozdrin@oracle.com> branch nick: mysql-5.5-security timestamp: Fri 2011-04-08 18:07:59 +0400 message: Auto-merge from mysql-5.5. |