Commit graph

174556 commits

Author SHA1 Message Date
Sergei Golubchik
470f2598cc MDEV-10465 general_log_file can be abused
This issue was discovered by
Dawid Golunski (http://legalhackers.com)
2016-08-03 20:56:24 +02:00
Sergei Golubchik
0214115c7f trivial cleanup 2016-08-03 20:53:10 +02:00
Sergei Golubchik
03dec1aa49 MDEV-10350 "./mtr --report-features" doesn't work
removed
2016-08-03 20:53:04 +02:00
Sergei Golubchik
9d2f892999 MDEV-7329 plugins.pam_cleartext fails sporadically in buildbot
wait until the failed connection thread completely dies
before uninstalling pam plugin
2016-08-03 20:52:58 +02:00
Sergei Golubchik
75891eda11 improve pam_cleartext.test a bit 2016-08-03 20:52:50 +02:00
Sergei Golubchik
5265243cc4 Merge branch 'merge/merge-xtradb-5.5' into 5.5 2016-08-03 20:44:08 +02:00
Sergei Golubchik
e316c46f43 5.5.50-38.0 2016-08-03 20:43:29 +02:00
Sergei Golubchik
19fe10c3e9 MDEV-6581 Writing to TEMPORARY TABLE not possible in read-only
don't mark transactions read-write if no real storage engine is affected (only binlog writes).
2016-08-03 20:39:47 +02:00
Sergei Golubchik
a350e53b61 Merge branch 'mysql/5.5' into 5.5
without a fix for Bug#12818255 (MDEV-6581)
2016-08-03 20:38:25 +02:00
Vladislav Vaintroub
511313b9d6 MDEV-10010 - potential deadlock on windows due to recursive
SRWLock acquisition

Backport patch from 10.1
2016-08-03 13:42:46 +00:00
Vladislav Vaintroub
141f88d1d5 MDEV-10357 my_context_continue() does not store current fiber on Windows
Make sure current fiber is saved in my_context::app_fiber
in both my_context_spawn() and my_context_continue()
2016-08-03 12:41:38 +00:00
Alexander Barkov
ecb7ce7844 MDEV-10467 Assertion `nr >= 0.0' failed in Item_sum_std::val_real()
Backporting MDEV-5781 from 10.0.
2016-08-03 15:55:48 +04:00
Jan Lindström
35c9c85634 MDEV-10217: innodb.innodb_bug59641 fails sporadically in buildbot: InnoDB: Failing assertion: current_rec != insert_rec in file page0cur.c line 1052
Added record printout when current_rec == insert_rec with lengths for
debug builds.
2016-08-03 13:46:01 +03:00
Kailasnath Nagarkar
322afb2c0a Bug #19984392 : MEDIUMINT: STACK BUFFER OVERFLOW IN PROTOCOL_TEXT::STORE_LONG
ISSUE: Queries with mediumint as column when operated with
long long type of data results in buffer overflow in
store_long function.

The merging rule specified for (MYSQL_TYPE_LONGLONG
MYSQL_TYPE_INT24) is MYSQL_TYPE_LONG. Due to this store_long
function was getting called which resulted in buffer overflow.

SOLUTION:
The correct merging rule for (MYSQL_TYPE_LONGLONG,
MYSQL_TYPE_INT24) should be MYSQL_TYPE_LONGLONG.
So, instead of function store_long, function store_longlong
is called which correctly handles the type MYSQL_TYPE_LONGLONG.

External Bug #23645238 is a duplicate of this issue.
2016-08-03 12:54:58 +05:30
Sreeharsha Ramanavarapu
8bb95e9a97 Bug #24380263: INCORRECT BEHAVIOR WITH PARAMETER AND
DERIVED TABLE IN JOIN

ISSUE:
------
This problem occurs under the following conditions:
1) A parameter is used in the select-list of a derived table.
2) The derived table is part of a JOIN.

SOLUTION:
---------
When a derived table is materialized, a temporary table is
created. This temporary table creates a field each for the
items in the select-list of the derived table. This set of
fields is later used to setup the join.

Currently no field is created in the temporary table if a
parameter is used in the select-list.

Create a field for the parameter. By default Item_param's
result type in a prepared statement is set to
STRING_RESULT. This can change during the execute phase
depending on the user variable. But since the execute phase
creates its own temporary table, it will be handled
separately.

This is a backport of the fix for BUG#22392374.
2016-08-03 09:58:36 +05:30
Vladislav Vaintroub
6b71a6d2d9 MDEV-10383 Named pipes : multiple servers can listen on the same pipename
Use FILE_FLAG_FIRST_PIPE_INSTANCE with the first CreateNamedPipe()
call to make sure the pipe does not already exist.
2016-08-02 18:52:51 +02:00
Sergey Vojtovich
b5fb2a685b Fixed main.contributors failure 2016-08-02 14:30:21 +04:00
Jan Lindström
a8c2f68fb8 Merge pull request #208 from Cona19/10.1-remove-unnecessary-semicolon
Remove unnecessary semicolon
2016-08-02 09:53:41 +03:00
Sergey Vojtovich
246866dcf3 Merge pull request #207 from iangilfillan/10.0
Update contributors
2016-08-02 10:32:48 +04:00
Nirbhay Choubey
ed48fcf177 MDEV-10478: Trx abort does not work in autocommit mode
THD's statement transaction handle (st_transactions::stmt)
should also be looked for registered htons while serving a
request to abort a transaction.
2016-08-01 17:02:28 -04:00
Sergei Petrunia
84a9e05003 MDEV-10470: main.derived fails, buildbot is broken
- Update test result (checked)
2016-08-01 12:19:29 +03:00
Hyeonseok Oh
558c8ce0f0 Remove unnecessary semicolon 2016-08-01 12:13:14 +09:00
Oleksandr Byelkin
5fdb3cfcd4 MDEV-10419: crash in mariadb 10.1.16-MariaDB-1~trusty
Fixed initialization and usage of THD reference in subselect engines.
2016-07-30 20:13:03 +02:00
Sergei Petrunia
c6aaa2adbe MDEV-10228: update test results 2016-07-30 10:53:01 +03:00
Nawaz Nazeer Ahamed
ffc8698911 Merge branch 'mysql-5.5.51-release' into mysql-5.5 2016-07-29 16:46:56 +05:30
Nirbhay Choubey
67480fc5fd MDEV-10429: sys_vars.sysvars_wsrep fails in buildbot on host 'work' (valgrind builder)
- Fixed the test
- Improved comment for wsrep_drupal_282555_workaround
2016-07-28 15:49:59 -04:00
Nirbhay Choubey
b522c71e4b MDEV-10396: MariaDB does not restart after upgrade on debian 8
During wsrep position recovery, galera_recovery.sh script
redirected mysqld's error log to a temporary file in order
to find the start position. This, however, will not work
if --log-error is configured for the server.

Fixed by using --log-error in command line instead of
redirection.

[Patch contributed by Philippe MARASSE]
2016-07-27 17:38:38 -04:00
Sergei Petrunia
a63ceaeab1 MDEV-10389: Query returns different results on a debug vs non-debug build
The problem was caused by a merged semi-join, which contained a non-merged
semi-join, which used references to the top-level query in the left_expr.

When moving non-merged semi-join from the subquery to its parent, do not
forget to call fix_after_pullout for its Item_subselect. We need to do
that specifically, because non-merged semi-joins do not have their
IN-equality in the WHERE clause at this stage.
2016-07-27 17:06:29 +03:00
iangilfillan
5d0dfcbecb Update contributors 2016-07-27 15:29:32 +02:00
Sergei Petrunia
15ef38d2ea MDEV-10228: Delete missing rows with OR conditions
Fix get_quick_keys(): When building range tree from a condition
in form

  keypart1=const AND (keypart2 < 0 OR keypart2>=0)

the SEL_ARG for keypart2 represents an interval (-inf, +inf).
However, the logic that sets UNIQUE_RANGE flag fails to recognize
this, and sets UNIQUE_RANGE flag if (keypart1, keypart2) covered
a unique key.
As a result, range access executor assumes the interval can have
at most one row and only reads the first row from it.
2016-07-27 00:38:51 +03:00
Vladislav Vaintroub
9f211d4956 MDEV-10314 : wsrep_client_thread was not set in threadpool.
Fixed threadpool_add_connection to use thd_prepare_connection()
to match thread-per-conection flow.
2016-07-25 21:55:02 -04:00
Nirbhay Choubey
963673e7af MW-292: Fix test case 2016-07-25 21:52:02 -04:00
Philip Stoev
e57287866f Galera MTR Tests: Test case for MW-292 : NOW() returns stale timestamp after transaction replay 2016-07-25 21:38:09 -04:00
Daniele Sciascia
7431368eaf MW-292 Reset timestamp after transaction replay
Transaction replay causes the THD to re-apply the replication
events from execution, using the same path appliers do. While
applying the log events, the THD's timestamp is set to the
timestamp of the event.
Setting the timestamp explicitly causes function NOW() to
always the timestamp that was set. To avoid this behavior we
reset the timestamp after replaying is done.
2016-07-25 21:37:15 -04:00
Nirbhay Choubey
cbc8a84fa2 MW-267 Enforce wsrep_max_ws_size limit in wsrep provider
Update test results.
2016-07-25 11:51:21 -04:00
Daniele Sciascia
74f80b3499 MW-267 Enforce wsrep_max_ws_size limit in wsrep provider
This changes variable wsrep_max_ws_size so that its value
is linked to the value of provider option repl.max_ws_size.
That is, changing the value of variable wsrep_max_ws_size
will change the value of provider option repl.max_ws_size,
and viceversa.
The writeset size limit is always enforced in the provider,
regardless of which option is used.
2016-07-25 11:44:57 -04:00
Daniele Sciascia
5197fcf6b4 MW-269 Fix outstanding issues with wsrep_max_ws_rows
This patch includes two fixes:

1) Rollback when wsrep_max_ws_rows is exceeded would not switch
back to previous autocommit mode; and 2) Internal rows counter
would not be reset on implicit commits.
2016-07-25 11:24:23 -04:00
Neha Kumari
a63a250d40 BUG#23509275 :DBUG_PRINT in THD::decide_logging_format prints incorrectly, access out-of-bound
Problem:
In debug builds, there is a chance that an out-of-bounds
read is performed when tables are locked in
LTM_PRELOCKED_UNDER_LOCK_TABLES mode. It can happen because
the debug code uses enum values as index for an array of
mode descriptions, but it only takes into consideration 3
out of 4 of the enum values.

Fix:
This patch fixes it by implementing a getter for the enum which
returns a string representation of the enum,
effectively removing the out-of-bounds read.

Moreover, it also fixes the lock mode descriptions that
would be print out in debug builds.
2016-07-25 20:34:20 +05:30
Thayumanavar S
2674cf91c5 BUG#23703568 - IS CLIENT LIBRARY SUPPOSED TO RETRY EINTR INDEFINITELY OR NOT
Commit#ebd24626ca38e7fa1e3da2acdcf88540be70fabe obsoleted the THREAD and
THREAD_SAFE_CLIENT preprocessor symbols. This is not removed in the
sql/net_serv.cc thereby the code that retries on EINTR became dead code.
Remove the THREAD_SAFE_CLIENT preprocessor directive form sql/net_serv.cc.
Also check errno for EINTR only if there is an error in preceding read call.
2016-07-25 07:43:16 +02:00
Elena Stepanova
df4fddb896 MDEV-10428 main.information_schema_stats fails sporadically in buildbot
Resultsets which contain more than one row need to be sorted
2016-07-25 01:57:00 +03:00
Rik Prohaska
2f5ae0fbe7 MDEV-10412 fix WITH_ASAN option for 10.1 2016-07-24 10:06:18 -04:00
Oleksandr Byelkin
a52d3aa831 MDEV-10045: Server crashes in Time_and_counter_tracker::incr_loops
Do not set 'optimized' flag until whole optimization procedure is finished.
2016-07-22 17:35:39 +02:00
Arun Kuruvila
fd31eea949 Bug #23295288: HANDLE_FATAL_SIGNAL (SIG=11) IN
GET_SERVER_FROM_TABLE_TO_CACHE

Description:- Server received SIG11 in the function,
"get_server_from_table_to_cache()".

Analysis:- Defining a server with a blank name is not
handled properly.

Fix:- Modified "get_server_from_table_to_cache()" to
take care of blank server name.
2016-07-22 13:15:32 +05:30
Sreeharsha Ramanavarapu
ac460e584d Bug #23280699: MYSQLD GOT SIGNAL 11 IN IS_NULL ON SELECT
FROM I_S

Issue:
------
There is a difference in the field type created when the
following DDLs are used:

1) CREATE TABLE t0 AS SELECT NULL;
2) CREATE TABLE t0 AS SELECT GREATEST(NULL,NULL);

The first statement creates field of type Field_string and
the second one creates a field of type Field_null.

This creates a problem when the query mentioned in this bug
is used. Since the null_ptr is calculated differently for
Field_null.

Solution:
---------
When there is a function returning null in the select list
as mentioned above, the field should be of type
Field_string.

This was fixed in 5.6+ as part of Bug#14021323. This is a
backport to mysql-5.5.

An incorrect comment in innodb_bug54044.test has been
corrected in all versions.
2016-07-22 07:33:43 +05:30
Daniel Black
e6a64e8f0e MDEV-10294: MTR using --valgrind-option to specify a tool / fixing callgrind [10.1] (#200)
* MDEV-10294: Put testname into environment as MTR_TEST_NAME during MTR

* MDEV-10294: restructure mtr to allow --valgrind-option=--tool=XXX

* MDEV-10294: mtr valgrind - supressions all tools + feedback
2016-07-22 02:19:35 +03:00
Sergey Vojtovich
1b5da2ca49 MDEV-10316 - main.type_date fails around midnight sporadically
A better fix for MySQL Bug#41776: use hard timestamp rather than unreliable
sleep.
2016-07-21 15:44:58 +04:00
Nirbhay Choubey
e373f60fd1 MW-265 Add support for wsrep_max_ws_rows
Update test results.
2016-07-20 18:12:17 -04:00
Daniele Sciascia
3db92ee433 MW-265 Add support for wsrep_max_ws_rows
Variable wsrep_max_ws_rows limits the number of rows that a transaction
can insert/update/delete.
2016-07-19 21:06:42 -04:00
Vladislav Vaintroub
f0386598dd MDEV-10314 : wsrep_client_thread was not set in threadpool.
Fixed threadpool_add_connection to use thd_prepare_connection()
to match thread-per-conection flow.
2016-07-19 20:44:02 +00:00
Chaithra Gopalareddy
54e887b2fe Bug#23280059: ITEM_ROW::ILLEGAL_METHOD_CALL(CONST CHAR*):
ASSERTION `0' FAILED ON SELECT AREA

Problem:
Optimizer tries to get the points to calculate area without
checking the return value of uint4korr for 0 "points". As a
result server exits.

Solution:
Check the return value from uint4korr().
2016-07-19 08:03:09 +05:30