All pages
Powered by GitBook
1 of 1

Loading...

MariaDB 5.3.9 Changelog

Download |Release Notes |Changelog |Overview of 5.3

Release date: 02 Oct 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 #3583 Mon 2012-10-01 15:42:49 +0200

    • increase the version

  • Sat 2012-09-29 22:44:13 -0700

    • Fixed ().

    • In some rare cases when the value of the system variable join_buffer_size was set to a number less than 256 the function JOIN_CACHE::set_constants determined the size of an offset in the join buffer equal to 1 though the minimal join buffer required more than 256 bytes. This could cause a crash of the server when records from the join buffer were read.

  • Fri 2012-09-28 09:54:43 +0200

    • Fix compiler warnings that breaks build (-Werror).

  • [merge] Thu 2012-09-27 15:02:17 +0200

    • merge

    • [merge] Thu 2012-09-27 12:59:23 +0200

      • Merge from 5.1

  • Thu 2012-09-27 13:18:07 +0500

    • backport --ignore-db-dir

    • The feature was backported from MySQL 5.6.

    • Some code was added to make commands as

  • [merge] Mon 2012-09-24 17:29:26 +0200

    • merge

    • [merge] Mon 2012-09-24 13:57:45 +0200

      • merge

  • Thu 2012-09-20 12:48:59 +0300

    • fix.

    • After pullout item during single row subselect transformation it should be fixed properly.

  • [merge] Mon 2012-09-17 11:13:46 +0300

    • Merged the fix for , .

    • Performed some refactoring and simplification that was enabled and required by the merge.

    • Fri 2012-09-14 11:26:01 +0300

  • Fri 2012-09-07 09:39:51 +0300

    • Fix of .

    • As far as we reopen tables so TABLE become invalid we should remove the pointer on cleanup().

  • Wed 2012-09-05 23:23:58 +0300

    • fix.

    • Link view/derived table fields to a real table to check turning the table record to null row.

    • Item_direct_view_ref wrapper now checks if table is turned to null row.

  • Fri 2012-08-31 19:50:45 +0500

    • st_distance() results are incorrect depending on variable order.

    • Autointersections of an object were treated as nodes, so the wrong result.

    • per-file comments:

  • Fri 2012-08-31 12:01:52 +0200

    • compilation warning

  • Thu 2012-08-30 10:53:49 +0200

    • : fdatasync() does not correctly flush growing binlog file.

    • When we append data to the binlog file, we use fdatasync() to ensure the data gets to disk so that crash recovery can work.

    • Unfortunately there seems to be a bug in ext3/ext4 on linux, so that fdatasync() does not correctly sync all data when the size of a file is increased. This causes crash recovery to not work correctly (it loses transactions from the binlog).

  • Thu 2012-08-30 09:05:27 +0200

    • Microseconds: In time functions precision is calculated modulo 256

    • store the precision in uint, not uint8

  • Wed 2012-08-29 18:36:57 +0200

    • Microseconds: Precision is ignored in CURRENT_TIMESTAMP(N) when it is given as a default column value

    • The syntax for specifying precision in the DEFAULT clause is unintentional and unsupported.

    • Don't allow it anymore.

  • Wed 2012-08-29 17:55:59 +0200

    • Addition of a time interval reduces the resulting value

      1. Field_newdate::get_date should refuse to return a date with zeros when TIME_NO_ZERO_IN_DATE is set, not when TIME_FUZZY_DATE is unset

      2. Item_func_to_days and Item_date_add_interval can only work with valid dates, no zeros allowed.

  • Wed 2012-08-29 10:59:51 +0200

    • An out-of-range datetime value (with a 5-digit year) can be created and cause troubles

      • fix Item_func_add_time::get_date() to generate valid dates.

      • Move the validity check inside get_date_from_daynr() instead of relying on callers

  • Wed 2012-08-29 11:35:42 +0300

    • : fixed incorrect error check.

  • Tue 2012-08-28 13:51:01 +0400

    • Fix bugs in BatchedKeyAccess that show up when working with a storage engine in HA_MRR_NO_ASSOCIATION mode.

    • (there is no testcase because we don't ship any such engines currently)

Revision #2643.153.18 Thu 2012-09-27 12:25:45 +0200

  • Fix incorrect assembler in Taocrypt which causes crashes on i386 with certain GCC versions/options

  • Revision #2732.57.20 [merge] Wed 2012-09-26 18:49:38 +0200

    • merge

    • Revision #2643.153.17 Wed 2012-09-26 11:59:49 +0200

      • always force the language in mysql_install_db

  • Revision #2732.57.19 Tue 2012-09-25 20:23:01 +0200

    • a simple pam user mapper module

  • Revision #2732.57.18 [merge] Wed 2012-09-26 18:29:49 +0200

    • Merge from 5.1.

    • Revision #2643.153.16 Wed 2012-09-26 15:30:08 +0200

      • Fix some failures in 5.1 Buildbot:

        • Fix some warnings in newer GCC (-Werror ...).

        • Fix wrong STACK_DIRECTION detected by configure due to compiler inlining.

  • SELECT * FROM ignored_db.t1;

  • CALL ignored_db.proc();

  • USE ignored_db;

  • to take that option into account.

  • per-file comments:

    • mysql-test/r/ignore_db_dirs_basic.result

      • test result added.

    • mysql-test/t/ignore_db_dirs_basic-master.opt

      • options for the test,

      • actually the set of --ignore-db-dir lines.

    • mysql-test/t/ignore_db_dirs_basic.test

      • test for the feature.

      • Same test from 5.6 was taken as a basis,

      • then tests for SELECT, CALL etc were added.

  • per-file comments:

    • sql/mysql_priv.h

      • MDEV-495 backport --ignore-db-dir

      • interface for db_name_is_in_ignore_list() added.

    • sql/mysqld.cc

      • backport --ignore-db-dir

      • --ignore-db-dir handling.

    • sql/set_var.cc

      • backport --ignore-db-dir

      • the @@ignore_db_dirs variable added.

    • sql/sql_show.cc

      • backport --ignore-db-dir

      • check if the directory is ignored.

    • sql/sql_show.h

      • backport --ignore-db-dir

      • interface added for opt_ignored_db_dirs.

    • sql/table.cc

      • backport --ignore-db-dir

      • check if the directory is ignored.

  • Revision #2643.153.15 Mon 2012-09-24 11:33:41 +0200

    • MDEV-543 mysql_install_db doesn't work with blanks in either basedir or datadir path

    Fix Bug #1009187, MDEV-373, MySQL Bug #58628

  • Analysis:

    • The queries in question use the [unique | index]_subquery execution methods. These methods reuse the ref keys constructed by create_ref_for_key(). The way create_ref_for_key() works is that it doesn't store in ref.key_copy[] store_key elements that represent constants. In particular it doesn't store the store_key for NULL constants.

    • The execution of [unique | index]_subquery calls subselect_uniquesubquery_engine::copy_ref_key, which in addition to copy the left IN argument into a index lookup key, is supposed to detect if the left IN argument contains NULLs. Since the store_key for the NULL constant is not copied into the key array, the null is not detected, and execution erroneously proceeds as if it should look for a complete match.

  • Solution:

    • The solution (unlike MySQL) is to reuse already computed information about NULL presence. Item_in_optimizer::val_int already finds out if the left IN operand contains NULLs. The fix propagates this to the execution methods subselect_[unique | index]subquery_engine::exec so it knows if there were NULL values independent of the presence of keys.

    • In addition the patch siplifies copy_ref_key() and the logic that hanldes the case of NULLs in the left IN operand.

  • mysql-test/r/gis.result

    • Bug #1043845 st_distance() results are incorrect depending on variable order.

    • test result updated.

  • mysql-test/t/gis.test

    • Bug #1043845 st_distance() results are incorrect depending on variable order.

    • test case added.

  • sql/item.cc

    • small fix to make compilers happy.

  • sql/item_geofunc.cc

    • Bug #1043845 st_distance() results are incorrect depending on variable order.

    • Skip intersection points when calculate distance.

  • As a work-around, use fsync() for the binlog, not fdatasync(). Since we are increasing the file size, (correct) fdatasync() will most likely not be faster than fsync() on any file system, and fsync() does work correctly on ext3/ext4. This avoids the need to try to detect if we are running on buggy ext3/ext4.

  • (5 that had it, and 2 that did not, but should've)

    Revision #3582
    Bug #1058071
    MDEV-564
    Revision #3581
    Revision #3580
    Revision #2732.57.21
    Revision #3579
    MDEV-495
    Revision #3578
    Revision #2732.57.17
    Revision #3577
    MDEV-521
    Revision #3576
    Bug #1009187
    MDEV-373
    Revision #2732.57.16
    Revision #3575
    MDEV-511
    Revision #3574
    MDEV-486
    Bug #1010116
    Revision #3573
    Bug #1043845
    Revision #3572
    Revision #3571
    MDEV-381
    Revision #3570
    MDEV-437
    Revision #3569
    MDEV-438
    Revision #3568
    MDEV-454
    Revision #3567
    MDEV-456
    Revision #3566
    MDEV-492
    Revision #3565
    MDEV-495
    MDEV-495
    MDEV-495
    MDEV-495
    MDEV-495

    Be notified of new MariaDB Server releases automatically by subscribing 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.

    This page is licensed: CC BY-SA / Gnu FDL

    Distributions which Include MariaDB