Commit graph

171527 commits

Author SHA1 Message Date
Sergey Vojtovich
4b1b305b9a Merge pull request #176 from iangilfillan/10.0
Update sponsors
2016-05-27 22:52:03 +04:00
iangilfillan
a8422fa241 Update sponsors 2016-05-27 18:25:14 +02:00
Vladislav Vaintroub
b6e826bac2 MDEV-10118 : do not suggest upgrade from MySQL 5.7 to MariaDB 10.x in the installer. Do not lauch upgrade wizard after installation 2016-05-24 23:15:00 +02:00
Vladislav Vaintroub
ff832e0d16 Restore COMPONENT Embedded for Windows embedded libs. 2016-05-24 17:46:30 +02:00
Vladislav Vaintroub
221adbc6fe Fix warnings on Windows, compiler option -ggdb3 option is nonexistent 2016-05-24 17:01:08 +02:00
Vladislav Vaintroub
535160b170 MDEV-10117 - update HeidiSQL to current version 2016-05-24 16:57:03 +02:00
Vladislav Vaintroub
9eb0fbda3e MDEV-10071 Block installation on XP/Windows 2003 Server(they are no more supported) 2016-05-24 14:23:03 +02:00
Vladislav Vaintroub
18487ed60e MDEV-10108 Fix errors in installations by domain user 2016-05-24 14:23:03 +02:00
Sreeharsha Ramanavarapu
115f08284d Bug #23279858: MYSQLD GOT SIGNAL 11 ON SIMPLE SELECT
NAME_CONST QUERY

ISSUE:
------
Using NAME_CONST with a non-constant negated expression as
value can result in incorrect behavior.

SOLUTION:
---------
The problem can be avoided by checking whether the argument
is a constant value.

The fix is a backport of Bug#12735545.
2016-05-24 07:44:21 +05:30
Olivier Bertrand
e905abf91b - New version of the java JdbcInterface
modified:   storage/connect/JdbcInterface.class
  modified:   storage/connect/JdbcInterface.java

- Ignore *.tlog and .res files
  modified:   .gitignore
2016-05-23 15:17:43 +02:00
Olivier Bertrand
9a5c586024 Merge branch '10.0' of https://github.com/MariaDB/server into 10.0 2016-05-22 11:13:10 +02:00
Olivier Bertrand
da34a8c088 Merge branch 'ob-10.0' into 10.0 2016-05-21 14:58:22 +02:00
Olivier Bertrand
d25fd437c4 - Fix wrong return from ExecuteQuery
modified:   storage/connect/jdbconn.cpp

- Suppress GCC warning
  modified:   storage/connect/tabjdbc.cpp
2016-05-21 14:56:47 +02:00
Olivier Bertrand
c92f2606ea Commit changes made from 10.1 2016-05-21 12:11:27 +02:00
Terje Rosten
4de9d9c261 BUG#20693338 CONFLICTS WHILE INSTALLING PACKAGES WHEN LIBMYSQLCLIENT-DEVEL INSTALLED
Remove mysql_config from client package to avoid conflict (file
shipped in devel package any way).
2016-05-20 11:33:44 +02:00
Balasubramanian Kandasamy
8281068f72 BUG#21879694 - /VAR/LOG/MYSQLD.LOG HAS INCORRECT PERMISSIONS AFTER INSTALLING SERVER FROM REPO
Description:
This issue doesn't effect any default installation of repo rpms if user uses
init scripts that are shipped as part of package but will have trouble if
user tries to createdb or start server manually.

After installing mysql-server from repository(yum,zypper) /var/log/mysqld.log
is created with logged in user and group permissions instead of with mysql
user and group permissions,due to which while creating database or starting
server, it is failing

Fix:

Updated the user and group permissions of the /var/log/mysqld.log and
/var/log/mysql/mysqld.log (for sles) files to mysql.
2016-05-18 17:23:16 +05:30
Karthik Kamath
90b9c957ba BUG#21142859: FUNCTION UPDATING A VIEW FAILS TO FIND TABLE
THAT ACTUALLY EXISTS

