All pages
Powered by GitBook
1 of 1

Loading...

MariaDB 5.3.0 Changelog p2

Download |Release Notes |Changelog (page:1 2 3456 ) |Overview of 5.3

Release date: 26 July 2011

  • Revision #3069 Wed 2011-06-29 16:05:16 -0700

    • Fixed Bug #803410. Due to this bug in the function generate_derived_keys_for_table some key definitions to access materialized derived tables or materialized views were constructed with invalid info for their key parts. This could make the server crash when it optimized queries using materialized derived tables or materialized views.

  • [merge] Tue 2011-06-28 19:56:30 -0700

    • Merge.

    • Tue 2011-06-28 18:31:54 -0700

      • Fixed . This crashing bug could manifest itself at execution of join queries over materialized derived tables with IN subquery predicates in the where clause. If for such a query the optimizer chose to use duplicate weed-out with duplicates in a materialized derived table and chose to employ join cache the execution could cause a crash of the server. It happened because the JOIN_CACHE::init method assumed that the value of TABLE::file::ref is set at the moment when the method was called for the employed join cache. It's true for regular tables, but it's not true for materialized derived tables that are filled now at the first access to them, i.e. after the JOIN_CACHE::init has done its job.

  • Tue 2011-06-28 15:48:44 +0300

    • Fixed

      • Analysis:

        • The failed assert ensured that the choice of subquery strategy is performed only for queries with at least one table. If there is a LIMIT 0 clause all tables are removed, and the subquery is neither optimized, nor executed during actual optimization. However, if the query is EXPLAIN-ed, the EXPLAIN execution path doesn't remove the query tables if there is a LIMIT 0 clause. As a result, the subquery optimization code is called, which violates the ASSERT condition.

  • Tue 2011-06-28 11:11:26 +0400

    • : Valgrind warning / sporadic crash in evaluate_join_record sql_select.cc:14099 with semijoin

      • Added testcase. The bug is most likely fixed by code.

  • [merge] Mon 2011-06-27 23:36:20 -0700

    • Merge

    • Mon 2011-06-27 23:07:46 -0700

      • Fixed . The function create_view_field in some cases incorrectly set the maybe_null flag for the returned items.

  • [merge] Tue 2011-06-28 00:18:42 +0300

    • Automatic merge

    • [merge] Tue 2011-06-28 00:13:22 +0300

      • Automatic merge

  • Mon 2011-06-27 23:38:56 +0400

    • Added TODO comments

  • Sun 2011-06-26 21:55:32 -0700

    • Fixed . Ensured valid calculations of the estimates stored in JOIN_TAB::used_fieldlength.

  • Sat 2011-06-25 14:02:27 -0700

    • Fixed . Made mergeable views and mergeable derived tables transparent for the MIN/MAX optimization.

  • Fri 2011-06-24 21:18:20 -0700

    • Added test cases for and fixed by the patch for .

  • Fri 2011-06-24 18:42:14 -0700

    • Fixed . The following were missing in the patch for mwl106:

      • KEY_PART_INFO::fieldnr were not set for generated keys to access tmp tables storing the rows of materialized derived tables/views

      • TABLE_SHARE::column_bitmap_size was not set for tmp tables storing the rows of materialized derived tables/views.

  • Fri 2011-06-24 14:38:53 -0700

    • Fixed . If a view/derived table is non-mergeable then the definition of the tmp table to store the rows for it is created at the prepare stage. In this case if the view definition uses outer joins and a view column belongs to an inner table of one of them then the column should be considered as nullable independently on nullability of the underlying column. If the underlying column happens to be defined as non-nullable then the function create_tmp_field_from_item rather than the function create_tmp_field_from_field should be employed to create the definition of the interesting column in the tmp table.

  • [merge] Fri 2011-06-24 21:43:31 +0400

    • Merge 5.2 -> 5.3 (testcase for now crashes)

  • Thu 2011-06-23 22:12:22 -0700

    • Fixed a valgrind problem. The function setup_tables should handle table_list elements for semijoin materialized tables in a special way when executing a prepared statement for the second time.

  • Thu 2011-06-23 14:48:45 -0700

    • Fixed . The function simple_pred did not take into account that a multiple equality could include ref items (more exactly items of the class Item_direct_view_ref). It caused crashes for queries over derived tables or views if the min/max optimization could be applied to these queries.

  • [merge] Tue 2011-06-21 18:17:28 -0700

    • Merge

    • Tue 2011-06-21 18:00:58 -0700

      • Fixed .

  • Tue 2011-06-21 23:01:01 +0300

    • Removed forgotten EXPLAIN EXTENDED from the test file.

  • [merge] Tue 2011-06-21 16:00:41 +0300

    • Automerged with 5.3.

    • Tue 2011-06-21 15:50:07 +0300

  • Fri 2011-06-17 23:00:26 +0200

    • - fix missing alpha/beta etc in MSI and ZIP package names.

  • [merge] Fri 2011-06-17 17:45:41 +0400

    • Merge fix for .

    • Wed 2011-06-15 18:37:01 +0400

      • : Crash in hp_movelink with Aria engine and subqueries -In do_sj_dups_weedout(), set nulls_ptr to point to NULL bytes (and not to length bytes) of the DuplicateWeedout column.

  • [merge] Wed 2011-06-15 21:48:38 -0700

    • Merge of mwl #106 into 5.3.

    • Thu 2011-06-09 12:43:28 -0700

      • Fixed .

  • Wed 2011-06-15 17:40:18 +0400

    • : Update .result file

  • Wed 2011-06-15 16:02:32 +0400

    • : partition.test produces valgrind errors in 5.3-based branches

      • Testcase

  • Wed 2011-06-15 15:32:24 +0400

    • : InnoDB: Error: row_search_for_mysql() is called without ha_innobase::external_lock() in maria-5.3

      • Testcase

  • Wed 2011-06-15 13:43:04 +0400

    • Assertion `!table->file || table->file->inited == handler::NONE' failed with subquery

      • Add testcase

  • Tue 2011-06-14 18:45:14 +0200

    • fix for cast of negative numbers to datetime

  • Sun 2011-06-12 11:28:22 +0200

    • a couple of fixes for pbxt tests

  • Tue 2011-06-14 15:21:54 +0200

    • Another attempt at fixing the rare random failures of rpl_corruption

    • The previous patch partially fixed things by waiting for the old dump thread on the master to exit before injecting the DBUG error. This prevents the error injection going to the wrong thread.

    • However, there is still the problem that the old dump thread may never exit, causing the wait to time out. This happens if the dump thread manages to write all events down the socket before the socket is closed by the slave. The master dump thread only checks for slave gone when writing a new event, so if no new events are generated, old dump threads can hang around forever on the master after the slave disconnects.

  • Mon 2011-06-13 12:41:19 +0400

    • Remove redundant code that is a result of a wrong merge. (Changeset sp1r-igor@olga.mysql.com-20070526173301-38848 moved this loop from one place to another, then the merge of sp1r-gshchepa/uchum@gleb.loc-20070527192244-26330 have kept both copies).

  • Sun 2011-06-12 00:35:53 +0400

    • In make_join_select():

      • move attempt to evaluate join->exec_const_cond() out of the "Extract constant part of each ON expression" loop (it got there by mistake when merging).

  • [merge] Sat 2011-06-11 12:04:42 +0300

    • Merge with Sergei's tree to get in latest microsecond patches and also fixes to innodb_plugin.

    • Fri 2011-06-10 21:15:13 +0200

      • more buildbot fixes

  • Sat 2011-06-11 11:41:46 +0300

    • Fixed build failures with maria3.test and widows build

  • [merge] Sat 2011-06-11 11:09:17 +0300

    • Merge with main 5.3

    • [merge] Fri 2011-06-10 12:09:21 +0300

      • Merge with 5.2

  • Fri 2011-06-10 12:45:43 +0400

    • : does not trigger with non-comma joins

      • Add a testcase (the bug has already been fixed)

  • Fri 2011-06-10 12:36:06 +0400

    • [No BUG#] end_tab_idx==-1 passed as parameter to JOIN::get_partial_cost_and_fanout()

      • Handle the case when the subquery's join is degenerate and so has zero tables.

  • Thu 2011-06-09 21:39:31 +0300

    • Removed depricated --maria-options from mysqld.

  • Thu 2011-06-09 13:35:01 +0300

    • Fixed compile failure when we don't use system zlib

    • Fixed crash when setting query_cache_type to 0.

  • Thu 2011-06-09 11:13:03 +0300

    • Fixed build failure on OpenSolaris

  • Tue 2011-06-07 14:19:49 +0300

    • Upgraded to latest handlersocket code. This fixed "Assertion `next_insert_id == 0' failed with handlersocket"

  • Tue 2011-06-07 10:54:37 +0300

    • Fixed that mysqld --no-defaults --help --verbose doesn't give a lot of irrelevant error messages.

  • Tue 2011-06-07 10:29:08 +0300

    • Fixed strict alias problem by replacing = with memcpy()

  • Mon 2011-06-06 15:50:46 -0700

    • Fixed . The code that added semi-join transformations missed checking the state of the fixed flag for the items built with the and_items function before calls of the fix_fields method. This could lead to an abort failure when the first argument of and_items() happened to be NULL.

  • [merge] Mon 2011-06-06 19:37:33 +0300

    • Merge with 5.2 to get bug fixes for thr_lock

  • Mon 2011-06-06 17:25:01 +0300

    • Fixed that SHOW COLUMNS for a virtual persistent column shows 'PERSISTENT' instead of 'VIRTUAL' Strict mode now gives error if one tries to update a virtual column.

  • Fri 2011-06-03 21:45:24 +0400

    • Buildbot fixes:

      • make sp.test work both with and without query_cache (attempt 2)

      • fix compile warning in make_sort_key(), as directed by SergeiG

  • Fri 2011-06-03 15:06:13 +0200

    • Fixed compiler warning in central header file mysql_priv.h.

  • Fri 2011-06-03 13:42:02 +0400

    • More changes from optimizer_use_mrr to optimizer_switch

  • Fri 2011-06-03 11:32:21 +0400

    • Buildbot fixes: don't use @@optimizer_use_mrr, it has been moved into @@optimizer_switch

  • Fri 2011-06-03 10:49:50 +0400

    • Buildbot fixes: let mysql-test/t/sp.test set @@query_cache_size only if the server has query cache.

  • [merge] Fri 2011-06-03 09:38:59 +0400

    • Merge

    • Fri 2011-06-03 00:25:58 +0400

      • Change optimizer_use_mrr=auto|disable|force to be optimizer_switch flags mrr=on|off and mrr_cost_based=on|off.

  • [merge] Thu 2011-06-02 17:33:08 -0700

    • Merge

    • Tue 2011-05-31 09:39:35 -0700

      • Corrected the previous patch concerning elimination of SQL_SELECT::original_cond.

  • [merge] Thu 2011-06-02 23:52:36 +0400

    • Merge fix for .

    • Thu 2011-06-02 23:48:33 +0400

      • : Valgrind complains on a join query with two IN subqueries

  • Thu 2011-06-02 16:46:47 +0400

    • Change suite/rpl/t/rpl_row_basic_11bugs.test to require query cache.

  • [merge] Tue 2011-05-31 12:16:02 +0200

    • automerge

    • Tue 2011-05-31 12:14:21 +0200

      • Attempt to fix rpl.rpl_corruption failure seen in Buildbot on Windows.

  • Mon 2011-05-30 11:19:40 +0400

    • Remove compiler warning

    • Remove garbage comments

  • [merge] Mon 2011-05-30 10:51:41 +0400

    • Merge 5.3-main ->

  • Sun 2011-05-29 20:48:14 -0700

    • Eliminated the member original_cond from the class SQL_SELECT introduced at the latest merge 5.1->5.2->5.3. It is basically not needed since if SQL_SELECT::pre_idx_push_select_cond is not NULL then SQL_SELECT::original_cond would point to the same condition as SQL_SELECT::pre_idx_push_select_cond. Otherwise SQL_SELECT::original_cond would be equal to SQL_SELECT::cond.

  • Sat 2011-05-28 22:07:56 -0700

    • Fixed the abort failure of a test case from vcol.vcol_misc. The fix blocks execution of any constant sub-expressions of the defining expressions for virtual columns when context analysis if these expressions is performed.

    • Fixed a compiler warning.

  • Sat 2011-05-28 19:28:39 +0200

    • Fix gcc warning.

  • Sat 2011-05-28 16:57:58 +0200

    • Fix compile errors and warnings and test errors introduced by microseconds push.

    • Also, change windows timespec definition to be Unix-ish - simplifies handling a lot.

  • [merge] Sat 2011-05-28 06:00:22 +0300

    • Automatic merge

    • [merge] Sat 2011-05-28 05:58:16 +0300

      • automatic merge with 5.3

  • [

    • merge] Fri 2011-05-27 19:05:35 +0200

    • merge

  • [merge] Mon 2011-05-23 11:54:26 +0300

    • automatic merge with 5.3

    • Mon 2011-05-23 10:56:05 +0300

      • : Address review feedback (by Sergey Petrunia)

  • Sat 2011-05-21 22:23:14 +0200

    • Fix comp_errr crash ( fprintf crashes wheb uninitialized string is passed)

  • Sat 2011-05-21 00:46:18 +0300

    • Changed MariaDB error numbers to start from 1900 to not conflict with MySQL error numbers

  • Fri 2011-05-20 19:52:24 +0400

    • Fix a comment (unmatched '{' and '}' screw up jumping in advanced editors)

  • Fri 2011-05-20 19:08:55 +0400

    • Stabilize a testcase after fix for , part 2

  • Fri 2011-05-20 14:15:22 +0400

    • Stabilize a testcase after fix for

  • [merge] Fri 2011-05-20 10:13:02 +0400

    • Merge fix for

    • Fri 2011-05-20 01:05:06 +0400

      • : Wrong result with semijoin + nested subqueries in maria-5.3

