Download | Release Notes | Changelog | Overview of 5.3

Release date: 30 Jan 2013

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 #3621 [merge] Mon 2013-01-28 09:12:23 +0100
    • 5.2 merge
    • Revision #2732.57.52 Mon 2013-01-28 09:10:01 +0100
      • compilation error with -Wuninitialized -Werror
    • Revision #2732.57.51 [merge] Fri 2013-01-25 17:22:21 +0100
      • 5.1 merge
      • Revision #2643.153.38 Fri 2013-01-25 14:29:46 +0100
        • MDEV-729 Bug #998028 - Server crashes on normal shutdown in closefrm after executing a query from MyISAM table
        • don't write a key value into the record buffer - a key length can be larger then the record length.
      • Revision #2643.153.37 Fri 2013-01-25 12:26:35 +0100
        • MDEV-759 Bug #998340 - Valgrind complains on simple selects containing expression DAY(FROM_UNIXTIME(-1))
        • check item->null_value before using the result of item->val_int()
  • Revision #3620 Sat 2013-01-26 22:33:18 +0100
    • MDEV-3875 Wrong result (missing row) on a DISTINCT query with the same subquery in the SELECT list and GROUP BY
    • fix remove_dup_with_hash_index() and remove_dup_with_compare() to take NULLs into account
  • Revision #3619 Fri 2013-01-25 16:56:57 +0200
    • The problem was that expression with field after transformation (on the first execution) reached by fix_fields() (via reference) before row which it belongs to (on the second execution) and fix_field for row did not follow usual protocol for Items with argument (first check that the item fixed then call fix_fields).
    • Item_row::fix_field fixed.
  • Revision #3618 [merge] Fri 2013-01-25 10:20:45 +0100
    • 5.2 merge
    • Revision #2732.57.50 Fri 2013-01-25 10:19:35 +0100
      • MDEV-4040 Replace deprecated SET OPTION syntax in mysqldump
      • mysqldump.c: s/SET OPTION/SET/ (OPTION was, hm, optional since 3.21, so there's no need to use SET OPTION even in the old compatibility modes)
    • Revision #2732.57.49 Fri 2013-01-25 09:41:26 +0100
      • MDEV-3909 remote user enumeration (CVE-2012-5615)
      • instead of returning Access denied on the incorrect user name, emulate the complete failed logic procedure, possibly with the change plugin packet.
    • Revision #2732.57.48 Fri 2013-01-25 00:20:53 +0100
      • report "using password: YES/NO" correctly for the COM_CHANGE_USER failures
    • Revision #2732.57.47 Fri 2013-01-25 00:17:39 +0100
      • MDEV-3915 COM_CHANGE_USER allows fast password brute-forcing (CVE-2012-5627)
      • allow only three failed change_user per connection. successful change_user do NOT reset the counter
  • Revision #3617 [merge] Mon 2013-01-21 21:29:19 -0800
    • Merge 5.2->5.3
    • Revision #2732.57.46 [merge] Mon 2013-01-21 15:23:40 -0800
      • Merge 5.1->5.2
      • Revision #2643.153.36 [merge] Mon 2013-01-21 13:48:34 -0800
        • Merge.
        • Revision #2643.155.1 Mon 2013-01-21 11:47:45 -0800
          • Fixed bug MDEV-4063 (bug #56927). This bug could result in returning 0 for the expressions of the form <aggregate_function>(distinct field) when the system variable max_heap_table_size was set to a small enough number. It happened because the method Unique::walk() did not support the case when more than one pass was needed to merge the trees of distinct values saved in an external file.
          • Backported a fix in grant_lowercase.test from mariadb 5.5.
      • Revision #2643.153.35 Mon 2013-01-21 10:52:39 +0100
        • MDEV-4029 SELECT on information_schema using a subquery locks up the information_schema table due to incorrect mutexes handling
        • Early evaluation of subqueries in the WHERE conditions on I_S.*_STATUS tables, otherwise the subquery on this same table will try to acquire LOCK_status twice.
    • Revision #2732.57.45 Sat 2013-01-19 23:40:53 -0800
    • Revision #2732.57.44 Wed 2013-01-16 11:17:58 -0800
    • Revision #2732.57.43 Tue 2013-01-15 16:46:27 -0800
      • Fixed bug MDEV-3938. The original patch with the implementation of virtual columns did not support INSERT DELAYED into tables with virtual columns. This patch fixes the problem.
  • Revision #3616 Wed 2013-01-16 21:07:26 +0200
    • MDEV-4056 fix.
    • The problem was that maybe_null of Item_row and its componetes was unsynced after update_used_tables() (and so pushed_cond_guards was not initialized but then requested).
    • Fix updates Item_row::maybe_null on update_used_tables().
  • Revision #3615 Thu 2013-01-17 16:08:05 +0200
    • MDEV-3900 Optimizer difference between MySQL and MariaDB with stored functions in WHERE clause of UPDATE or DELETE statements
    • Analysis The reason for the less efficient plan was result of a prior design decision - to limit the eveluation of constant expressions during optimization to only non-expensive ones. With this approach all stored procedures were considered expensive, and were not evaluated during optimization. As a result, SPs didn't participate in range optimization, which resulted in a plan with table scan rather than index range scan.
    • Solution Instead of considering all SPs expensive, consider expensive only those SPs that are non-deterministic. If an SP is deterministic, the optimizer will checj if it is constant, and may eventually evaluate it during optimization.
  • Revision #3614 Thu 2013-01-17 13:53:15 +0200
    • backport of: Don't reset maybe_null in update_used_tables(); This breaks ROLLUP This fixed failing test in group_by.test
  • Revision #3613 Wed 2013-01-16 15:11:13 +0200
    • MDEV-3988 fix.
    • Subquery turned into constant too late to be excluded from grouping list so test for constant added to the create_temp_table().
  • Revision #3612 Fri 2013-01-11 20:26:34 -0800
    • Fixed bug MDEV-4025. The bug could lead to a wrong estimate of the number of expected rows in the output of the EXPLAIN commands for queries with GROUP BY. This could be observed in the test case for LP bug 934348.
  • Revision #3611 Fri 2013-01-11 12:44:21 +0100
    • MDEV-4020 : Make sure strmov symbol is exported by client library on Linux (even if the server and libraries itself use stpcpy instead of it)
    • It is a workaround that allows myodbc built by certain distributions' (CentOS,Fedora) to peacefully coexist with mariadb client libraries. The problem is that MyODBC in these distros needs strmov() to be exported by mysql client shared library, or else myodbc fails to load.
  • Revision #3610 [merge] Thu 2013-01-10 15:40:21 +0100
    • 5.2->5.3 merge
    • Revision #2732.57.42 [merge] Thu 2013-01-10 13:54:04 +0100
    • Revision #2732.57.41 [merge] Fri 2012-12-21 15:19:08 +0100
      • merge
      • Revision #2643.153.32 Fri 2012-12-21 15:17:26 +0100
        • Support VS2012. Exclude compiler-defined symbols from being exported by mysqld.exe
    • Revision #2732.57.40 [merge] Fri 2012-12-21 14:04:25 +0100
      • merge
      • Revision #2643.153.31 Thu 2012-12-06 00:37:06 +0100
        • MDEV-3918: myisamchk bogus error for files larger than 4GB.
        • The failure is caused by failing stat() call . C Runtime function stat() uses old struct with 32bit st_size member, and since Visual Studio 2010 , it returns an error on st_size overflow (i.e on files larger than 4GB)
        • Fix replaces stat() by my_stat(), the later is backed by 64bit-able stat64().
    • Revision #2732.57.39 Tue 2012-12-11 09:50:48 +0100
      • one-byte overflow with old passwords
    • Revision #2732.57.38 Mon 2012-11-26 13:33:24 +0100
      • Fix broken feedback plugin after MDEV-712.
      • Link feedback plugin with yassl libraries, if with-ssl=bundled is used, since mysqld does not export SSL symbols anymore.
    • Revision #2732.57.37 Fri 2012-11-23 13:50:46 +0100
      • MDEV-712 - Bug #1024239 - Mysqlclient exports the same symbols as openssl
      • Compile yassl and taocrypt using -fvisibility=hidden, when possible. This prevent symbols from being exported.
    • Revision #2732.57.36 [merge] Thu 2012-11-22 18:29:53 +0100
      • merge 5.1
      • Revision #2643.153.30 Thu 2012-11-22 18:27:02 +0100
        • Feedback plugin now recognizes Windows 8 / Windows Server 2012.
  • Revision #3609 Tue 2013-01-08 21:23:03 +0100
    • MDEV-3942 FROM_DAYS(<timestamp column>) returns different result in MariaDB comparing to MySQL: NULL vs 0000-00-00
    • fixed a regression, introduced while fixing MDEV-456
  • Revision #3608 Fri 2012-12-28 14:41:46 +0200
    • MDEV-3873 & MDEV-3876 & MDEV-3912 : Wrong result (extra rows) with ALL subquery from a MERGE view.
    • The problem was in the lost ability to be null for the table of a left join if it is a view/derived table.
    • It hapenned because setup_table_map(), was called earlier then we merged the view or derived.
    • Fixed by propagating new maybe_null flag during Item::update_used_tables().
    • Change in join_outer.test and join_outer_jcl6.test appeared because IS NULL reported no used tables (i.e. constant) for argument which could not be NULL and new maybe_null flag was propagated for IS NULL argument (Item_field) because table the Item_field belonged to changed its maybe_null status.
  • Revision #3607 Wed 2012-12-19 15:56:57 +0200
    • MDEV-3928: Assertion `example' failed in Item_cache::is_expensive_processor with a 2-level IN subquery
    • Analysis: The following call stack shows that it is possible to set Item_cache::value_cached, and the relevant value without setting Item_cache::example.
    • #0 Item_cache_temporal::store_packed at item.cc:8395 #1 get_datetime_value at item_cmpfunc.cc:915 #2 resolve_const_item at item.cc:7987 #3 propagate_cond_constants at sql_select.cc:12264 #4 propagate_cond_constants at sql_select.cc:12227 #5 optimize_cond at sql_select.cc:13026 #6 JOIN::optimize at sql_select.cc:1016 #7 st_select_lex::optimize_unflattened_subqueries at sql_lex.cc:3161 #8 JOIN::optimize_unflattened_subqueries at opt_subselect.cc:4880 #9 JOIN::optimize at sql_select.cc:1554
    • The fix is to set Item_cache_temporal::example even when the value is set directly by Item_cache_temporal::store_packed. This makes the Item_cache_temporal object consistent.
  • Revision #3606 Wed 2012-12-05 21:06:00 +0200
    • MDEV-3914 fix.
    • Fixed algorithm of detecting of first real table in view/subquery-in-the-FROM-clase.

Comments

Comments loading...