ANALYSIS:
=========
Stored functions updating a view where the view table has a
trigger defined that updates another table, fails reporting
an error that the table doesn't exist.

If there is a trigger defined on a table, a variable
'trg_event_map' will be set to a non-zero value after the
parsed tree creation. This indicates what triggers we need to
pre-load for the TABLE_LIST when opening an associated table.

During the prelocking phase, the variable 'trg_event_map'
will not be set for the view table. This value will be set
after the processing of triggers defined on the table. During
the processing of sub-statements, 'locked_tables_mode' will be
set to 'LTM_PRELOCKED' which denotes that further locking
of tables/functions cannot be done. This results in the other
table not being locked and thus further processing results in
an error getting reported.

FIX:
====
During the prelocking of view, the value of 'trg_event_map'
of the view is copied to 'trg_event_map' of the next table
in the TABLE_LIST. This results in the locking of tables
associated with the trigger as well.
2016-05-18 11:07:29 +05:30
Sujatha Sivakumar
ef3f09f0c9 Bug#23251517: SEMISYNC REPLICATION HANGING
Revert following bug fix:

Bug#20685029: SLAVE IO THREAD SHOULD STOP WHEN DISK IS
FULL
Bug#21753696: MAKE SHOW SLAVE STATUS NON BLOCKING IF IO
THREAD WAITS FOR DISK SPACE

This fix results in a deadlock between slave IO thread
and SQL thread.

(cherry picked from commit e3fea6c6dbb36c6ab21c4ab777224560e9608b53)
2016-05-16 11:34:20 +02:00
Shishir Jaiswal
9d72fb4af0 Bug#21977380 - POSSIBLE BUFFER OVERFLOW ISSUES
DESCRIPTION
===========
Buffer overflow is reported in a lot of code sections
spanning across server, client programs, Regex libraries
etc. If not handled appropriately, they can cause abnormal
behaviour.

ANALYSIS
========
The reported casea are the ones which are likely to result
in SEGFAULT, MEMORY LEAK etc.

FIX
===
- sprintf() has been replaced by my_snprintf() to avoid
buffer overflow.
- my_free() is done after checking if the pointer isn't
  NULL already and setting it to NULL thereafter at few
  places.
- Buffer is ensured to be large enough to hold the data.
- 'unsigned int' (aka 'uint') is replaced with 'size_t'
to avoid wraparound.
- Memory is freed (if not done so) after its alloced and
used.
- Inserted assert() for size check in InnoDb memcached
code (from 5.6 onwards)
- Other minor changes

(cherry picked from commit 3487e20959c940cbd24429afa795ebfc8a01e94f)
2016-05-16 11:33:57 +02:00
Shishir Jaiswal
cb29741568 Bug#21977380 - POSSIBLE BUFFER OVERFLOW ISSUES
DESCRIPTION
===========
Buffer overflow is reported in a lot of code sections
spanning across server, client programs, Regex libraries
etc. If not handled appropriately, they can cause abnormal
behaviour.

ANALYSIS
========
The reported casea are the ones which are likely to result
in SEGFAULT, MEMORY LEAK etc.

FIX
===
- sprintf() has been replaced by my_snprintf() to avoid
buffer overflow.
- my_free() is done after checking if the pointer isn't
  NULL already and setting it to NULL thereafter at few
  places.
- Buffer is ensured to be large enough to hold the data.
- 'unsigned int' (aka 'uint') is replaced with 'size_t'
to avoid wraparound.
- Memory is freed (if not done so) after its alloced and
used.
- Inserted assert() for size check in InnoDb memcached
code (from 5.6 onwards)
- Other minor changes
2016-05-16 13:46:49 +05:30
Sujatha Sivakumar
df7ecf64f5 Bug#23251517: SEMISYNC REPLICATION HANGING
Revert following bug fix:

