Commit graph

167599 commits

Author SHA1 Message Date
Shaohua Wang
93e6f38886 Followup:BUG#22530768 Innodb freeze running REPLACE statements
Go back to __sync_* operations in TAS on x86.

Patch is reviewed by Sunny over IM.
2016-01-27 09:45:48 +08:00
Jon Olav Hauglid
a204ce5b3f Bug#21770366 backport bug#21657078 to 5.5 and 5.6
Post-push fix: The problem was that condition variable
timeouts could in some cases (slow machines and/or short
timeouts) be infinite.

When the number of milliseconds to wait is computed, the
end time is computed before the now() time. This can result
in the now() time being later than the end time, leading to
negative timeout. Which after conversion to unsigned becomes
~infinite.

This patch fixes the problem by explicitly checking if we
get negative timeout and then using 0 if this is the case.
2016-01-26 09:18:10 +01:00
Deepthi Eranti_Sreenivas
1624c26d42 Bug#22086528: TEST CODE DISABLED THOUGH THE HISTORIC REASONS - BUGS - ARE FIXED
Post push fix for 5.5 and 5.6.Disabled the test code due to Bug#22587377
2016-01-22 16:51:21 +05:30
Deepthi Eranti_Sreenivas
7d19d4b2dd Bug#22086528 : TEST CODE DISABLED THOUGH THE HISTORIC REASONS - BUGS - ARE FIXED
Problem:
mysql-test/suite/rpl/t/rpl_killed_ddl.test

This test contains code which was disabled because of certain bugs.
BUG#44041 declared to be a duplicate of Bug#45516 which was fixed 2010
BUG#43353 fixed 2012
BUG#44171 fixed 2010

Fix:
Enabled the test code related to the above mentioned bugs.
2016-01-20 18:23:16 +05:30
Daniel Black
3e5724f3bb Add va_end to make cppcheck happy 2016-01-19 14:47:41 +11:00
Knut Anders Hatlen
95825fa28a Bug#21682356: STOP INJECTING DATA ITEMS IN AN ERROR MESSAGE
GENERATED BY THE EXP() FUNCTION

When generating the error message for numeric overflow, pass a flag to
Item::print() that prevents it from expanding constant expressions and
parameters to the values they evaluate to.

For consistency, also pass the flag to Item::print() when
Item_func_spatial_collection::fix_length_and_dec() generates an error
message. It doesn't make any difference at the moment, since constant
expressions haven't been evaluated yet when this function is called.
2016-01-17 20:28:00 +01:00
Alexey Botchkov
9c9d10b441 MDEV-9106 Audit plugin not working with MySQL 5.7.
fixing Windows crash.
2016-01-15 09:50:27 +04:00
Shaohua Wang
93a6142dd0 BUG#22530768 Innodb freeze running REPLACE statements
we can see from the hang stacktrace, srv_monitor_thread is blocked
when getting log_sys::mutex, so that sync_arr_wake_threads_if_sema_free
cannot get a change to break the mutex deadlock.

The fix is simply removing any mutex wait in srv_monitor_thread.

Patch is reviewed by Sunny over IM.
2016-01-15 10:26:08 +08:00
Alexey Botchkov
fe4823d28e MDEV-9106 Audit plugin doesnt run with MySQL 5.7.
updata thread_pool_server_audit test result.
2016-01-13 18:02:44 +04:00
Alexey Botchkov
cdc9aa5b5b MDEV-9106 Audit Plugin doesn't run with MySQL 5.7.
MariaDB 5.5 built in debug gets unhappy with mutexes.
    Although everything is correct, some DBUG_ASSERT can happen.
    So this patch keeps safe_mutex silent.
2016-01-13 15:27:53 +04:00
Alexey Botchkov
c9552533c9 MDEV-9106 Audit plugin compiled with MariaDB can't install on MySQL 5.7.
The audit API was seriously changed in MySQL 5.7.
        so we had to adapt the plugin's code to that.
2016-01-12 18:43:55 +04:00
Shaohua Wang
79032a7ae1 BUG#22530768 Innodb freeze running REPLACE statements
we can see from the hang stacktrace, srv_monitor_thread is blocked
when getting log_sys::mutex, so that sync_arr_wake_threads_if_sema_free
cannot get a change to break the mutex deadlock.

