This is a read-only copy of the MariaDB Knowledgebase generated on 2024-12-18. For the latest, interactive version please visit https://mariadb.com/kb/.

MariaDB 5.5.22 Changelog

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
    • Revision #2502.546.20 Tue 2012-03-27 16:06:00 +0300
      • Added feature request from Bug #956585 "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.
    • Revision #2502.546.19 Tue 2012-03-27 14:43:26 +0400
      • Bug #965872: Server crashes in embedding_sjm on a simple 1-table select with AND and OR
        • This is a regession introduced by fix for Bug #951937
        • 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.
        • The fix was to add the missing calls.
    • Revision #2502.546.18 [merge] Mon 2012-03-26 21:38:24 +0400
      • Merge
      • Revision #2502.549.1 Mon 2012-03-26 21:34:24 +0400
        • Bug #951283: Wrong result (missing rows) with semijoin+firstmatch, IN/ANY subquery
          • 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.
    • Revision #2502.546.17 Mon 2012-03-26 16:06:42 +0300
      • Bug fix for MySQL Bug #61209 "auto_increment_offset != 1 + innodb_autoinc_lock_mode=1 => bulk inserts fail"
      • Patch and test case by Patryk Pomykalski
    • Revision #2502.546.16 Mon 2012-03-26 15:05:50 +0300
      • Sorted some test results that can be different on different machines
    • Revision #2502.546.15 Mon 2012-03-26 13:29:45 +0300
      • Fixed Bug #963603 "Assertion `lock_type != TL_UNLOCK && (lock_type == TL_IGNORE || file->lock.type == TL_UNLOCK)' failed in ha_maria::store_lock with DML, triggers, views"
    • Revision #2502.546.14 [merge] Mon 2012-03-26 13:52:55 +0400
      • Merge
      • Revision #2502.548.1 Mon 2012-03-26 13:47:00 +0400
        • Bug #951937: Wrong result (missing rows) with semijoin+materialization, IN subquery, InnoDB, TEMPTABLE view
          • 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)
    • Revision #2502.546.13 Mon 2012-03-26 11:46:01 +0300
      • Increased version number
    • Revision #2502.546.12 Sun 2012-03-25 18:31:35 +0400
      • Bug #962667: 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.
        • 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.
  • Revision #3356 Wed 2012-03-28 19:26:00 +0200
    • debug_sync is now a service, available to dynamically loaded plugins.
    • new make target - abi_update
  • Revision #3355 [merge] Wed 2012-03-28 01:04:46 +0200
    • mysql-5.5.22 merge
  • Revision #3354 Tue 2012-03-27 16:16:44 +0200
    • MDEV-201 - 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
  • Revision #3353 Mon 2012-03-26 14:39:52 +0200
    • move DBUG_END() after my_thread_global_end(), when all threads have already died.
  • Revision #3352 Mon 2012-03-26 12:33:49 +0200
    • a couple of minor post-5.5-merge cleanups
  • Revision #3351 [merge] Sun 2012-03-25 19:36:06 +0200
    • merge
    • Revision #3349.1.1 Sun 2012-03-25 19:27:24 +0200
      • Small Windows specific performance fixes:
        • 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 #3350 Sat 2012-03-24 21:51:10 +0100
    • fix a memory leak in dbug
  • Revision #3349 [merge] Sat 2012-03-24 18:25:00 +0100
    • Merge MariaDB 5.3 into latest MariaDB 5.5
    • Revision #3342.1.1 [merge] Sat 2012-03-24 18:21:22 +0100
    • 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
        • Revision #2502.352.81 Wed 2012-03-21 18:22:02 +0100
          • Bug #933959 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.
        • Revision #2502.352.80 Thu 2012-03-15 15:06:06 +0100
          • Fix access to uninitialized variable in innodb error message in case WriteFile() fails.
        • Revision #2502.352.79 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()
            • localtime_r is still a problem
    • 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.
  • Revision #3348 Sat 2012-03-24 11:24:20 +0100
    • MDEV-15 Log all sql errors.
      • modified for MySQL 5.5. Logger service moved to the plugin/sql_errlog directory to be properly used later.
  • Revision #3347 Fri 2012-03-23 20:49:47 +0100
    • MDEV-200 set session dbug resets the output to stderr.
    • it makes "./mtr --debug" unusable
    • revert the mysql fix for MySQL Bug #46165.
    • implement shared FILE's with reference counting
  • Revision #3346 Fri 2012-03-23 10:53:25 +0100
    • fixes bug(s): MDEV-186 and Bug #959701
    • MDEV-186 Client programs throw warnings about memory loss when executed with --help or alike
      • suppress these harmless but confusing warnings.
      • fix the program name (MY_INIT) in mysqldump
  • Revision #3345 Thu 2012-03-22 20:21:14 +0100
    • Fix Windows build
  • Revision #3344 Thu 2012-03-22 15:44:06 +0100
    • precache results of system tests on Windows
  • Revision #3343 Thu 2012-03-22 15:37:52 +0100
    • Fix CMake code to work with older cmake version, such as 2.6.2
  • Revision #3342 [merge] Thu 2012-03-22 13:26:40 +0100
    • Null merge from 5.3.
    • Revision #2502.542.6 Thu 2012-03-22 13:21:15 +0100
      • Backport some simple performance patches from 5.5.
  • Revision #3341 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.
  • Revision #3340 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-* dynamic variables so that these options can be changed dynamically while the server is running, which enables users to modify replication filtering rules without having to stop and restart the server.
    • 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.
  • Revision #3339 [merge] Wed 2012-03-21 15:51:13 +0100
    • merge
    • Revision #3333.1.1 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
  • Revision #3338 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
      • Avoid calling update_virtual_fields for every row when no virtual fields.
  • Revision #3337 [merge] Tue 2012-03-20 16:14:04 +0100
    • (no message)
    • Revision #3326.1.2 Thu 2012-03-15 10:12:32 +0100
      • more MY_INIT(argv[0]) in unittests
  • Revision #3336 Tue 2012-03-20 16:04:50 +0200
    • Fixed Bug #947474 "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
  • Revision #3335 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
      • Flush pages before taking lock mutex (speeds up closing of Aria tables).
  • Revision #3334 [merge] Sat 2012-03-17 12:16:57 -0700
    • Merge
    • Revision #3331.1.1 [merge] Sat 2012-03-17 01:26:58 -0700
      • Merge 5.3->5.5
      • 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
        • Revision #2502.528.18 [merge] Mon 2012-03-12 12:15:55 +0100
        • Revision #2502.528.17 Mon 2012-03-12 12:14:04 +0100
          • Bug #952607: Do not show MySQL services preinstalled by Dell in the upgrade wizard
        • Revision #2502.528.16 Fri 2012-03-09 15:37:16 -0800
          • Fixed LP bug #930814.
          • This bug was introduced into mariadb 5.2 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.
        • Revision #2502.528.15 Fri 2012-03-09 14:28:02 +0200
          • Added test case for Bug #905782 "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
        • Revision #2502.528.14 Fri 2012-03-09 14:06:17 +0200
          • Added ucs2 test moved from maria3.test. (MDEV-167)
        • Revision #2502.528.13 Thu 2012-03-08 22:33:01 -0800
          • Fixed Bug #884175.
          • 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.
          • The current patch just prohibits using the MIN/MAX optimization in this situation.
        • Revision #2502.528.12 [merge] Tue 2012-03-06 01:48:38 +0100
          • merge
          • Revision #2502.545.1 Tue 2012-03-06 01:46:32 +0100
            • Bug #947631: Uninstall wipes HeidiSQL settings, even if HeidiSQL is installed prior to MariaDB
            • 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.
        • Revision #2502.528.11 Thu 2012-03-01 09:27:42 +0200
          • Return original checksum value inside the test.
          • Move ucs2 test in separate file (MDEV-167).
      • 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
        • Revision #2502.543.1 Mon 2012-03-12 17:41:22 +0400
          • Bug #952297: 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)
            • the left_expr of the subquery is a reference to viewname.column_name, so that it crashes when one tries to use it without having called fix_fields for it.
            • 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.
      • Revision #2502.542.1 Mon 2012-03-12 18:20:30 +0400
        • Better comments
  • Revision #3333 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)
    • The rest (all *.pdbs, test components, MTR) can be obtained from the big ZIP distribution, if required.
  • Revision #3332 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
      • fix exclusion rule to catch warning in partition test
  • Revision #3331 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
  • Revision #3330 Wed 2012-03-14 19:47:15 +0100
    • another fix for --innodb-trx* name conflict
  • Revision #3329 Wed 2012-03-14 16:37:49 +0400
    • MDEV-15 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.
  • Revision #3328 Wed 2012-03-14 09:40:54 +0400
    • plugin.result fixed.
  • Revision #3327 Wed 2012-03-14 00:55:56 +0400
    • MDEV-15 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 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
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.