Bug#20685029: SLAVE IO THREAD SHOULD STOP WHEN DISK IS
FULL
Bug#21753696: MAKE SHOW SLAVE STATUS NON BLOCKING IF IO
THREAD WAITS FOR DISK SPACE

This fix results in a deadlock between slave IO thread
and SQL thread.
2016-05-13 16:42:45 +05:30
Olivier Bertrand
ab621544ac Merge branch 'ob-10.0' into 10.0 2016-05-13 01:20:46 +02:00
Olivier Bertrand
4a1ffc3853 Add forgotten changes made on 10.1 2016-05-12 23:26:40 +02:00
Olivier Bertrand
5af076e564 Add all changes made on 10.1 2016-05-12 23:08:22 +02:00
Alexander Barkov
964c4f070a MDEV-10052 Illegal mix of collations with DAYNAME(date_field)<>varchar_field 2016-05-10 19:13:06 +04:00
Sujatha Sivakumar
818b3a9123 Bug#12818255: READ-ONLY OPTION DOES NOT ALLOW
INSERTS/UPDATES ON TEMPORARY TABLES
Bug#14294223: CHANGES NOT ALLOWED TO TEMPORARY TABLES ON
READ-ONLY SERVERS

Problem:
========
Running 5.5.14 in read only we can create temporary tables
but can not insert or update records in the table. When we
try we get Error 1290 : The MySQL server is running with the
--read-only option so it cannot execute this statement.

Analysis:
=========
This bug is very specific to binlog being enabled and
binlog-format being stmt/mixed. Standalone server without
binlog enabled or with row based binlog-mode works fine.

How standalone server and row based replication work:
=====================================================
Standalone server and row based replication mark the
transactions as read_write only when they are modifying
non temporary tables as part of their current transaction.

Because of this when code enters commit phase it checks
if a transaction is read_write or not. If the transaction
is read_write and global read only mode is enabled those
transaction will fail with 'server is read only mode'
error.

In the case of statement based mode at the time of writing
to binary log a binlog handler is created and it is always
marked as read_write. In case of temporary tables even
though the engine did not mark the transaction as read_write
but the new transaction that is started by binlog handler is
considered as read_write.

Hence in this case when code enters commit phase it finds
one handler which has a read_write transaction even when
we are modifying temporary table. This causes the server
to throw an error when global read-only mode is enabled.

Fix:
====
At the time of commit in "ha_commit_trans" if a read_write
transaction is found, we should check if this transaction is
coming from a handler other than binlog_handler. This will
ensure that there is a genuine read_write transaction being
sent by the engine apart from binlog_handler and only then
it should be blocked.
2016-05-04 14:06:45 +05:30
Bjorn Munch
a2770e98a6 Raise version number after cloning 5.5.50 2016-05-02 09:26:00 +02:00
Daniel Bartholomew
cee9ab9d85 bump the VERSION 2016-04-30 11:23:46 -04:00
Harin Vadodaria
6768f80c0b Bug#21973610
Post push fix : Fixing i_main.mysqlshow failure.
2016-04-29 11:06:41 +05:30
Vladislav Vaintroub
9eba34f086 Fix crash due to heap corruption in main.shm 2016-04-28 22:18:15 +02:00
Sergey Vojtovich
94bad73dd1 MDEV-9988 - Insert cast to suppress -Wdynamic-class-memaccess
Clang warns on this code because it is memsetting over a vtable contained in a
struct in the best_positions array. The diagnostic text is:

mariadb/sql/sql_select.cc:24462:10: error: destination for this 'memset' call is
a pointer to class containing a dynamic class 'Duplicate_weedout_picker'; vtable
pointer will be overwritten [-Werror,-Wdynamic-class-memaccess]
  memset(best_positions, 0, sizeof(POSITION) * (table_count + 1));
  ~~~~~~ ^

