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.
: Do not show MySQL services preinstalled by Dell in the upgrade wizard
Fri 2012-03-09 15:37:16 -0800
Fixed .
This bug was introduced into in the December 2010 with
the patch that added a new engine property: the ability to support
virtual columns.
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.
[merge]
Tue 2012-03-06 01:48:38 +0100
merge
Tue 2012-03-06 01:46:32 +0100
Thu 2012-03-01 09:27:42 +0200
Return original checksum value inside the test.
Move ucs2 test in separate file ().
[merge]
Tue 2012-02-28 13:50:30 +0200
Automatic merge
Tue 2012-02-28 13:39:02 +0200
Sat 2012-02-25 17:10:07 -0800
Fixed .
The field key_cache_mem_size of the KEY_CACHE structure must be
initialized in the function init_key_cache() and updated in the
function resize_key_cache().
Sat 2012-02-25 09:03:06 +0200
Fix of (also and )
Cause of the bug is uninitialized items before evaluation HAVING clasue in case of empty result.
[merge]
Fri 2012-02-24 17:21:44 +0200
Automatic merge
Fri 2012-02-24 17:01:47 +0200
Wed 2012-02-22 00:10:39 -0800
Back-ported the fix and test cases for bugs #59487 and #43368 from
the mysql-5.6 code line.
[merge]
Tue 2012-02-21 17:48:15 +0200
Automatic merge with 5.1
Tue 2012-02-21 14:17:33 +0200
Tue 2012-02-21 09:35:46 +0200
Fixed wrong test case
[merge]
Tue 2012-02-21 01:55:12 +0200
Merge with 5.1
[merge]
Tue 2012-02-21 01:51:55 +0200
[merge]
Tue 2012-02-21 01:49:14 +0200
Automatic merge
Tue 2012-02-21 01:46:51 +0200
[merge]
Mon 2012-02-20 18:46:22 +0100
merge
Mon 2012-02-20 18:07:38 +0100
[merge]
Mon 2012-02-20 17:49:21 +0200
Merge with and MySQL 5.1.61
[merge]
Mon 2012-02-20 16:23:18 +0200
Mon 2012-02-20 14:03:44 +0200
Fixed "MariaDB consistently crashes in collect_tables on Aria checkpoint execution"
This happend when you have more than 1024 open Aria tables during checkpoint.
Thu 2012-02-16 16:06:49 -0800
Fixed .
The bug was fixed with the code back-ported from the patch for
pushed into mariadb-5.3.
Sun 2012-02-12 23:02:56 +0100
Use newly released HeidiSQL 7.0 in the MSI installer
[merge]
Sat 2012-02-11 15:05:07 +0100
merge
[merge]
Sat 2012-02-11 14:57:44 +0100
Fri 2012-02-03 12:24:55 +0200
Fixed DELETE issues of view over view over table.
Fri 2012-02-03 10:31:30 +0200
Added 5.2 test result delimiter
Fri 2012-02-03 10:28:23 +0200
Fix check of view updatability in case of underlying view changes its updatability.
For single table update/insert added deep check of single tables (single_table_updatable()).
Mon 2012-01-23 11:43:28 +0100
my_gethwaddr() does not compile on Solaris 11
Fri 2012-01-20 23:54:43 -0800
Fixed .
The function subselect_uniquesubquery_engine::copy_ref_key has to take into
account that when EXPLAIN is processed the array of store_key object created
for any TABLE_REF may contain elements for constant items. These items should
be ignored by thefunction.
Thu 2012-01-12 20:13:41 +0100
dialog.c:perform_dialog treats every password prompt as first
Thu 2012-01-12 20:13:22 +0100
more problems found by PVS Studio
Thu 2012-01-12 20:12:46 +0100
openpam compatibility
Thu 2012-01-12 20:12:14 +0100
fixes for get_password():
on windows: don't hang when there's no console, that is, _getch() returns -1.
Fri 2011-12-30 13:57:03 +0100
plugin renamed socket_peercred -> unix_socket.
test added.
Thu 2011-12-29 22:52:13 +0100
on windows: don't link all plugins with mysqld, only do it for storage engines.
Sat 2012-01-14 00:02:02 -0800
Back-ported the test case for bug #12616253 from mariadb-5.3 that
was actually a duplicate of fixed in mariadb-5.2.
Fri 2012-01-13 19:00:50 -0800
Back-ported the fix and the test case for from mariadb-5.3 code line.
Adjusted results for a few test cases.
Fri 2012-01-13 12:23:19 -0800
Back-ported the test cases for bug #12763207 from mysql-5.6 code line into 5.2
Completed the fix for this bug.
Tue 2012-01-10 19:26:47 +0100
: Fix default compilation comment
Tue 2012-01-10 19:23:00 +0100
Fix : version_compile_machine server variable is 'unknown' for x64 builds
Sun 2012-01-08 20:29:05 +0200
Fixed compiler and test failures found by buildbot
[merge]
Sat 2012-01-07 14:59:03 +0200
Merge
Sat 2012-01-07 10:23:46 +0200
Thu 2012-01-05 11:06:52 +0200
Fix of Wrong result with double ORDER BY
Problem was in caching 'eq_ref' dependency between calls of remove_const() for ORDER BY and GROUP BY lists.
[merge]
Wed 2012-01-04 17:22:06 +0200
Merge with 5.1
Thu 2011-12-29 21:55:17 -0800
Mon 2012-01-02 23:52:31 +0100
Fix embedded/windows tests- move COND_manager and LOCK_manager to sql_manager.cc, to prevent race condition that results into accessing already destroyed critical section
Thu 2011-12-29 15:09:20 -0800
Fixed .
A table expression with a natural join or a USING clause is transformed
into an equivalent expression with equi-join ON conditions. If a reference
to a virtual column happened to occur only in these generated equi-join
conditions then it was not erroneously marked in the TABLE::vcol_set bitmap.
Wed 2011-12-28 18:47:01 -0800
Fixed .
The method Item_sum_num::fix_fields() calculated the value of
the flag Item_sum_num::maybe_null in some cases incorrectly.
Tue 2011-12-27 19:13:53 -0800
Fixed .
The MIN/MAX optimization cannot be applied to a subquery if its WHERE clause
contains a conjunctive condition depending on an outer reference.
Tue 2011-12-27 13:19:13 -0800
Fixed .
The MIN/MAX optimizer code from the function opt_sum_query erroneously
did not take into account conjunctive conditions that did not depend on
any table, yet were not identified as constant items. These could be
items containing rand() or PS/SP parameters. These items are supposed
to be evaluated at the execution phase. That's why if such conditions
can be extracted from the WHERE condition the MIN/MAX optimization is
not applied as currently it is always done at the optimization phase.
[merge]
Fri 2011-12-23 15:02:57 +0100
merge
Thu 2011-12-22 15:50:33 +0100
Thu 2011-12-22 11:07:04 +0100
compilation warning - unused variable
Wed 2011-12-21 12:45:53 +0200
Supression condition made wider to cover some other system cases.
Tue 2011-12-20 01:56:41 -0800
Fixed .
The function st_table::mark_virtual_columns_for_write() did not take into
account the fact that for any table the value of st_table::vfield is 0
when there are no virtual columns in the table definition.
Mon 2011-12-19 14:55:30 -0800
Fixed .
If the sorted table belongs to a dependent subquery then the function
create_sort_index() should not clear TABLE:: select and TABLE::select
for this table after the sort of the table has been performed, because
these members are needed for the second execution of the subquery.
[merge]
Tue 2011-12-13 20:08:41 +0200
Merge with 5.1
Updated version number in configure
Tue 2011-12-13 19:57:19 +0200
Fixed ; Error in recovery with LOAD DATA + DELETE
Mon 2011-12-12 12:36:46 +0200
Fixed
The range optimizer incorrectly chose a loose scan for group by
when there is a correlated WHERE condition. This range access
method cannot be executed for correlated conditions also with the
"range checked for each record" because generally the range access
method can change for each outer record. Loose scan destructively
changes the query plan and removes the GROUP operation, which will
result in wrong query plans if another range access is chosen
dynamically.
Thu 2011-12-08 12:05:52 +0200
Fixed
Analysis:
Be notified of new MariaDB Server releases automatically by to the MariaDB Foundation community announce 'at' lists.mariadb.org announcement list (this is a low traffic, announce-only list). MariaDB plc customers will be notified for all new releases, security issues and critical bug fixes for all MariaDB plc products thanks to the Notification Services.
MariaDB may already be included in your favorite OS distribution. More information can be found on the page.
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
Bug #952714: Fix formatting of the crash messages in signal/exception handler
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.
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.
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.
A recent change in the server protocol code broke SSL connection for some client libraries.
Protocol documentation
() says
that initial packet sent by client if client wants SSL, consists of client
capability flags only (4 bytes or 2 bytes edependent on protocol
versionl). Some clients happen to send more in the initial SSL packet (C
client, Python connector), while others (Java, .NET) follow the docs and
send only client capability flags.
A change that broke Java client was a newly introduced check that frst
client packet has 32 or more bytes. This is generally wrong, if client
capability flags contains CLIENT_SSL.
Also, fixed the code such that read max client packet size and charset in
the first packet prior to SSL handshake. With SSL, clients do not have to
send this info, they can only send client flags.
This is now fixed such that max packet size and charset are not read prior
to SSL handshake, in case of SSL they are read from the "complete" client
authentication packet after SSL initialization.
For multi-table view insert added additional check of target table (check_view_single_update).
Multi-update was correct.
Test suite for all cases added.
on windows: _getch() returns an int, not char.
to distinguish between (char)255 and (int)-1
everywhere. isspace(pos[-1]) == ' ' never worked,
isspace() returns a boolean, not a char. the never-worked loop was
removed to preserve the existing behavior.
Note: in 5.3 the affected 'if' statement in Item_in_subselect::single_value_transformer()
starting with the condition (thd->variables.sql_mode & MODE_ONLY_FULL_GROUP_BY)
should be removed altogether. The change from table.cc is not needed either.
This is because in 5.3
min/max transformation for subqueries are done at the optimization phase
evaluation of the expensive subqueries is done at the execution phase.
Added an EXPLAIN EXTENDED to the test case for bug #12329653.
Fixes Bug #907049 "Server started with skip-aria crashes on an attempt to connect to it"
This could lead to wrong results for queries containing natural join
expressions or USING clauses.
(In 5.3 expensive subqueries are also evaluated only at the execution
phase. So, if a constant condition with such subquery can be extracted
from the WHERE clause the MIN/MAX optimization should not be applied
in 5.3.)
IF an IN/ALL/SOME predicate with a constant left part is transformed
into an EXISTS subquery the resulting subquery should not be considered
uncacheable if the right part of the predicate is not uncacheable.
Backported the function dbug_print_item() from 5.3. The function is used
only for debugging.
Bug #906638 : Fixes to build oqgraph with boost 1.48
dijkstra_shortest_paths() needs a Graph as first parameter, in case of reverse_graph we now need to use
its m_g member
use boost::tuples::tie() on all places where tie() was used . Reason -
fix the build with Visual Studio 10 SP1 (which includes std:tr1:tie, thus creating ambiguity)
Fixed valgrind problem: reference on deleted memory of temporary table name.
Removed previous patch of this problem.
The class member QUICK_GROUP_MIN_MAX_SELECT::seen_first_key
was not reset between subquery re-executions. Thus each
subsequent execution continued from the group that was
reached by the previous subquery execution. As a result
loose scan reached end of file much earlier, and returned
empty result where it shouldn't.
Solution:
Reset seen_first_key before each re-execution of the
loose scan.