The fix is simply removing any mutex wait in srv_monitor_thread.

Patch is reviewed by Sunny over IM.
2016-01-12 15:15:41 +08:00
Bjorn Munch
c06138e46d Raise version number after cloning 5.5.48 2016-01-11 15:00:44 +01:00
Bjorn Munch
0aab0e7a3d Updated copyright year in user visible text 2016-01-11 14:10:58 +01:00
Yashwant Sahu
d9f89fff16 Bug #22295186: CERTIFICATE VALIDATION BUG IN MYSQL MAY ALLOW MITM
Test fix for 5.5 and 5.6
2016-01-11 14:44:49 +05:30
Yashwant Sahu
70f1aa4223 Bug #22295186: CERTIFICATE VALIDATION BUG IN MYSQL MAY ALLOW MITM.
Test Fix
2016-01-11 09:23:31 +05:30
Yashwant Sahu
13380bf81f Bug #22295186: CERTIFICATE VALIDATION BUG IN MYSQL MAY ALLOW MITM 2016-01-11 07:09:13 +05:30
Sreeharsha Ramanavarapu
863f7cebd7 Bug #22232332: SAVING TEXT FIELD TO TEXT VARIABLE IN A
PROCEDURE RESULTS IN GARBAGE BYTES

Issue:
-----
This problem occurs under the following conditions:

a) Stored procedure has a variable is declared as TEXT/BLOB.
b) Data is copied into the the variable using the
   SELECT...INTO syntax from a TEXT/BLOB column.

Data corruption can occur in such cases.

SOLUTION:
---------
The blob type does not allocate space for the string to be
stored. Instead it contains a pointer to the source string.
Since the source is deallocated immediately after the
select statement, this can cause data corruption.

As part of the fix for Bug #21143080, when the source was
part of the table's write-set, blob would allocate the
neccessary space. But this fix missed the possibility that,
as in the above case, the target might be a variable.

The fix will add the copy_blobs check that was removed by
the earlier fix.
2016-01-08 06:46:59 +05:30
Vladislav Vaintroub
5f48b61509 MDEV-9298 : Build failure when linking libmysql.
If GCC or CLang compile with link time optimization (-flto),
they throw an error during link , when lto sees a
function (e.g mysql_real_connect) is redeclared as "external void *"
in libmysql_exports.cc

The fix disables -flto for generated libmysql_exports.cc
2016-01-07 14:45:40 +01:00
Ajo Robert
3d1306f7b7 Bug#21770366 backport bug#21657078 to 5.5 and 5.6
Problem Statement
=========
Fix various issues when building MySQL with Visual Studio 2015.

Fix:
=======
- Visual Studio 2015 adds support for timespec. Add check and
  related code to use this and only use our replacement if
  timespec is not defined.
- Rename lfind/lsearch to my* to avoid redefinition problems.
- Set default value for TMPDIR to "" on Windows as P_tmpdir
  no longer exists.