Patch contributed by David Gow.
2016-04-28 22:04:41 +04:00
Vladislav Vaintroub
e5810727a9 Fix msxml6 search in Connect engine on Windows,
as it fails on new builders.

msxml6 is found on all Windows we support, thus there is no reason to
search for it.
2016-04-27 18:16:03 +02:00
Vladislav Vaintroub
672bbcd741 MDEV-9973 : Do not set permissions for serviceaccount user (Win7 and later)
This appears to break some installation, and it did not do anything
useful anyway.
2016-04-27 16:25:08 +02:00
Sergei Golubchik
cf22514591 after-merge fixes for failures in buildbot 2016-04-27 08:34:35 +02:00
Sergei Golubchik
8b1563eac8 Merge branch 'connect/10.0' into 10.0
1.04.0006
2016-04-26 23:48:18 +02:00
Sergei Golubchik
cfad394776 Merge branch 'merge-xtradb-5.6' into 10.0
5.6.29-76.2
2016-04-26 23:43:48 +02:00
Sergei Golubchik
c4dcfb60e8 Merge branch 'merge-innodb-5.6' into 10.0
5.6.30
2016-04-26 23:20:32 +02:00
Sergei Golubchik
872649c7ba Merge branch '5.5' into 10.0 2016-04-26 23:05:26 +02:00
Sergei Golubchik
4995bcffad MDEV-9610 Trigger on normal table can't insert into CONNECT engine table - Access Denied
in case of prelocking, don't check table->grant.privilege
in handler::external_lock(), do it in
handler::start_stmt().
2016-04-26 21:03:40 +02:00
Sergei Golubchik
30d9d4e26d 5.6.29-76.2 2016-04-26 20:58:29 +02:00
Sergei Golubchik
9a957a5b56 move mysql-test into storage/tokudb, rename suites 2016-04-26 20:56:25 +02:00
Monty
b7ad1ba5d1 Fixed mutex that wasn't properly unlocked (typo in last patch) 2016-04-26 20:11:40 +03:00
Sergei Golubchik
5b8ac23030 5.6.29-76.2 2016-04-26 19:07:11 +02:00
Sergei Golubchik
72d23896d6 5.6.30 2016-04-26 19:06:20 +02:00
Sergei Golubchik
f1aae861ee 5.6.30 2016-04-26 19:05:10 +02:00
Sergey Vojtovich
4f1ad43992 MDEV-9987 - gen_lex_hash leaks memory, making LeakSanitizer builds fail
Fixed memory leaks in gen_lex_hash.
2016-04-26 16:15:15 +04:00
Sergei Golubchik
29868de2ff MDEV-9986 Full-text search of the utf8mb4 column causes crash
take into account that agg_arg_charsets_for_comparison()
can replace Item_field's with Item_func_conv_charset
2016-04-26 12:58:14 +02:00
Alexey Botchkov
44554d6111 MDEV-9605 mysqlbinlog does not accept ssl-ca option as expected.
Added SSL support to the mysqlbinlog.
2016-04-26 14:37:19 +04:00
Sergei Golubchik
7f5ceb7768 disable main.wait_timeout_not_windows for embedded 2016-04-26 11:49:35 +02:00
Monty
0dbc66498d Fix for MDEV-9679 main.delayed fails sporadically
Problem was that notify_shared_lock() didn't abort an insert delayed thread
if it was in thr_upgrade_write_delay_lock().

ALTER TABLE first takes a weak_mdl_lock, then a thr_lock and then tries to upgrade
the mdl_lock.
Delayed insert thread first takes a mdl lock followed by a
thr_upgrade_write_delay_lock()
This caused insert delay to wait for alter table in thr_lock, while
alter table was waiting for the mdl lock by insert delay.

Fixed by telling mdl to run thr_lock_abort() for the insert delay thread table.
We also set thd->mysys_var->abort to 1 for the delay thread when it's killed
by alter table to ensure it doesn't ever get locked in thr_lock.
2016-04-26 12:22:02 +03:00