Commit graph

64540 commits

Author SHA1 Message Date
Kristian Nielsen
6bf88cdd9d Merge branch 'mdev7818-4' into bb-10.0-knielsen 2015-11-13 14:08:38 +01:00
Kristian Nielsen
ba02550166 MDEV-7818: Deadlock occurring with parallel replication and FTWRL
Problem is that FLUSH TABLES WITH READ LOCK first blocks threads from
starting new commits, then waits for running commits to complete. But
in-order parallel replication needs commits to happen in a particular
order, so this can easily deadlock.

To fix this problem, this patch introduces a way to temporarily pause
the parallel replication worker threads. Before starting FTWRL, we let
all worker threads complete in-progress transactions, and then
wait. Then we proceed to take the global read lock. Once the lock is
obtained, we unpause the worker threads. Now commits are blocked from
starting by the global read lock, so the deadlock will no longer occur.
2015-11-13 14:02:15 +01:00
Sergei Petrunia
2776159e42 MDEV#7383: Update test results 2015-11-12 22:21:47 +03:00
Oleksandr Byelkin
7e4da9b370 DEV-8632 Segmentation fault on INSERT
View/derived fields should be taken into account when we build ref_pointer_array constructed.

DBUG_ASSERTs added to avoid memory overrun.
2015-11-09 16:08:06 +01:00
Sergei Petrunia
9f862ce026 MDEV#7383: engine-independent-stats column_stats has limited values for max/min values
Patch from Daniel Black:
- Change the charset of mysql.column_stats.{min_value, max_value} from
  utf8_bin varchar to varbinary
- Adjust the code that saves/reads the data accordingly.
- Also provide upgrade statement in mysql_system_tables_fix.sql
2015-11-09 17:58:35 +03:00
Jan Lindström
5d754fce95 MDEV-8854: New warning messages are unreadable
Improved warning messages by quote marks.
2015-11-09 09:24:52 +02:00
Harin Vadodaria
40ae1b9b61 Bug#21973610: BUFFER OVERFLOW ISSUES
post push fix : Fixing test failures
2015-11-07 22:03:47 +05:30
Oleksandr Byelkin
c88ca2c227 MDEV-8701 Crash on derived query
MDEV-8938 Server Crash on Update with joins

Make unique table check after setup_fields of update because unique table can materialize table and we do not need field resolving after materialization.
2015-11-06 17:56:56 +01:00
Oleksandr Byelkin
5041de97e1 MDEV-8701 Crash on derived query
Make unique table check after setup_fields of update because unique table can materialize table and we do not need field resolving after materialization.
2015-11-05 17:50:59 +01:00
Vladislav Vaintroub
245bfc52fc MDEV-8669 MTR client connections on Windows became much slower.
The regression is caused by change bind-address server parameter
in MDEV-8083, so now server listens on IPv4 only by default.

The problem however is that on Windows, connection to server on localhost
appears to be much faster, if server listens on IPv6/dual stack.
mysql_real_connect() would try to connect to IPv6 loopback  first,
and if this fails, the failing connect() call takes several seconds.

To fix, use bind-address=* on Windows, and 127.0.0.1 elsewhere
2015-11-03 17:41:06 +01:00
Oleksandr Byelkin
fa1438cbf4 MDEV-8913 Derived queries with same column names as final projection causes issues when using Order By
find_item_in_list() now recognize view fields like a fields even if they rever to an expression.
The problem of schema name do not taken into account for field with it and
derived table fixed.
Duplicating code removed
2015-10-30 14:51:17 +01:00
Alexander Barkov
59dd58b17e MDEV-8692 prefschema test failures on ARM (on Debian build system)
A few tests assumes that the CYCLE timer is always available,
which is not true on some platforms (e.g. ARM).
Fixing the tests not to reply on the CYCLE availability.
2015-10-30 10:10:43 +04:00
Shishir Jaiswal
1942506b82 DESCRIPTION
===========
When doing an upgrade, you execute mysql_upgrade. If
mysql_upgrade fails to connect or it connects with a user
without the proper privileges, it will return the error:

    FATAL ERROR: Upgrade failed

which is not very informative.

ANALYSIS
========

In main() and check_version_match(), the condition for
errors are clubbed together and throw the same error msg.
The functions need to be splitted up and the corresponding
error msgs have to be displayed.

