The most recent release in the MariaDB 5.5 series is:MariaDB 5.5.68 Download Now
Download |Release Notes |Changelog |[Overview of 5.5
Release date: 29 Mar 2012
For the highlights of this release, see the release notes.
The revision number links will take you to the revision's page on Launchpad. On Launchpad you can view more details of the revision and view diffs of the code modified in that revision.
Revision #3357 [merge] Wed 2012-03-28 20:25:31 +0200
5.3 merge
Tue 2012-03-27 16:06:00 +0300
Added feature request from "Feature request - prevent truncating query in mytop"
Added feature request 'reading of my.cnf files' to mytop
Thanks to Jean Weisbuch for the patch/suggestion.
Tue 2012-03-27 14:43:26 +0400
: Server crashes in embedding_sjm on a simple 1-table select with AND and OR
This is a regession introduced by fix for
The problem was that there were scenarios where check_simple_equality() would create an Item_equal object but would not call item_equal->set_context_field() on it.
[merge] Mon 2012-03-26 21:38:24 +0400
Merge
Mon 2012-03-26 21:34:24 +0400
: Wrong result (missing rows) with semijoin+firstmatch, IN/ANY subquery
Mon 2012-03-26 16:06:42 +0300
Bug fix for "auto_increment_offset != 1 + innodb_autoinc_lock_mode=1 => bulk inserts fail"
Patch and test case by Patryk Pomykalski
Mon 2012-03-26 15:05:50 +0300
Sorted some test results that can be different on different machines
Mon 2012-03-26 13:29:45 +0300
Fixed "Assertion `lock_type != TL_UNLOCK && (lock_type == TL_IGNORE || file->lock.type == TL_UNLOCK)' failed in ha_maria::store_lock with DML, triggers, views"
[merge] Mon 2012-03-26 13:52:55 +0400
Merge
Mon 2012-03-26 13:47:00 +0400
: Wrong result (missing rows) with semijoin+materialization, IN subquery, InnoDB, TEMPTABLE view
Mon 2012-03-26 11:46:01 +0300
Increased version number
Sun 2012-03-25 18:31:35 +0400
: Assertion `0' failed in QUICK_INDEX_SORT_SELECT::need_sorted_output()
The problem was that
we've picked a LooseScan that used full index scan (tab->type==JT_ALL) on certain index.
Wed 2012-03-28 19:26:00 +0200
debug_sync is now a service, available to dynamically loaded plugins.
new make target - abi_update
[merge] Wed 2012-03-28 01:04:46 +0200
mysql-5.5.22 merge
Tue 2012-03-27 16:16:44 +0200
- Assertion `!thd->spcont' failed in net_send_error on server shutdown
bug in semisync plugin. It didn't check thd->killed before waiting on mysys->current_cond, and thus an attepmt to kill the thread (on shutdown) was lost
Mon 2012-03-26 14:39:52 +0200
move DBUG_END() after my_thread_global_end(), when all threads have already died.
Mon 2012-03-26 12:33:49 +0200
a couple of minor post-5.5-merge cleanups
[merge] Sun 2012-03-25 19:36:06 +0200
merge
Sun 2012-03-25 19:27:24 +0200
Small Windows specific performance fixes:
Sat 2012-03-24 21:51:10 +0100
fix a memory leak in dbug
[merge] Sat 2012-03-24 18:25:00 +0100
Merge into latest
[merge] Sat 2012-03-24 18:21:22 +0100
Merge ->
Sat 2012-03-24 11:24:20 +0100
Log all sql errors.
modified for MySQL 5.5. Logger service moved to the plugin/sql_errlog directory to be properly used later.
Fri 2012-03-23 20:49:47 +0100
set session dbug resets the output to stderr.
it makes "./mtr --debug" unusable
revert the mysql fix for .
Fri 2012-03-23 10:53:25 +0100
fixes bug(s): and
Client programs throw warnings about memory loss when executed with --help or alike
Thu 2012-03-22 20:21:14 +0100
Fix Windows build
Thu 2012-03-22 15:44:06 +0100
precache results of system tests on Windows
Thu 2012-03-22 15:37:52 +0100
Fix CMake code to work with older cmake version, such as 2.6.2
[merge] Thu 2012-03-22 13:26:40 +0100
Null merge from 5.3.
Thu 2012-03-22 13:21:15 +0100
Backport some simple performance patches from 5.5.
Thu 2012-03-22 12:31:09 +0100
Do not use Valgrind client requests in a normal release build, they have a small but noticable performance impact.
Mon 2012-03-19 15:00:23 -0700
author: Davi Arnaut <davi 'at' twitter (dot) com>
Make Replication filter settings dynamic.
Make the slave options --replicate-*
[merge] Wed 2012-03-21 15:51:13 +0100
merge
Wed 2012-03-21 15:41:20 +0100
Fix race condition in rpl_stop_start_slave. after kill connection, wait until it is gone in processlist
Wed 2012-03-21 09:55:48 +0100
A few simple performance fixes found with sysbench oltp.lua and Oprofile:
Avoid needless load/stores in my_hash_sort_simple due to possible aliasing
Avoid expensive Join_plan_state constructor in choose_subquery_plan when no subquery
[merge] Tue 2012-03-20 16:14:04 +0100
(no message)
Thu 2012-03-15 10:12:32 +0100
more MY_INIT(argv[0]) in unittests
Tue 2012-03-20 16:04:50 +0200
Fixed "Assertion `table->file->stats.records > 0 || error' failed in join_read_const_table on concurrent SELECT and ALTER, constant Aria table"
Remove Aria state history for drop/rename
Tue 2012-03-20 15:23:56 +0200
Cleanups:
Don't use SAFEMALLOC on valgrind builds (slows things down)
Added back lost option from 5.3: debug-mutex-deadlock-detector
[merge] Sat 2012-03-17 12:16:57 -0700
Merge
[merge] Sat 2012-03-17 01:26:58 -0700
Merge 5.3->5.5
Fri 2012-03-16 20:52:17 +0100
Reduce size of windows MSI by approx. 50%
Mark test components, plugins etc with COMPONENT Test, to get them excluded from the MSI
Only include debug symbols for client and embedded libs and also mysqld.exe and server plugins (so we can still can get a callstack in case of crash)
Fri 2012-03-16 17:47:31 +0100
Fix several buildot errors on Windows
do not attempt loading federatedx dynamically - does not work on Windows embedded
race condition in rpl_start_stop_slave
Thu 2012-03-15 00:37:37 +0100
Fix compile error - linker does not find extern variables, in sql_logger.c
The file uses external variables defined in another (C++) source file. Since MSVC mangles variables and not only functions, either variables in question should be extern "C", or sql_logger should be made C++ for link to succeed.
Fixed by renaming sql_logger.c to sql_logger.cc
Wed 2012-03-14 19:47:15 +0100
another fix for --innodb-trx* name conflict
Wed 2012-03-14 16:37:49 +0400
Log SQL errors.
mysys/my_logger.c was moved to sql/sql_logger.c
Logger service was rewritten with file functions instead of stream, so it can handle huge files.
Wed 2012-03-14 09:40:54 +0400
plugin.result fixed.
Wed 2012-03-14 00:55:56 +0400
Log all SQL errors.
Added the logger service that provides us with the rotating logs.
The plugin SQL_ERROR_LOG added. It logs the errors using the 'logger service' for the rotating log files.
The fix was to add the missing calls.
The problem was with execution strategy for cases where FirstMatch's inner tables were interleaved with outer-uncorrelated tables.
I was unable to find any cases where such join orders would be practically useful, so fixed it by disabling them.
Fix equality propagation to work with SJM nests and OR clauses (full descirption of problem and solution in the comment in the patch)
(The second commit with post-review fixes)
there was also a quick select (tab->quick!=NULL), that used other indexes.
some old code assumes that (tab->type==JT_ALL && tab->quick) -> means that the quick select should be used, which is not true.
Fixed by discarding the quick select as soon as we know we're using LooseScan without using the quick select.
Use native memcmp() supplied with C runtime instead of hand-unrolled loop ptr_compare_N loop
Prior to fix ptr_compare_0() has 3.7% samples in OLTP-RO in-memory.
Fix brings this down to 1.8% (all memcmp samples)
Innodb : fix UT_RELAX_CPU to be defined as YieldProcessor, as was also originally intended (but intention was lost in the #ifdef maze
This reduces number of ut_delay() samples in profile from 1.5% to 0.5%
Revision #2502.546.11 Sat 2012-03-24 17:08:59 +0100
Improve filesort performance for small sorts: Don't write pointers to records that we will never use.
Revision #2502.546.10 Fri 2012-03-23 18:22:39 +0200
Speedup:
Don't call update_virtual_fields() if table->vfield is not set
Don't prealloc memory for in open_tables() as this is very seldom used.
Revision #2502.546.9 Fri 2012-03-23 18:18:16 +0200
Fixes Bug #941889 "JOIN constructors takes a long time in 5.3"
Remove all references of MAX_TABLES from JOIN struct and make these dynamic
Updated Join_plan_state to allocate just as many elements as it's needed
Revision #2502.546.8 Fri 2012-03-23 18:11:29 +0200
Speedups:
Optimize away calls to hp_rec_hashnr() by cashing hash
Try to get more rows / block (to minimize overhead of HP_PTRS) in HEAP tables.
Revision #2502.546.7 Thu 2012-03-22 19:56:17 -0700
Fixed Bug #954900.
If the first component of a ref key happened to be a constant appeared after constant row substitution then no store_key element should be created for such a component. Yet create_ref_for_key() erroneously could create such an element that caused construction of invalid ref keys and wrong results for some joins.
Revision #2502.546.6 [merge] Thu 2012-03-22 13:23:55 +0100
Automerge.
Revision #2502.546.5 [merge] Wed 2012-03-21 19:15:29 +0100
merge
Revision #2502.528.20 [merge] Wed 2012-03-21 18:30:34 +0100
merge
Wed 2012-03-21 18:22:02 +0100
Assertion `0' failed in net_end_statement(THD*) on concurrent SELECT FROM I_S.INNODB_SYS_INDEXES and ALTER TABLE
Workaround: report a generic error if an I_S plugin failed silently.
Thu 2012-03-15 15:06:06 +0100
Fix access to uninitialized variable in innodb error message in case WriteFile() fails.
Wed 2012-03-14 21:16:24 +0100
restore my_safe_printf_stderr for "crash-safe sigsegv handler"
use vsnprintf()
use write() on windows, not WriteFile or fwrite()
Revision #2502.546.4 Wed 2012-03-21 10:59:20 +0100
MDEV-191 SHOW TABLES was unnecessary opening .frm files
mark the corresponding I_S table as OPTIMIZE_I_S_TABLE, to let the I_S optimizer figure out whether files need to be opened, and don't open the tables unless I_S optimizer says so.
Revision #2502.546.3 [merge] Wed 2012-03-21 11:18:20 +0400
Merge Bug #952372
Revision #2502.547.1 Sun 2012-03-18 23:58:20 +0400
Bug #952372: Server crashes on 2nd execution of PS in find_field_in_tables with semijoin+materialization
The problem was that convert_subq_to_jtbm() attached the semi-join TABLE_LIST object into the wrong list: they used to attach it to the end of parent_lex->leaf_tables.head()->next_local->...->next_local. This was apparently inccorect, as one can construct an example where JTBM nest is attached to a table that is inside some mergeable VIEW, which breaks (causes crash) for name resolution on the subsequent statement re-execution.
Solution: Attach to the "right" list. The "wording" was copied from st_select_lex::handle_derived.
Revision #2502.546.2 Tue 2012-03-20 17:03:28 -0700
Fixed Bug #954262.
This bug in the constructor SEL_IMERGE::SEL_IMERGE could cause huge excessive memory requests.
Revision #2502.546.1 Mon 2012-03-19 01:04:55 +0400
Bug #952583: Server crashes in Item_field::fix_after_pullout on INSERT .. SELECT
Take into account that there may exist Item_field objects with context==NULL.
implement shared FILE's with reference counting
fix the program name (MY_INIT) in mysqldump
This is accomplished by just requiring that the slave threads are stopped when these options are set dynamically. Since filtering rules are only used by the SQL slave thread, setting them while the thread is not running avoids the need for locking.
Avoid calling update_virtual_fields for every row when no virtual fields.
Flush pages before taking lock mutex (speeds up closing of Aria tables).
Revision #2502.542.5 [merge] Wed 2012-03-14 13:58:18 +0200
Merge 5.2->5.3
Revision #2502.528.19 Wed 2012-03-14 12:09:03 +0200
test suite for LP bug#694450
[merge] Mon 2012-03-12 12:15:55 +0100
merge
Mon 2012-03-12 11:31:40 +0100
: Fix formatting of the crash messages in signal/exception handler
Mon 2012-03-12 12:14:04 +0100
: Do not show MySQL services preinstalled by Dell in the upgrade wizard
Fri 2012-03-09 15:37:16 -0800
Fixed LP bug #930814.
This bug was introduced into in the December 2010 with the patch that added a new engine property: the ability to support virtual columns.
As a result of this bug the information from frm files for tables that contained virtual columns did not appear in the information schema tables.
Fri 2012-03-09 14:28:02 +0200
Added test case for "Assertion pageno < ((1ULL) <<` 40)' failed at ma_pagecache.c:3438: pagecache_read or table corruption on INSERT into a ucs2 table"
The orignal bug has been fixed earlier
Fri 2012-03-09 14:06:17 +0200
Added ucs2 test moved from maria3.test. ()
Thu 2012-03-08 22:33:01 -0800
Fixed .
If in the where clause of the a query some comparison conditions on the field under a MIN/MAX aggregate function contained constants whose sizes exceeded the size of the field then the query could return a wrong result when the optimizer had chosen to apply the MIN/MAX optimization.
With such conditions the MIN/MAX optimization still could be applied, yet it would require a more thorough analysis of the keys built to find the value of MIN/MAX aggregate functions with index look-ups.
[merge] Tue 2012-03-06 01:48:38 +0100
merge
Tue 2012-03-06 01:46:32 +0100
: Uninstall wipes HeidiSQL settings, even if HeidiSQL is installed prior to MariaDB
Thu 2012-03-01 09:27:42 +0200
Return original checksum value inside the test.
Move ucs2 test in separate file ().
Revision #2502.542.4 [merge] Tue 2012-03-13 13:49:18 -0700
Merge.
Revision #2502.544.1 Tue 2012-03-13 13:34:20 -0700
Fixed Bug #953649.
Do not call, directly or indirectly, SQL_SELECT::test_quick_select() for derived materialized tables / views when optimizing joins referring to these tables / views to get cost estimates of materialization.
The current code does not create B-tree indexes for materialized derived tables / views. So now it's not possible to get any estimates for ranges conditions over the results of the materialization.
The function mysql_derived_create() must take into account the fact that array of the KEY structures specifying the keys over a derived table / view may be moved after the optimization phase if the derived table / view is materialized.
Revision #2502.542.3 Tue 2012-03-13 16:38:43 +0200
Fixed Bug #917689 "Archive table corruption crashing MariaDB signal 11"
Added 'from_end' as extra parameter to Field::unpack() to detect wrong from data.
Change ha_archive::unpack_row() to detect wrong field lengths.
Replication code changed to detect wrong field information in events.
Revision #2502.542.2 [merge] Mon 2012-03-12 18:21:14 +0400
Merge
Revision #2502.543.2 [merge] Mon 2012-03-12 18:08:40 +0400
Merge
Mon 2012-03-12 17:41:22 +0400
: Server crashes on 2nd execution of PS in Field::is_null with semijoin+materialization
The bug would show up
when using PS (so that we get re-execution)
Revision #2502.542.1 Mon 2012-03-12 18:20:30 +0400
Better comments
The rest (all *.pdbs, test components, MTR) can be obtained from the big ZIP distribution, if required.
fix exclusion rule to catch warning in partition test
the example record from the log:2012-03-09 15:07:29 root[root] @ localhost [] ERROR 1146: Table 'test.xyz' doesn't exist : select * from test.xyz
localtime_r is still a problem
The current patch just prohibits using the MIN/MAX optimization in this situation.
Fixed detection of installed HeidiSQL in the machine, prevent installing own copy if HeidiSQL is already installed.
On deinstallation, do not remove settings if official HeidiSQL is detected.
when using SJ-Materialization, which makes use of sj_subq_pred->left_expr expression
The fix is to have setup_conds() fix sj_subq_pred->left_expr for semi-join nests it finds.
This page is licensed: CC BY-SA / Gnu FDL