Changelog — page: 2

  • To fix this problem for any ROWID field of materialized derived table the procedure that copies fields from record buffers into the employed join buffer first checks whether the value of TABLE::file::ref has been set for the table, and if it's not so the procedure sets this value.

  • Solution:

    • Transform the assert into a condition, and if the outer query has no tables assume that there will be at most one subquery execution.

    • There is potentially a better solution by reengineering the EXPLAIN/optimize code, so that subquery optimization is not done if not needed. Such a solution would be a lot bigger and more complex than a bug fix.

  • Revision #3061.1.4 Mon 2011-06-27 19:30:05 +0300

    • Added mytop to distribution (with some small trivial changes to make it workg good also for MariaDB)

  • Revision #3061.1.3 Mon 2011-06-27 19:07:24 +0300

    • New status variables: Rows_tmp_read, Handler_tmp_update and Handler_tmp_write Split status variable Rows_read to Rows_read and Rows_tmp_read so that one can see how much real data is read. Same was done with Handler_update and Handler_write. Fixed bug in MEMORY tables where some variables was counted twice. Added new internal handler call 'ha_close()' to have one place to gather statistics. Fixed bug where thd->open_options was set to wrong value when doing admin_recreate_table()

  • Revision #3061.1.2 Mon 2011-06-27 12:51:13 +0300

    • Updated version tag to beta

  • Revision #3061.1.1 [merge] Mon 2011-06-27 12:48:53 +0300

    • Automatic merge

      • Revision #3039.1.2 Mon 2011-06-27 12:45:03 +0300

        • Added reading of client-server my.cnf tag

      • Mon 2011-06-13 14:07:44 +0300

        • Added test case to show that we get a warning from CHECK TABLE if we force auto_increment value to 0

  • These could cause crashes or memory overwrite.

  • The patch for Bug #717577 and Bug #724942 has missed to make adjustments for the call item_equal->add_const(const_item, orig_field_item) in the function check_simple_equality that builds multiple equality for a field and a constant. As a result, when this field happens to be a view field and the corresponding Item_field object F is wrapped in an Item_direct_view_ref object R the object F is placed in the multiple equality instead of the object R. A substitution of an equal item for F potentially can cause very serious problems and in some cases can lead to crashes of the server.

  • Added regression test with queries over the WORLD database.

  • Discovered and fixed several bugs in the related cost calculation functionality both in the semijoin and non-semijon subquery code.

  • Added DBUG printing of the cost variables used to decide between IN-EXISTS and MATERIALIZATION.

  • The function generate_derived_keys did not take into account the fact that the last element in the array of keyuses could be just a barrier element. In some cases it could lead to a crash of the server.

  • Also fixed a couple of other bugs in generate_derived_keys: the inner loop in the body of if this function did not change the cycle variables properly.

  • Revision #3025.1.4 Thu 2011-06-09 00:13:00 -0700

    • Fixed Bug #794038. INSERT/UPDATE/DELETE statement that used a temptable view v1 could lead to a crash if v1 was defined as a select from a mergeable view v2 that selected rows from a temptable view v3.

    • When INSERT/UPDATE/DELETE uses a view that is not updatable then field translation for the view should be created before the prepare phase.

  • Revision #3025.1.3 Mon 2011-06-06 12:19:35 -0700

    • Fixed Bug #793436

      • When looking for the execution plan of a derived table to be materialized JOIN::optimize finds out that all joined tables of the derived table contain not more than one row then the derived table should be maretialized at the optimization stage.

      • Added a test case for the bug.

      • Adjusted results in other test cases.

  • Revision #3025.1.2 Sun 2011-06-05 21:54:25 -0700

    • Added two new flags for the optimizer switch:

      • 'derived_merge':

        • if the flag is off then all derived tables are materialized

        • if the flag is on then mergeable derived tables are merged

      • 'derived_with_keys':

        • if the flag is off then no keys are created for derived tables

        • if the flag is on then for any derived table a key to access the derived table may be created.

      • Now by default both flags are on. Later the default values for the flags will be off to comply with the current behaviour of mysql-5.1.

      • Uncommented previously commented out test case from parts.partition_repair_myisam after having added an explicit requirement to materialize the derived table used in the test case.

  • Revision #3025.1.1 [merge] Sat 2011-06-04 19:56:06 -0700

    • Merged the code of MWL#106 into the latest 5.3 with MWL#90 pushed. Resolved all conflicts and failures.

  • Fix by explicitly killing the old dump thread if it is still around.

  • Revision #3027.1.5 Fri 2011-06-10 15:42:55 +0200

    • various fixes for buildbot failures

  • Revision #3027.1.4 Fri 2011-06-10 10:14:20 +0200

    • change test_if_equality_guarantees_uniqueness() from an ad hoc set of limitations to a correct rule

  • Revision #3027.1.3 Thu 2011-06-09 18:06:29 +0200

    • small optimization in Field_time_hires.

    • Fix Field_time_hires::reset()

  • Revision #3027.1.2 Thu 2011-06-09 17:23:39 +0200

    • bugfixes:

      • microsecond(TIME)

      • alter table datetime<->datetime(6)

      • max(TIME), mix(TIME)

  • Revision #3027.1.1 [merge] Tue 2011-06-07 18:13:02 +0200

    • merge with 5.1-micro

      • Revision #2502.1147.48 Mon 2011-06-06 20:28:15 +0200

        • revert a suggested "optimization" that introduced a bug

        • compilation error in mysys/my_getsystime.c fixed

        • some redundant code removed

        • sec_to_time, time_to_sec, from_unixtime, unix_timestamp, @@timestamp now use decimal, not double for numbers with a fractional part.

        • purge_master_logs_before_date() fixed

        • many bugs in corner cases fixed

      • Thu 2011-05-26 19:16:10 +0200

        • innodb compatibility fix

      • Thu 2011-05-26 18:11:26 +0200

        • fix for double or decimal to datetime conversion

  • Corrected the code from the patch for Bug #702322.

  • Don't attempt to construct FirstMatch access method if we've just figured three lines above that it can't be used (because join prefix doesn't have the needed tables), and so have set pos->first_firstmatch_table= MAX_TABLES

  • Attempts to analyze join->positions[MAX_TABLES] caused valgrind warnings

  • There is a potential race when we stop the slave. It may take some time for the master to detect that the slave connection is closed (eg. if scheduling delays the TCP RSET packet or whatever). Since we inject only a single corrupt binlog event, we may be unfortunate enough to inject it on the wrong connection, to a slave io thread that's already stopped.

  • Fix by waiting for the old dump thread on the master to go away before injecting the corrupt event.

  • Revision #3006.1.3 [merge] Sat 2011-05-28 05:17:24 +0300

    • automatic merge with 5.2

  • Revision #3006.1.2 [merge] Sat 2011-05-28 05:11:32 +0300

    • Merge with 5.1-microseconds

      • A lot of small fixes and new test cases.

  • Revision #3006.1.1 Mon 2011-05-23 15:14:54 +0300

    • Fixed errors found in buildbot

  • Revision #2991.1.2 Wed 2011-05-18 01:23:22 +0300

    • MWL#89 Addressing Sergey's review comments - Part 1.

    • Address the 'trivial' part of Sergey's review of MWL#89.

  • Revision #2991.1.1 [merge] Tue 2011-05-17 14:56:02 +0300

    • MWL#89 - automatic merge with 5.3

  • in advance_sj_state(), remember join->cur_dups_producing_tables in pos->prefix_dups_producing_tables before we modify it, so that restore_prev_sj_state() restores cur_dups_producing_tables in all cases.

  • Updated test results in subselect_sj2[_jcl6].result (the original EXPLAIN was invalid there)

  • Revision #3068
    Revision #3065.1.1
    Bug #802860
    Revision #3067
    Bug #800679
    Revision #3066
    MySQL Bug #751484
    MWL#90
    Revision #3065
    Revision #3062.2.1
    Bug #800535
    Revision #3064
    Revision #3062.1.1
    Revision #3063
    Revision #3062
    Bug #801536
    Revision #3061
    Bug #802023
    Revision #3060
    Bug #798625
    Bug #800085
    Bug #798621
    Revision #3059
    Bug #799499
    Revision #3058
    Bug #798576
    Revision #3057
    Bug #798597
    Revision #3056
    Revision #3055
    Bug #800518
    Revision #3054
    Revision #3052.1.1
    Bug #798621
    Revision #3053
    MWL#89
    Revision #3052
    MWL#89
    Revision #3015.3.1
    MWL#89
    Revision #3051
    Bug #779758
    Revision #3050
    Bug #778406
    Revision #3048.1.1
    Bug #778406
    Revision #3049
    Revision #3025.1.5
    Bug #794909
    Revision #3048
    Bug #761598
    Revision #3047
    Bug #598247
    Revision #3046
    Bug #761598
    Revision #3045
    Bug #751439
    Revision #3044
    Revision #3043
    Revision #3042
    Revision #3041
    Revision #3040
    Revision #3039
    Revision #3027.1.6
    Revision #3038
    Revision #3037
    Revision #3034.1.1
    Revision #3036
    Bug #727183
    WL#90
    Revision #3035
    Revision #3034
    Revision #3033
    Revision #3032
    Revision #3031
    Bug #766870
    Revision #3030
    Revision #3029
    Revision #3028
    Bug #784441
    Revision #3027
    Revision #3026
    Revision #3025
    Revision #3024
    Revision #3023
    Revision #3022
    Revision #3021
    Revision #3020
    Revision #3018.1.1
    Revision #3019
    Revision #3015.2.1
    Revision #3018
    Bug #787299
    Revision #3015.1.1
    Bug #787299
    Revision #3017
    Revision #3016
    Revision #2732.26.25
    Revision #3015
    Revision #3014
    MWL#90
    Revision #3013
    Revision #3012
    Revision #3011
    Revision #3010
    Revision #3009
    Revision #3006.1.4
    Revision #3008
    Revision #3007
    MWL#89
    Revision #2991.1.3
    MWL#89
    Revision #3006
    Revision #3005
    Revision #3004
    Revision #3003
    Bug #784723
    Revision #3002
    Bug #784723
    Revision #3001
    Bug #784723
    Revision #2982.1.2
    Bug #784723
    MariaDB 5.3.0
    1
    3
    4
    5
    6
    Revision #3039.1.1
    Revision #2502.1147.47
    Revision #2502.1147.46

    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.

    Distributions which Include MariaDB

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