MariaDB 5.3.7 Changelog

Downloadarrow-up-right |Release Notes |Changelog |Overview of 5.3arrow-up-right

Release date: 4 May 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 #3516arrow-up-right Wed 2012-05-02 22:02:17 +0200

    • update the version number

  • Revision #3515arrow-up-right Thu 2012-05-03 13:14:40 +0500

    • Fix for failing gis-precise on Windows.

  • Revision #3514arrow-up-right [merge] Wed 2012-05-02 22:02:06 +0200

  • Revision #3513arrow-up-right Wed 2012-05-02 15:23:49 +0200

    • implement Item_singlerow_subselect::get_date() to avoid unnecessary date->string->date conversion

  • Revision #3512arrow-up-right Wed 2012-05-02 15:22:47 +0200

    • MDEV-241arrow-up-right Bug #992722arrow-up-right - Server crashes in get_datetime_value

    • Create an Item_cache based on item's cmp_type, not result_type in subselect_engine.

    • Use result_field in Item_cache_temporal::cache_value(), just like all other Item_cache*::cache_value() do.

  • Revision #3511arrow-up-right [merge] Wed 2012-05-02 17:04:28 +0200

  • Revision #3510arrow-up-right Sun 2012-04-29 18:08:11 +0500

    • Bug #977021arrow-up-right ST_BUFFER fails with the negative D.

      • Points and lines should disappear if we got negative D.

      • To make it work properly inside the GEOMETRYCOLLECTION, we add the empty operation there.

    • Bug #986977arrow-up-right Assertion `!cur_p->event' failed in Gcalc_scan_iterator::arrange_event(int, int).

      • The double->inernal coord conversion produced -0 (minus zero) on some data.

      • That minus-zero produces invalid comparison results when compared agains plus-zero.

      • So we fixed the gcalc_set_double() to avoid it.

    • per-file comments:

  • Revision #3509arrow-up-right Thu 2012-04-26 19:21:37 +0200

    • MDEV-216arrow-up-right Bug #976104arrow-up-right - Assertion `0' failed in my_message_sql on UPDATE IGNORE, or unknown error on release build

    • Don't send_error at the end of mysql_multi_update() if select failed.

    • The error, if there was any, was already sent by mysql_select

  • Revision #3508arrow-up-right Fri 2012-04-27 12:59:17 +0300

    • Analysis:

      • The reason for the wrong result is the interaction between constant optimization (in this case 1-row table) and subquery optimization.

        • First the outer query is optimized, and 'make_join_statistics' finds that table t2 has one row, reads that row, and marks the whole table as constant. This also means that all fields of t2 are constant.

        • Next, we optimize the subquery in the end of the outer 'make_join_statistics'. The field 'f2' is considered constant, with value '3'. The subquery predicate is rewritten as the constant TRUE.

        • The outer query execution detects early that the whole query result is empty and calls 'return_zero_rows'. Since the query is with implicit grouping, we have to produce one row with special values for the aggregates (depending on each aggregate function), and NULL values for all non-aggregate fields. This function calls 'no_rows_in_result' to set each aggregate function to the default value when it aggregates over an empty result, and then calls 'send_data', which in turn evaluates each Item in the SELECT list.

        • When evaluation reaches the subquery predicate, it executes the subquery with field 'f2' having a constant value '3', and the subquery produces the incorrect result '7'.

    • Solution:

      • Implement Item::no_rows_in_result for all subquery predicates. In order to make this work, it is also needed to make all val_* methods of all subquery predicates respect the Item_subselect::forced_const flag. Otherwise subqueries are executed anyways, and override the default value set by no_rows_in_result with whatever result is produced from the subquery evaluation.

  • Revision #3507arrow-up-right [merge] Mon 2012-04-23 20:37:44 +0200

    • merge

    • Revision #3505.1.1arrow-up-right Fri 2012-04-20 21:09:16 +0200

      • Bug #983285arrow-up-right - incompatibility in frm in case of VIEWs with non-default ALGORITHM option.

      • As part of derived tables redesign, values for VIEW_ALGORITHM_MERGE and VIEW_ALGORITHM_TMPTABLE have changed from (former values 1 rsp 2 , new values 5 rsp 9).

      • This lead to the problem that views, created with version 5.2 or earlier would not work in all situations (e.g "SHOW CREATE VIEW"), or with mysqldump.

      • The fix is to restore backward compatibility for the from file, and convert algorithm={1,2} in the frm to {5,9} when reading .frm from disk, and store backward compatible values when writing from to disk.

      • Also allow processing correct processing for "invalid" .frms created with MariaDB 5.3/5.5 GA releases (where algorithm stored in memory matched the one stored in frm).

  • Revision #3506arrow-up-right Mon 2012-04-23 09:45:27 +0200

    • MDEV-207arrow-up-right Install headers required to build external storage plugins

    • install all private headers in mysql/private/

  • Revision #3505arrow-up-right Thu 2012-04-19 09:16:30 +0300

    • Fixed incorrect type casting which made all fields (except very first) changes to materialized table incorrect.

    • Saved list of view/derived table used items after expanding '*'.

  • Revision #3504arrow-up-right Thu 2012-04-19 05:37:16 +0400

    • Bug #978479arrow-up-right: Wrong result (extra rows) with derived_with_keys+loosescan+semijoin=ON, materialization=OFF

    • Part#2: Don't try to construct a LooseScan access on indexes that do not guarantee index-ordered reads.

  • Revision #3503arrow-up-right Thu 2012-04-19 04:50:32 +0400

    • BUG#978479: Wrong result (extra rows) with derived_with_keys+loosescan+semijoin=ON, materialization=OFF

    • Part#1: make EXPLAIN's plan match the one by actual execution:

    • Item_subselect::used_tables() should return the same value irrespectively of whether we're running an EXPLAIN or a SELECT.

  • Revision #3502arrow-up-right [merge] Mon 2012-04-16 23:35:38 +0200

  • Revision #3501arrow-up-right [merge] Mon 2012-04-16 17:41:43 +0200

circle-info

Be notified of new MariaDB Server releases automatically by subscribingarrow-up-right 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 Distributions which Include MariaDB page.

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

spinner

Last updated

Was this helpful?