summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* MDEV-16166 RBR breaks with HA_ERR_KEY_NOT_FOUND upon DELETE from table...bb-5.5-16166sachin2018-07-123-1/+33
| | | | | | | | with spatial index So the issue is since it is spatial index , at the time of searching index for key (Rows_log_event::find_row) we use wrong field image we use Field::itRAW while we should be using Field::itMBR
* MDEV-15982: Incorrect results when subquery is materializedSergei Petrunia2018-07-113-1/+102
| | | | | | fix_semijoin_strategies_for_picked_join_order() should set join->sjm_lookup_tables to be a bitmap of tables inside SJ-Materialization-Lookup nests.
* MDEV-16307: Incorrect results when using BNLH join instead of BNL join with ↵Varun Gupta2018-07-103-2/+65
| | | | | | | | views In this issue we are using derived_with_keys optimization and we are using these keys to do a hash join which is incorrect. We cannot create keys for dervied tables whose keyparts have types are of BLOB or TEXT type. TEXT or BLOB columns can only be indexed over a specified length.
* MDEV-16603 Crash with set join_cache_level=4Igor Babaev2018-06-293-2/+66
| | | | | | | When the definition of the index used for hash join was created in create_hj_key_for_table() it could cause memory overwrite due to a bug that led to an underestimation of the number of the index component.
* MDEV-8540 - Crash on server shutdown since 10.0.16Sergey Vojtovich2018-06-271-5/+5
| | | | | | | | | For the purpose of reporting an error to error log, shutdown thread was attempting to access current_thd->variables.lc_messages->errmsgs->errmsgs. Whereas current_thd was NULL. We should log errors according to global lc_messages setting instead of session setting.
* Fixed MDEV-16512, crashing on re-execution of failing SPMichael Widenius2018-06-274-8/+102
| | | | | | | | | | | | | | | | | | | | | MDEV-16512 Server crashes in find_field_in_table_ref on 2nd execution of SP referring to non-existing field Problem was in the natural join code that it changed TABLE_LIST and Item_fields but didn't restore changed things if things goes wrong and was not able to re-execute after failure. Some of the problems could have been avoided if we would have run fix_fields before doing natural join transformations. Fixed by marking functions complete AFTER they had executed, instead at start. I had also to change some tests that checked if Item_fields are usable. This doesn't fix all known problems, but at least avoids some crashes. What should be done in the near future is to mark the statement in the SP as 'not re-executable' and force a reparse of it on next execution. Reviewer: Sergei Petrunia <psergey@askmonty.org>
* Added more help text in case mysql_install_db fails.Michael Widenius2018-06-271-0/+5
|
* Added valgrind suppression for OpenSuse 42.2Michael Widenius2018-06-271-0/+13
|
* A test cleanup for MDEV-15834: fixing failure in "mtr --embedded"Alexander Barkov2018-06-261-0/+2
|
* Fix unit suite on Windows and in out-of-source buildsSergei Golubchik2018-06-211-3/+4
|
* Revert "MDEV-16075: Workaround to run MTR test suite for make test"Sergei Golubchik2018-06-204-7/+3
| | | | | | | | | This reverts commit d39629f01ebdd5b89186e6c8a4a8d3dd528bd26a. Because running mtr for many hours with no output whatsoever is not really what we should do. And in 5.5 `make test` just works anyway, nothing to fix here.
* MDEV-16534 PPC64: Unexpected error with a negative value into auto-increment ↵Alexander Barkov2018-06-209-3/+165
| | | | columns in HEAP, MyISAM, ARIA
* MDEV-15834 The code in TABLE_SHARE::init_from_binary_frm_image() is not safeAlexander Barkov2018-06-194-1/+31
|
* MDEV-15113: Hang in Aria loghandlerOleksandr Byelkin2018-06-121-32/+187
| | | | | Added unregistering writers in case of log error. Added more debugging control about adding/removing writers to the buffers.
* MDEV-16235 Server crashes in my_utf8_uni or in my_strtod_int uponIgor Babaev2018-06-115-4/+24
| | | | | | SELECT .. LIMIT 0 (new variant) This is another attempt to fix the problem of mdev-14515.
* MDEV-15729 Server crashes in Field::make_field upon HANDLER READ executed ↵Sergei Golubchik2018-06-113-0/+21
| | | | | | | | | with PS protocol update table->pos_in_table_list during prepare, just like it's done in normal execution. otherwise it'll be a dangling pointer
* mysqltest: Allow HANDLER READ in --ps-protocol testsSergei Golubchik2018-06-116-4/+7
| | | | adjust tests
* MDEV-16342 SHOW ENGINES: MyISAM description is uselessSergei Golubchik2018-06-1111-11/+11
| | | | rewrite tautological engine descriptions
* MDEV-15021: mysqldump --tables --routines generates non importable dump fileRutuja Surve2018-06-103-6/+43
| | | | | | The order of outputting stored procedures is important. Stored procedures must be available on view creation, for views which make use of them. Make sure to print them before outputting tables.
* MDEV-15778: Remove packed attr from omt_ and subtree_ classesTeodor Mircea Ionita2018-06-101-4/+4
| | | | Undo the revert that happened by mystake in commit 7fca4b50ffbe750532cfcdb95bcd425ec1b8e22b.
* Make TokuDB compile with GCC-8Vicențiu Ciorbaru2018-06-104-4/+10
| | | | | | | | | | | | GCC-8 introduced multiple warnings and increased the level of strictness. * -Wshadow will warn if a local variable shadows a typedef. * GCC will also warn when memsetting a non-trivial type. In this case a non-trivial type can not have a custom constructor. For all intents and purposes, the class is trivially-copyable. * GCC will also warn if you use too many paranthesses which are not necessary
* Revert "MDEV-15778: Remove packed attr from omt_ and subtree_ classes"Vicențiu Ciorbaru2018-06-101-4/+4
| | | | This reverts commit 1735fa340a9d7ca8683f18fe2ecc148423e78ba7.
* MDEV-16075: Workaround to run MTR test suite for make testTeodor Mircea Ionita2018-06-104-3/+7
| | | | | | | | | | | Assign all tests added via MY_ADD_TEST to a bogus default_ignore target, so that they are not ran by default when doing bare make test. Add default test named MTR that calls mysql-test-run suite, which is now the single test run by make test. In consequence, modified unit/suite.pm to exclude the MTR test and run the real ctests flagged for default_ignore target, thus no circular loop.
* Also ignore macOS .DS_Store Finder junk.Teodor Mircea Ionita2018-06-101-0/+3
|
* Ignore .cbp QtCreator && CodeBlocks project filesTeodor Mircea Ionita2018-06-101-0/+3
|
* MDEV-15778: Remove packed attr from omt_ and subtree_ classesTeodor Mircea Ionita2018-06-101-4/+4
| | | | | | | | This is happening because they are declared as packed and clang has -Waddress-of-packed-member when passing the address of a packed member, a legit concern on different architectures. The easiest way to get rid of the errors is to remove the packed attribute from said structs.
* MDEV-15778: Manually backport TokuDB macOS fixes from 10.0Teodor Mircea Ionita2018-06-104-3/+20
| | | | | | | | | | | | | | Fix build on macOS 10.13: 39dceaae607 MDEV-10983: TokuDB does not compile on OS X 10.12 Make use of a different function to get the current tid. Additionally, librt doesn't exist on OS X. Use System library instead. storage/tokudb/PerconaFT/cmake_modules/TokuFeatureDetection.cmake | 4 +++- storage/tokudb/PerconaFT/portability/portability.cc | 9 ++++++++- storage/tokudb/PerconaFT/portability/tests/test-xid.cc | 9 ++++++++- storage/tokudb/PerconaFT/portability/toku_config.h.in | 1 + 4 files changed, 20 insertions(+), 3 deletions(-)
* MDEV-15789 - mysqlslap use incorrect table defChris Calender2018-06-073-2/+13
| | | | | | | | | | | | | | | The bug arises when one uses --auto-generate-sql-guid-primary (and --auto-generate-sql-secondary-indexes) with mysqlslap and also have sql_mode=STRICT_TRANS_TABLE. When using this option, mysqlslap should create a column with varchar(36), but it appears to create it as a varchar(32) only. Then if one has sql_mode=STRICT_TRANS_TABLES, it throws an error, like: mysqlslap: Cannot run query INSERT INTO t1 VALUES (...) ERROR : Data too long for column 'id' at row 1 Upstream bug report: BUG#80329.
* Catch of OOM situation.Oleksandr Byelkin2018-06-062-0/+5
|
* MDEV-10246 ssl-* config file options have no effect without mysql_ssl_set()Vladislav Vaintroub2018-06-051-0/+4
| | | | | | | | Partially revert 4ef74979969ac9339d0d42c11a6f26632e6776f1 that caused regression. Any ssl- option must imply use_ssl=1, even if mysql_set_ssl() was not used.
* MDEV-16225: wrong resultset from query with semijoin=onVarun Gupta2018-06-023-26/+119
| | | | | | | | | | For non-semi-join subquery optimization we do a cost based decision between Materialisation and IN -> EXIST transformation. The issue in this case is that for IN->EXIST transformation we run JOIN::reoptimize with the IN->EXISt conditions and we come up with a new query plan. But when we compare the cost with Materialization, we make the decision to chose Materialization so we need to restore the query plan for Materilization. The saving and restoring for keyuse array and join_tab keyuse is only done when we have atleast one element in the keyuse_array , we are now changing to do it even for 0 elements to main the generality.
* mtr: use process launch -- args to start mysqld in lldbTeodor Mircea Ionita2018-05-231-1/+1
| | | | | gdb's "set args" equivalent for lldb would be "settings set target.run-args", however it doesn't play well with double dashed args (--).
* MDEV-16235 Server crashes in my_utf8_uni or in my_strtod_intIgor Babaev2018-05-226-7/+46
| | | | | | | | | upon SELECT .. LIMIT 0 The code must differentiate between a SELECT with contradictory WHERE/HAVING and one with LIMIT 0. Also for the latter printed 'Zero limit' instead of 'Impossible where' in the EXPLAIN output.
* MDEV-16220 MTR - do not pass UTF8 on the command line for mysql client.Vladislav Vaintroub2018-05-186-23/+68
| | | | | | | It should work ok on all Unixes, but on Windows ,only worked by accident in the past, with client not being Unicode safe. It stopped working with Visual Studio 2017 15.7 update now.
* MDEV-15318 CREATE .. SELECT VALUES produces invalid table structureSergei Golubchik2018-05-173-4/+23
| | | | | | When Item_insert_value needs a dummy field, use zero-length Field_string, not Field_null. The latter isn't compatible with CREATE ... SELECT.
* (almost) sane core handling in mtrSergey Vojtovich2018-05-161-36/+45
| | | | | | | | | | Analyze core independently of max-save-datadir and max-save-core setting. Increment $num_saved_cores only if core was actually saved. "Move any core files from e.g. mysqltest" independently of max-save-datadir setting. Note: it may overwrite core from mysqld, which might not be desired (it did work this way even before).
* MDEV-654 Assertion `share->now_transactional' failed in flush_log_for_bitmap ↵Monty2018-05-152-0/+9
| | | | | | | | on concurrent workload with Aria tables Problem was that we the bitmap needs to be flushed before disabling logging of redo entires, as writing the bitmap to disk by background checkpoint may cause redo entries.
* MDEV-15480 Audit plugin does not respect QUERY_DML for audit plugin.Alexey Botchkov2018-05-103-4/+44
| | | | QUERY_DML_NO_SELECT flag added.
* protocol: verify that number of rows is correctSergei Golubchik2018-05-041-7/+15
|
* Use after free in authenticationSergei Golubchik2018-05-014-2/+20
|
* Bug#25471090: MYSQL USE AFTER FREESergei Golubchik2018-04-301-2/+2
| | | | a better fix
* Bug#25471090: MYSQL USE AFTER FREESergei Golubchik2018-04-271-1/+1
| | | | | | fix another similar line followup for 7828ba0df488
* MDEV-15035 Wrong results when calling a stored procedureIgor Babaev2018-04-2510-15/+130
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | multiple times with different arguments. If the ON expression of an outer join is an OR formula with one of the disjunct being a constant formula then the expression cannot be null-rejected if the constant formula is true. Otherwise it can be null-rejected and if so the outer join can be converted into inner join. This optimization was added in the patch for mdev-4817. Yet the code had a defect: if the query was used in a stored procedure with parameters and the constant item contained some of them then the value of this constant item depended on the values of the parameters. With some parameters it may be true, for others not. The validity of conversion to inner join is checked only once and it happens only for the first call of procedure. So if the parameters in the first call allowed the conversion it was done and next calls used the transformed query though there could be calls whose parameters made the conversion invalid. Fixed by cheking whether the constant disjunct in the ON expression originally contained an SP parameter. If so the expression is not considered as null-rejected. For this check a new item's attribute was intruduced: Item::with_param. It is calculated for each item by fix fields() functions. Also moved the call of optimize_constant_subqueries() in JOIN::optimize after the call of simplify_joins(). The reason for this is that after the optimization introduced by the patch for mdev-4817 simplify_joins() can use the results of execution of non-expensive constant subqueries and this is not valid.
* MDEV-13699: Assertion `!new_field->field_name.str || ↵Oleksandr Byelkin2018-04-254-8/+98
| | | | | | | | strlen(new_field->field_name.str) == new_field->field_name.length' failed in create_tmp_table on 2nd execution of PS with semijoin The problem was that SJ (semi-join) used secondary list (array) of subquery select list. The items there was prepared once then cleaned up (but not really freed from memory because it was made in statement memory). Original list was not prepared after first execution because select was removed by conversion to SJ. The solution is to use original list but prepare it first.
* bump the VERSIONDaniel Bartholomew2018-04-231-1/+1
|
* Merge branch 'merge/merge-xtradb-5.5' into 5.5mariadb-5.5.60Sergei Golubchik2018-04-202-3/+3
|\
| * 5.5.59-38.11Sergei Golubchik2018-04-202-8/+11
| |
* | Bug#25471090: MYSQL USE AFTER FREESergei Golubchik2018-04-191-1/+1
| | | | | | | | in a specially crafted invalid packet, one can get end_pos < pos here
* | BUG#27216817: INNODB: FAILING ASSERTION: ↵Sergei Golubchik2018-04-196-0/+76
| | | | | | | | | | | | | | | | | | PREBUILT->TABLE->N_MYSQL_HANDLES_OPENED == 1 disable online alter add primary key for innodb, if the table is opened/locked more than once in the current connection (see assert in ha_innobase::add_index())
* | BUG#26881798: SERVER EXITS WHEN PRIMARY KEY IN MYSQL.PROC IS DROPPEDSergei Golubchik2018-04-192-0/+16
| | | | | | | | test case