Commit graph

171340 commits

Author SHA1 Message Date
Oleksandr Byelkin
41021c0254 MDEV-9462: Out of memory using explain on 2 empty tables
Fixed adding derived tables items to outer one.
2016-02-06 13:36:17 +01:00
Vicențiu-Marian Ciorbaru
be19bba4fb Merge pull request #150 from grooverdan/10.0-my_rnd_cpp
MDEV-9433: mysys/my_rnd.c - remove #ifdef __cplusplus
2016-02-06 12:58:06 +02:00
Sergei Golubchik
ad94790f46 MDEV-9453 mysql_upgrade.exe error when mysql is migrated to mariadb
mysqlcheck tool can be used even if opt_systables_only is true
(to upgrade views from mysql - that overrides opt_systables_only)
2016-02-06 11:45:23 +01:00
Sergei Golubchik
0a76ad5ffd MDEV-9175 Query parser tansforms MICROSECOND into SECOND_FRAC, which does not work 2016-02-06 11:45:23 +01:00
Sergei Golubchik
a90da6e053 MDEV-9314 fatal build error: viosslfactories.c:58:5: error: dereferencing pointer to incomplete type ‘DH {aka struct dh_st}
fixes for openssl that was built with -DOPENSSL_NO_DEPRECATED
2016-02-06 11:45:23 +01:00
Vicențiu-Marian Ciorbaru
db5f743c31 Merge pull request #148 from grooverdan/5.5-rpl_reporting-cppcheck-va_end
MDEV-9433: Add va_end to sql/rpl_reporting.cc to make cppcheck happy
2016-02-06 12:37:46 +02:00
Gipson Pulla
20c3063c31 Merge branch 'mysql-5.5.48-release' into mysql-5.5 2016-02-05 20:43:18 +01:00
Oleksandr Byelkin
6ecf6d8453 MDEV-7827: Assertion `!table || (!table->read_set || bitmap_is_set(table->read_set, field_index))' failed in Field_long::val_str on EXPLAIN EXTENDED
(Solution by Sergei Petrunia)
It appeared that semijoin conditions was not iterated when we were updating used tables. So now they do.
2016-02-05 17:46:01 +01:00
Oleksandr Byelkin
9f3b53fb4a MDEV-9093 Persistent computed column is not updated when update query contains join
added lost virtual fields update call
2016-02-05 16:32:12 +01:00
iangilfillan
113b56ed5f Merge remote-tracking branch 'upstream/10.0' into 10.0 2016-02-04 16:03:14 +02:00
iangilfillan
86b2621ff9 MDEV-6821, MDEV-6826 - Update authors and contributors 2016-02-04 16:00:11 +02:00
Jan Lindström
33ac501b6a Use C++ linkage. 2016-02-04 13:54:57 +02:00
Jan Lindström
1d00d5c626 Fix function visibility as it is used on row0mysql.c in Windows. 2016-02-03 16:51:23 +02:00
Jan Lindström
a3d843d949 Fix function visibility as it is used on row0mysql.c in Windows. 2016-02-03 15:52:26 +02:00
Jan Lindström
73d23f8581 MDEV-9471: Server crashes or returns an error while trying to alter partitioning on a table moved from Windows to Linux
At alter table when server renames the table to temporal name,
old name uses normal partioned table naming rules. However,
if tables are created on Windows and then transfered to Linux
and lower-case-table-names=1 we should modify the old name
on rename to lower case to be able to find it from the
InnoDB dictionary.
2016-02-03 14:34:06 +02:00
Jan Lindström
f66d01610f MDEV-9471: Server crashes or returns an error while trying to alter partitioning on a table moved from Windows to Linux
At alter table when server renames the table to temporal name,
old name uses normal partioned table naming rules. However,
if tables are created on Windows and then transfered to Linux
and lower-case-table-names=1 we should modify the old name
on rename to lower case to be able to find it from the
InnoDB dictionary.
2016-02-03 12:22:31 +02:00
Vladislav Vaintroub
603c0960ba MDEV-9466 : Exception handler on Windows does not output any text,
if mysqld runs as service

The bug is caused by the attempt to write to filedescriptor 2
(STDERR_FILENO), however in case of a service stderr has different fd
(debugging shows fileno(stderr) is 4 after freopen, and -1 before it)

Fixed definition of STDERR_FILENO for Windows to be fileno(stderr).
2016-02-03 00:43:00 +01:00
Sergei Petrunia
5cf293fcad Merge branch '10.0' of github.com:MariaDB/server into 10.0 2016-02-01 19:37:06 +03:00
Sergei Petrunia
74f15e2a7f MDEV-9505: Valgrind failure in SEL_ARG::store_min,find_used_partitions
create_partition_index_description() had wrong logic to calculate
length of the key value buffer that is used by the range optimizer.

For some reason it used MAX(partitioning_columns_len,
subpartitioning_columns_len) while it should use SUM of these values.
2016-02-01 19:36:22 +03:00
Kristian Nielsen
955126e31d Merge MDEV-9112 into 10.0
Conflicts:
	configure.cmake
2016-02-01 16:29:00 +01:00
Kristian Nielsen
0e84d54a1b Merge MDEV-9112 into 5.5 2016-02-01 16:27:12 +01:00
Georg Richter
8cf1f50967 MDEV-9112: Non-blocking client API missing on non-x86 platforms
The check for UCONTEXT in cmake was somehow become broken, disabling the
fallback to ucontext. This caused the non-blocking client API to not be
available for non-x86 platforms, on which no hand-crafted assembler
implementation of my_context is available.
2016-02-01 16:12:00 +01:00
Monty
d0c5efc4a7 If one compiled with too long MYSQL_SERVER_SUFFIX this caused a memory
overrun that caused some test to fail.

Fixed by ensuring we don't overwrite "server_version"
2016-01-29 23:53:44 +02:00
Monty
a1ddf01489 my_decimal didn't compile properly with debug 2016-01-29 23:52:15 +02:00
Sreeharsha Ramanavarapu
718c787912 Bug #18823979: PS: UCS2 + CASE WHEN THEN ELSE CRASH IN
ITEM_PARAM::SAFE_CHARSET_CONVERTER

ISSUE:
------
Charset conversion on a null parameter is not handled
correctly.

SOLUTION:
---------
Item_param's charset converter does not handle the case
where it might have to deal with a null value. This is
fine for other charset converters since the value is not
supplied to them at runtime.

The fix is to check if the parameter is now set to null and
return an Item_null object. Also, there is no need to
initialize Item_param's cnvitem in the constructor to a
string. This can be done in
ITEM_PARAM::SAFE_CHARSET_CONVERTER itself.

Members of Item_param, cnvbuf and cnvstr, have been removed
and cnvitem has been made a local variable in
ITEM_PARAM::SAFE_CHARSET_CONVERTER.
2016-01-29 08:29:06 +05:30
Ajo Robert
01d41f68b7 Bug #16912362 LOAD DATA INFILE CLAIMS TO BE HOLDING
'SYSTEM LOCK' IN PROCESSLIST

Analysis
=========
Show processlist shows 'System Lock' in 'State' field while
LOAD DATA INFILE is running.

thd->proc_info update is missing in LOAD DATA INFILE path.
Thus any request will get last unpdated status from lock_table()
during open_table().

Fix:
=======
Update state information from LOAD DATA INFILE path.
2016-01-28 17:40:17 +05:30
Balasubramanian Kandasamy
a4f2391d8d BUG#22600974 - SYSV INITSCRIPT FOR RHEL DON'T ENABLE MYSQLD SERVICE BY DEFAULT
Enable mysqld service by default in sysv initscrips
2016-01-27 18:42:52 +05:30
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
Alexey Botchkov
a4ff37e912 MDEV-6421 SQL_ERROR_LOG doesn't log comments in Events.
Change parser so it saves all the query line to the ';' in the
    sp_instr::m_query.
2016-01-26 22:33:25 +04: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
Olivier Bertrand
0bfb5bee46 Merge branch 'ob-10.0' into 10.0 2016-01-25 20:01:22 +01:00
Sergei Golubchik
666b9663f9 update test results 2016-01-25 19:03:33 +01:00
Olivier Bertrand
62a5e56c01 - Change SQL_NTS to 0 when the string is NULL
modified:   storage/connect/odbconn.cpp

- Fix to MDEV-9446 (using Json UDFs when CONNECT is not installed)
  modified:   storage/connect/ha_connect.cc
  modified:   storage/connect/jsonudf.cpp
  modified:   storage/connect/jsonudf.h
  modified:   storage/connect/mysql-test/connect/r/json_udf.result
  modified:   storage/connect/mysql-test/connect/t/json_udf.inc
  modified:   storage/connect/mysql-test/connect/t/json_udf.test
  modified:   storage/connect/mysql-test/connect/t/json_udf2.inc
2016-01-25 18:44:51 +01:00
iangilfillan
1fa15f94f4 Updated README and CREDITS 2016-01-25 17:54:28 +02:00
Alexey Botchkov
1793646d78 Merge branch '5.5' into 10.0
Conflicts:
	plugin/server_audit/server_audit.c
2016-01-25 16:37:08 +04: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
a7a49886e1 mysys/my_rnd.c - remove #ifdef __cplusplus 2016-01-19 16:53:13 +11:00
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
Kristian Nielsen
74b1af19e9 Merge branch 'tmp' into tmp-10.0
Conflicts:
	sql/slave.cc
2016-01-15 12:50:23 +01:00
Kristian Nielsen
06b2e327fc Fix error handling for GTID and domain-based parallel replication
This occurs when replication stops with an error, domain-based parallel
replication is used, and the GTID position contains more than one domain.
Furthermore, it relates to the case where the SQL thread is restarted
without first stopping the IO thread.

In this case, the file/offset relay-log position does not correctly
represent the slave's multi-dimensional position, because other domains may
be far ahead of, or behind, the domain with the failing event. So the code
reverts the relay log position back to the start of a relay log file that is
known to be before all active domains.

There was a bug that when the SQL thread was restarted, the
rli->relay_log_state was incorrectly initialised from @@gtid_slave_pos. This
position will likely be too far ahead, due to reverting the relay log
position. Thus, if the replication fails again after the SQL thread restart,
the rli->restart_gtid_pos might be updated incorrectly. This in turn would
cause a second SQL thread restart to replicate from the wrong position, if
the IO thread was still left running.

The fix is to initialise rli->relay_log_state from @@gtid_slave_pos only
when we actually purge and re-fetch relay logs from the master, not at every
SQL thread start.

A related problem is the use of sql_slave_skip_counter to resolve
replication failures in this kind of scenario. Since the slave position is
multi-dimensional, sql_slave_skip_counter can not work properly - it is
indeterminate exactly which event is to be skipped, and is unlikely to work
as expected for the user. So make this an error in the case where
domain-based parallel replication is used with multiple domains, suggesting
instead the user to set @@gtid_slave_pos to reliably skip the desired event.
2016-01-15 12:48:14 +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