- using VS definition of snprintf if available
- tzname are now renamed to _tzname.
2016-01-07 14:36:19 +05:30
V S Murthy Sidagam
8c65e082f3 Description: yaSSL was only handling the cases of zero or
one leading zeros for the key agreement instead of
potentially any number.
There is about 1 in 50,000 connections to fail
when using DHE cipher suites.  The second problem was the
case where a server would send a public value shorter than
the prime value, causing about 1 in 128 client connections
to fail, and also caused the yaSSL client to read off the
end of memory.
All client side DHE cipher suite users should update.
Note: The patch is received from YaSSL people
2016-01-04 15:31:45 +05:30
Sreeharsha Ramanavarapu
cb15cce746 Bug #21564557: INCONSISTENT OUTPUT FROM 5.5 AND 5.6
UNIX_TIMESTAMP(STR_TO_DATE('201506', "%Y%M"

Issue:
-----
When an invalid date is supplied to the UNIX_TIMESTAMP
function from STR_TO_DATE, no check is performed before
converting it to a timestamp value.

SOLUTION:
---------
Add the check_date function and only if it succeeds,
proceed to the timestamp conversion.

No warning will be returned for dates having zero in
month/date, since partial dates are allowed. UNIX_TIMESTAMP
will return only a zero for such values.

The problem has been handled in 5.6+ with WL#946.
2015-12-31 07:31:12 +05:30
Vladislav Vaintroub
ff24820269 Fix process handle leak in buildbot. GenerateConsoleCtrlEvent sent to non-existing process will add a process handle to this non-existing process to console host process conhost.exe 2015-12-30 20:52:42 +01:00
Alexander Barkov
61d3621ea3 Moving Field_blob::store_length() back from protected to public,
as it's needed for Cassandra in 10.0.
2015-12-29 18:40:41 +04:00
Karthik Kamath
1ec594dd60 BUG#21902059: "CREATE TEMPORARY TABLE SELECT ..." AND BIT(1)
COLUMNS

ANALYSIS:
=========
A valgrind error is reported when CREATE TABLE .. SELECT
involving BIT columns triggers a column type redefinition.

In general the pack_flag is set for BIT columns in
'mysql_prepare_create_table()'. However, during the above
operation, redefined column types was handled after the
special handling for BIT columns and thus pack_flag ended
up not being set correctly triggering the valgrind error.

FIX:
====
The patch fixes this problem by setting pack_flag correctly
for BIT columns in the case of column type redefinition.
2015-12-29 15:58:44 +05:30
Alexander Barkov
e1b9be5417 MDEV-9319 ALTER from a bigger to a smaller blob type truncates too much data 2015-12-29 14:17:31 +04:00
Nirbhay Choubey
70113ee170 MDEV-9290 : InnoDB: Assertion failure in file trx0sys.cc line 353
Addendum: Save thd's server_status & option_bits before
setting the thread specific pointer.
2015-12-22 14:58:02 -05:00
Sergei Golubchik
e126baafbc MDEV-9249 MariaDB un-buildable on linux64: fails @ "error: ‘ERR_remove_state’ was not declared in this scope" when linking against OpenSSL 1.0.2e
ERR_remove_state is deprecated, use ERR_remove_thread_state
if possible
2015-12-21 12:17:31 +01:00
DevilSatan
591e74c7e8 MDEV-7526: TokuDB doesn't build on OS X
A string definition is inconsistent and thus causes a compilation error.

Signed-off-by: Vicențiu Ciorbaru <vicentiu@mariadb.org>
2015-12-19 14:14:16 +02:00
Vicențiu Ciorbaru
e386523a41 MDEV-7526: TokuDB doesn't build on OS X
Fixed compile warning related to if statement always being true. The if
statement can not be false, as the address of a member field is always
true.
2015-12-19 14:14:16 +02:00
Vicențiu Ciorbaru
f39b9e04db MDEV-7526: TokuDB doesn't build on OS X
Removed unused functions from tokudb_dump.cc.
2015-12-19 14:14:16 +02:00
Vicențiu Ciorbaru
64149590c4 MDEV-7526: TokuDB doesn't build on OS X
This patch fixes another compilation error caused by specifying
attribute nonnull for all the parameters of the copyout function. This
is incorrect as the function actually gets called with null parameters
indirectly and thus only the output parameter should be nonnull.
2015-12-19 14:14:10 +02:00
Vicențiu Ciorbaru
f89c9fc4b7 MDEV-7526: TokuDB doesn't build on OS X
This patch fixes one compilation error related to __db_lsn struct. The
struct can not be defined as empty according to the main C standard.
In C++, this is handled by forcing a size of 1. To eliminate the error
we add a dummy char field of size 1. This has no effect on the C++
compiled code, but also removes the compiler error.
2015-12-19 14:14:05 +02:00
Nirbhay Choubey
3f515a09ff MDEV-9290 : InnoDB: Assertion failure in file trx0sys.cc line 353
As a fix for MDEV-8208, for initial wsrep threads, the
invocation of init_for_queries() was moved after plugins
were initialized. Due to which, OPTION_BEGIN bit of wsrep
applier THD (originally set in wsrep_replication_process)
got reset due to implicit commit within init_for_queries().
As a result, events from a multi-statement transaction from
another node were committed separately by the applier thread,
which leads to an assertion as they all carry same seqno.

Fixed by making sure that variable.option_bits are restored
post init_for_queries(). Also restored server_status.
Added a test case.
2015-12-16 20:07:12 -05:00
Balasubramanian Kandasamy
3c9ba967af Bug#22361702 - /USR/BIN/MYSQL-SYSTEMD-START DOES NOT RETURN CONTROL TO COMMAND LINE
If the configuration files contains multiple datadir lines, use the last datadir
entry in the RPM installation scripts
2015-12-16 12:03:04 +05:30
Sujatha Sivakumar
c5ba706791 Bug#22278455: MYSQL 5.5:RPL_BINLOG_INDEX FAILS IN VALGRIND.
Problem:
=======
rpl_binlog_index.test fails with following valgrind error.

line
Conditional jump or move depends on uninitialised value(s)
at 0x4C2F842: __memcmp_sse4_1 (in /usr/lib64/valgrind/
vgpreload_memcheck-amd64-linux.so)
0x739E39: find_uniq_filename(char*) (log.cc:2212)
0x73A11B: MYSQL_LOG::generate_new_name(char*, char const*)
(log.cc:2492)
0x73A1ED: MYSQL_LOG::init_and_set_log_file_name(char const*,
char const*, enum_log_type, cache_type) (log.cc:2289)
0x73B6F5: MYSQL_BIN_LOG::open(char const*, enum_log_type,


Analysis and fix:
=================
This issue was fixed as part of Bug#20459363 fix in 5.6 and
above. Hence backporting the fix to MySQL-5.5.
2015-12-16 10:48:57 +05:30
Sergei Golubchik
0ed474484c fix main.mysqldump test on windows 2015-12-11 23:25:20 +01:00
Sergei Golubchik
ca28d9011c MDEV-7655 SHOW CREATE TABLE returns invalid DDL when using virtual columns along with a table collation 2015-12-11 23:25:20 +01:00
Sergei Golubchik
f560c1ba42 revert 5e9a50efc3
that was mistakenly merged from mysql-5.5.47

(introduces valgrind failures in main.sp, because Field_varstring
columns are created as FIELD_NORMAL and that causes aria to
read bytes between the actual value length and field max length)
2015-12-11 23:25:20 +01:00
Sergei Golubchik
265e833fdd revert 415faa122b
that was mistakenly merged from mysql-5.5.47
2015-12-11 23:25:20 +01:00
Jan Lindström
c19972fc87 MDEV-9251: Fix MySQL Bug#20755615: InnoDB compares column names case sensitively,
while according to Storage Engine API column names should be compared
case insensitively. This can cause FRM and InnoDB data dictionary to
go out of sync.
2015-12-11 14:33:41 +02:00
Nirbhay Choubey
ca07ee85ea Merge tag 'mariadb-5.5.47' into 5.5-galera 2015-12-10 13:00:08 -05:00
Oleksandr Byelkin
fa25921b59 MDEV-8407 Numeric errors, server crash with COLUMN_JSON() on DECIMAL with precision > 40
In fact it was error in decimal library (incorrect processing of buffer overflow) invisible from other server parts because of buffer allocation and precision tests.
2015-12-10 11:22:53 +01:00
Sergei Golubchik
d67aacb4fb fix xtradb compilation on windows 2015-12-09 17:11:55 +01:00
Sergei Golubchik
fa4d4fc76e unit tests for my_getopt 2015-12-09 13:42:16 +01:00
Julien Pivotto
584c07bd88 MDEV-8978 Specify GPL version in RPM metadata
The License field in the MariaDB RPM packages is GPL. This does not tell
the version of GPL and might confuse tools and users that rely on this
field.

Best practice in the RPM world is to use "GPLv2" for the GPL 2.0
license.

The commit switches the license field of the RPM packages to GPLv2.
2015-12-09 13:41:41 +01:00
Sergei Golubchik
142b725607 Merge branch 'merge/merge-xtradb-5.5' into 5.5
5.5.46-37.6
2015-12-09 12:57:04 +01:00
Sergei Golubchik
9457139e59 5.5.46-37.6 2015-12-09 12:27:04 +01:00
Sergei Golubchik
1a72c6fefd Merge branch 'bb-5.5-serg' into 5.5 2015-12-09 11:51:59 +01:00
Sergei Golubchik
abf9d35213 Merge branch 'mysql/5.5' into 5.5 2015-12-09 10:00:49 +01:00