Download | Release Notes | Changelog | Overview of 5.3

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 #3516 Wed 2012-05-02 22:02:17 +0200
    • update the version number
  • Revision #3515 Thu 2012-05-03 13:14:40 +0500
    • Fix for failing gis-precise on Windows.
  • Revision #3514 [merge] Wed 2012-05-02 22:02:06 +0200
    • 5.2 merge
    • Revision #2732.53.37 Wed 2012-05-02 22:00:31 +0200
      • update the result file
    • Revision #2732.53.36 Wed 2012-05-02 18:11:02 +0200
      • MDEV-214 Bug #967242 Wrong result with JOIN, AND in ON condition, multi-part key, GROUP BY, subquery and OR in WHERE
      • The problem was in the code (update_const_equal_items()) which marked index parts constant independently of the place where the equality was used. In the test suite it marked t2_1.c part constant despite the fact that it connected by OR with other expression.
      • Solution is to mark constant only top equalities connected with AND.
    • Revision #2732.53.35 [merge] Wed 2012-05-02 17:06:30 +0200
      • 5.1 merge
      • Revision #2643.153.5 Tue 2012-04-24 17:29:03 +0200
        • Bug #986120 Problem installing mariadb 5 on solaris 10
        • remove a redundant line in Makefile.am
  • Revision #3513 Wed 2012-05-02 15:23:49 +0200
    • implement Item_singlerow_subselect::get_date() to avoid unnecessary date->string->date conversion
  • Revision #3512 Wed 2012-05-02 15:22:47 +0200
    • MDEV-241 Bug #992722 - 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 #3511 [merge] Wed 2012-05-02 17:04:28 +0200
    • merge
    • Revision #2732.53.34 Wed 2012-05-02 16:53:02 +0200
      • Bug #993103: Wrong result with LAST_DAY('0000-00-00 00:00:00')IS NULL in WHERE condition
      • Fix is to set maybe_null flag for Item_func_last_day.
    • Revision #2732.53.33 Wed 2012-04-25 15:30:19 +0200
      • MDEV233 - Support Wix3.6 for MSI
    • Revision #2732.53.32 Wed 2012-04-18 20:04:50 +0200
      • Bug #982664 there are few broken clients that lie about their capabilities (for example, one of them sets client capabilities by copying server capabilities)
      • We cannot fix them - let's tolerate them
  • Revision #3510 Sun 2012-04-29 18:08:11 +0500
    • Bug #977021 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 #986977 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:
      • mysql-test/r/gis-precise.result
        • result updated.
      • mysql-test/t/gis-precise.test
      • sql/gcalc_slicescan.cc
        • Bug #986977. The gcalc_set_double fixed to not produce minus-zero.
      • sql/item_geofunc.cc
        • Bug #977021. Add the NOOP for the disappearing features.
  • Revision #3509 Thu 2012-04-26 19:21:37 +0200
    • MDEV-216 Bug #976104 - 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 #3508 Fri 2012-04-27 12:59:17 +0300
    • Fix Bug #985667, MDEV-229
    • 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 #3507 [merge] Mon 2012-04-23 20:37:44 +0200
    • merge
    • Revision #3505.1.1 Fri 2012-04-20 21:09:16 +0200
      • Bug #983285 - 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 #3506 Mon 2012-04-23 09:45:27 +0200
    • MDEV-207 Install headers required to build external storage plugins
    • install all private headers in mysql/private/
  • Revision #3505 Thu 2012-04-19 09:16:30 +0300
    • Bug #978847 fixed.
    • 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 #3504 Thu 2012-04-19 05:37:16 +0400
    • Bug #978479: 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 #3503 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 #3502 [merge] Mon 2012-04-16 23:35:38 +0200
    • merge
    • Revision #2732.53.31 [merge] Mon 2012-04-16 23:32:50 +0200
      • merge
      • Revision #2732.56.3 Mon 2012-04-16 23:31:33 +0200
        • fix compiler warnings
      • Revision #2732.56.2 Mon 2012-04-16 23:31:02 +0200
        • backport a change from 5.5 to remove thread sleeps from Innodb assertions on Windows.
        • This can result in bad deadlocks (e.g loader lock), seen in latest crash reports.
  • Revision #3501 [merge] Mon 2012-04-16 17:41:43 +0200

Comments

Comments loading...