FIX
===
Splitted the functions and added the specific error msg.
2015-10-29 13:35:32 +05:30
Sergei Golubchik
56f04e0dfd MDEV-9014 SHOW TRIGGERS not case sensitive
use table_alias_charset for comparing table names, not files_charset_info
2015-10-28 21:32:07 +01:00
Oleksandr Byelkin
d88aaaa841 MDEV-8525 mariadb 10.0.20 crashing when data is read by Kodi media center (http://kodi.tv).
Item_direct_view_ref maintains its own item_const() method so should use it when asked of temporary table field to be in sync with it.
2015-10-28 11:13:31 +01:00
Oleksandr Byelkin
b0e3f484f7 MDEV-8756 MariaDB 10.0.21 crashes during PREPARE
Non-select-like queries has no correct JOIN structure connected to top-most SELECT_LEX (and should not).
2015-10-28 10:06:30 +01:00
Sergey Vojtovich
ac67f9a42a Removed mistakenly committed test file. 2015-10-28 12:54:09 +04:00
Oleksandr Byelkin
ce1b450ab1 MDEV-7930 Assertion `table_share->tmp_table != NO_TMP_TABLE || m_lock_type != 2' failed in handler::ha_index_read_map
In optimizing aggregate function do not try to touch tables from outer
query.
2015-10-28 09:34:05 +01:00
Aditya A
e1ed331cea MDEV-8805 - Assertion `!m_ordered_rec_buffer' failed in
ha_partition::init_record_priority_queue()

Cherry-pick rev.6b0ee0c795499cee7f9deb649fb010801e0be4c2 from mysql-5.6.

Bug   BACKPORT BUG#18694052 FIX
               FOR ASSERTION `!M_ORDERED_REC_BUFFER'
               FAILED TO 5.6

PROBLEM
-------
Missed to remove record priority queue if
init_index failed for a partition which
was causing the crash.

FIX
---
Remove priority queue if init_index fails
for partition.
2015-10-28 12:09:55 +04:00
Jan Lindström
13884cf206 MDEV-8696: Adding indexes on empty table is slow with large innodb_sort_buffer_size.
Analysis: Current implementation will write and read at least one block
(sort_buffer_size bytes) from disk / index even if that block does not
contain any records.

Fix: Avoid writing / reading empty blocks to temporary files (disk).
2015-10-27 13:00:15 +02:00
Srikanth B R
a60740607c BUG#22084221 : TEST IMPROVEMENT FOR MAIN.EVENTS_1
Issue: main.events_1 will fail after 10-10-2015 due
         to hardcoded dates specified with events.
 Fix: Replace harcoded dates with current dates and offset.
2015-10-26 16:19:11 +05:30
Alexey Botchkov
c9185225cb MDEV-8358 ALTER TABLE .. ADD PRIMARY KEY IF NOT EXISTS -> ERROR 1068 (42000): Multiple primary key defined
Checks for multiple primary keys added.
2015-10-25 22:45:48 +04:00
Monty
d546d1cc13 Fixed MDEV-8408
Assertion `inited==INDEX' failed in int handler::ha_index_first(uchar*)

The crash was because errors from init_read_record_idx() was not taken care of.
2015-10-23 18:49:02 +03:00
Sergei Golubchik
6f0754789c MDEV-8614 Assertion `status == 0' failed in add_role_user_mapping_action on RENAME USER
don't forget to re-examine the current element when updating a HASH
2015-10-22 13:09:38 +02:00
Sergei Golubchik
956e92d908 MDEV-8609 Server crashes in is_invalid_role_name on reloading ACL with a blank role name
strip endspaces from the role name in the parser
because they'll be lost anyway when the name is stored
in the mysql.user.user column (of type CHAR)
2015-10-22 11:58:54 +02:00
Sergei Golubchik
27328ca1f4 add comment to a test 2015-10-22 10:27:36 +02:00
Sergei Golubchik
3e1c743d4a MDEV-7656 init_file option does not allow changing passwords
allow SET PASSWORD from  bootstrap and init-file
2015-10-22 07:23:59 +02:00
Michael Widenius
18f7dfed17 Allow mysql_upgrade to enable event after table is corrected
new features:
set event_scheduler=ON|OFF will now try to init event scheduler
if it's not enabled
set event_scheduler=default will try to enable it based on
the value of the event_scheduler when mysqld was started
2015-10-21 16:31:11 +03:00
Sergei Golubchik
0d90b8bed2 Merge branch '5.5' into 10.0 2015-10-21 14:59:36 +02:00
Sergei Golubchik
df80420865 fix events_1 test for October 2015
cherry-picked 7454f1c5 from 10.1
2015-10-21 14:57:56 +02:00
Oleksandr Byelkin
9a3ff0789f MDEV-8565: COLUMN_CHECK fails on valid data
Check allows zero lengts int/uint now.
2015-10-19 12:15:49 +02:00
Terje Røsten
74a503b4ce BUG#22024764 MAIN.EVENTS_1 FAILS BECAUSE IT USES ENDDATE OF 20151010
Move date 10 years forward to let test pass for some more years.
2015-10-16 09:56:09 +02:00
Arun Kuruvila
a86191c69c Bug : THE --ENABLE-CLEARTEXT-PLUGIN IS NOT
IMPLEMENTED IN ALL CLIENT PROGRAMS

Description: Option "enable-cleartext-plugin" is not
available for the following client utilities:-
mysqldump
mysqlimport
mysqlshow
mysqlcheck

Analysis: The unavailability of this option limits the
features like PAM authentication from using the above
mentioned utilities.

Fix: Option "enable-cleartext-plugin" is implemented in the
above mentioned client utilities.
2015-10-14 12:00:39 +05:30
Mithun C Y
f92dd6ae6f Bug : HANDLE_FATAL_SIGNAL (SIG=11) IN UPDATE_REF_AND_KEYS.
Issue:
======
The fulltext predicate is inside a subquery and involves
an outer reference; it thus cannot be used for FT index look-up,
but MySQL does not see it, which causes a illegal access.

Solution:
=========
Solution is backported from bug#21140088. Outer reference can
not be used as argument of the MATCH function. Added check for
outer reference.
2015-10-12 12:56:36 +05:30
Nirbhay Choubey
978c2a37c0 MDEV-7640: CHANGE MASTER TO doesn't work with prepared statements
When CHANGE MASTER was executed as a PS, its attributes were wrongly
getting reset toward the end of PREPARE. As a result, the subsequent
executions had no effect. Fixed by making sure that the CHANGE MASTER
attributes are preserved during the lifetime of the PS.
2015-10-11 17:21:51 -04:00
Nirbhay Choubey
151f967380 MDEV-7640: CHANGE MASTER TO doesn't work with prepared statements
When CHANGE MASTER was executed as a PS, its attributes were wrongly
getting reset toward the end of PREPARE. As a result, the subsequent
executions had no effect. Fixed by making sure that the CHANGE MASTER
attributes are preserved during the lifetime of the PS.
2015-10-11 17:06:03 -04:00
Sergei Golubchik
e7cb032e56 fixes for buildbot:
* update *.result files
* fix XtraDB for Windows (again)
2015-10-10 11:07:29 +02:00
Sergei Golubchik
2ca4141af1 Merge branch 'merge-perfschema-5.6' into 10.0 2015-10-09 18:24:17 +02:00
Sergei Golubchik
1b41eed5d1 5.6.27 2015-10-09 17:22:53 +02:00
Sergei Golubchik
cfeedbfd3e Merge branch '5.5' into 10.0 2015-10-09 17:12:26 +02:00
Sergei Golubchik
16c4b3c68b fixes for buildbot:
* OSX (mysqlimport freeing unallocated memory)
* Windows (didn't compile MSI)
* fulltest2 (innodb crashes in --embedded --big)
2015-10-09 16:43:59 +02:00
Sergei Golubchik
0ea42333d3 remove --default-myisam from mtr
it was never doing anything anyway
2015-10-09 12:46:55 +02:00
Sergei Golubchik
82e9f6d948 Merge remote-tracking branch 'mysql/5.5' into 5.5 2015-10-08 22:54:24 +02:00
Sergei Golubchik
c8d511293a MDEV-8796 Delete with sub query with information_schema.TABLES deletes too many rows
make_cond_for_info_schema() does preserve outer fields
2015-10-08 10:01:43 +02:00
Monty
6dd41145ac Better error messages if slave is not properly configured 2015-10-08 10:45:32 +03:00
Monty
ca051fa027 Allow row events in replication stream for slave in all cases
(even when configured with --binlog-format=statement).
Before we got an error on the slave and the slave stopped if the master
was configured with --binlog-format=mixed or --binlog-format=row.
2015-10-08 10:16:35 +03:00
Sergei Petrunia
1289794799 Fix for MDEV-8321, MDEV-6223
EXPLAIN INSERT ... SELECT tried to use SELECT's execution path. This
caused a collection of problems:
- SELECT_DESCRIBE flag was not put into select_lex->options, which
  means it was not in JOIN::select_options either (except for the first
  member of the UNION).
- This caused UNION members to be executed. They would attempt to write
  join output rows to the output.
- (Actual cause of the crash) second join sibling would call
  result->send_eof() when finished execution. Then,
  Explain_query::print_explain would attempt to write to query output
  again, and cause an assertion due to non-empty query output.
2015-10-06 15:54:37 +03:00
Oleksandr Byelkin
54b998173b MDEV-7846: Server crashes in Item_subselect::fix_fields or fails with Thread stack overrun
Substitute into transformed subselects original left expression and than register its change in case it was substituted.
2015-10-06 13:12:58 +02:00
Oleksandr Byelkin
0ab93fd6f3 MDEV-7445:Server crash with Signal 6
MDEV-7565: Server crash with Signal 6 (part 2)

followup test suite and its fix.
2015-10-06 13:12:58 +02:00
Oleksandr Byelkin
2e3e818048 MDEV-7445: Server crash with Signal 6
Problem was in rewriting left expression which had 2 references on it. Solved with making subselect reference main.

Item_in_optimized can have not Item_in_subselect reference in left part so type casting with no check is dangerous.

Item::cols() should be checked after Item::fix_fields().
2015-10-06 13:12:58 +02:00