Commit graph

175953 commits

Author SHA1 Message Date
Marko Mäkelä
edf4cc7519 Merge pull request #275 from grooverdan/10.2-MDEV-11075-crc32-runtime-detect-getauxval
MDEV-11075: Power - runtime detection of optimized instructions
2016-12-12 09:56:42 +02:00
Daniel Black
e76183f099 MDEV-11075: Power - runtime detection of optimized instructions
Signed-off-by: Daniel Black <daniel.black@au.ibm.com>
2016-12-12 15:35:08 +11:00
Elena Stepanova
5d9ca52219 Updated the list of unstable tests after the merge 2016-12-12 00:59:40 +02:00
Sergei Golubchik
2f20d297f8 Merge branch '10.0' into 10.1 2016-12-11 09:53:42 +01:00
Alexey Botchkov
9320d8ae30 MDEV-11453 JSON_CONTAINS returns incorrect values.
The weird logic of json_contains was implemented.
2016-12-11 01:12:33 +04:00
Elena Stepanova
a629b5172e Updated the list of unstable tests 2016-12-10 23:04:41 +02:00
Vicențiu Ciorbaru
eb4f2e063c MDEV-11533: Roles with trailing white spaces are not cleared correctly
Role names with trailing whitespaces are truncated in length as of
956e92d908 to fix MDEV-8609. The problem
is that the code that creates role mappings expects the string to be null
terminated.

Add the null terminator to account for that as well. In the future
the rest of the code can be cleaned up to never assume c style strings
but only LEX_STRINGS.
2016-12-10 22:23:25 +02:00
Sergei Golubchik
3e8155c637 Merge branch '5.5' into 10.0 2016-12-09 16:33:48 +01:00
Alexey Botchkov
83f7151da5 MDEV-10435 crash with bad stat tables.
Functions from sql/statistics.cc don't seem to expect
        stat tables to fail or to have inadequate structure.
        Table open errors suppressed and some validity
        checks added. Invalid tables reported to the server
        log.
2016-12-09 17:13:43 +04:00
Marko Mäkelä
c868acdf65 MDEV-11487 Revert InnoDB internal temporary tables from WL#7682
WL#7682 in MySQL 5.7 introduced the possibility to create light-weight
temporary tables in InnoDB. These are called 'intrinsic temporary tables'
in InnoDB, and in MySQL 5.7, they can be created by the optimizer for
sorting or buffering data in query processing.

In MariaDB 10.2, the optimizer temporary tables cannot be created in
InnoDB, so we should remove the dead code and related data structures.
2016-12-09 12:05:07 +02:00
Marko Mäkelä
b0266b6a60 Use mtr_memo_contains_flagged() instead of mtr_memo_contains().
This was originally part of MDEV-11487.
2016-12-09 12:03:24 +02:00
Marko Mäkelä
63152a52da Port the test innodb.innodb_misc1 from MySQL.
Adjust some results and error codes.
2016-12-09 12:00:19 +02:00
Alexey Botchkov
04aa31c70b MDEV-11469 JSON_SEARCH returns incorrect results.
Support for '**' in json path expressions added.
2016-12-09 12:26:32 +04:00
Marko Mäkelä
0f7864a9b8 Merge branch 'grooverdan-10.2-MDEV-9872-crc32-generic-message' into 10.2 2016-12-09 09:26:10 +02:00
Marko Mäkelä
c6017b77e0 Address my review comments in the contributed patch. 2016-12-09 09:12:32 +02:00
Marko Mäkelä
64d29c6575 Merge branch '10.2-MDEV-9872-crc32-generic-message' of https://github.com/grooverdan/mariadb-server into grooverdan-10.2-MDEV-9872-crc32-generic-message 2016-12-09 09:04:35 +02:00
Jan Lindström
2b6498b002 Merge pull request #274 from grooverdan/10.2-MDEV-11075-innochecksum-bigendian-optimised
MDEV-11075: changing to algorithm innodb from crc32
2016-12-09 08:20:27 +02:00
Daniel Black
50617c42d4 MDEV-11075: allow software crc32c on Power8 (for BE) 2016-12-09 15:29:42 +11:00
Daniel Black
850ed6e4cc MDEV-11075: changing to algorithm innodb from crc32
With innodb compressed pages formerly as crc32 changing to the
innodb checksum, optimize for speed by only calcuating the big
endian variant of crc32 after checking that the little endian
doesn't validate the page.

Signed-off-by: Daniel Black <daniel.black@au.ibm.com>
2016-12-09 15:17:12 +11:00
Sergei Golubchik
03dabfa84d MDEV-10713: signal 11 error on multi-table update - crash in handler::increment_statistics or in make_select or assertion failure pfs_thread == ((PFS_thread*) pthread_getspecific((THR_PFS)))
Different fix. Don't allow Item_func_sp to be evaluated unless
all tables are prelocked.

Extend the test case to make sure Item_func_sp::val_str is called
(the table must have at least one row for that).
2016-12-08 23:19:55 +01:00
Sergei Golubchik
ab65db6d3f Revert "MDEV-10713: signal 11 error on multi-table update - crash in handler::increment_statistics or in make_select or assertion failure pfs_thread == ((PFS_thread*) pthread_getspecific((THR_PFS)))"
This reverts commit 035a5ac62a.

Two minor problems and one regression:
1. caching the value in str_result. Other Item methods may use it,
   destroying the cache. See, for example, Item::save_in_field, where
   str_result is moved to use a local buffer (this failed main.grant)
2. Item_func_conv_charset::safe is now set too late, it's initialized
   only in val_str() but checked before that, this failed many tests
   in optimized builds.

to fix 1 - use tmp_result instead of str_result, to fix 2, use
the else branch in the Item_func_conv_charset constructor to set
safe purely from charset properties.

But this introduces a regression, constant strings can no longer be
converted, say, from utf8 to latin1 (because 'safe' will be false).
This fails few tests too. There is no way to fix it without reverting
the commit and converting constants, as before, in the constructor.
2016-12-08 23:15:09 +01:00
Elena Stepanova
870d7589c6 MDEV-11491 binlog_encryption.rpl_checksum fails sporadically in buildbot
The race condition happened if mark_xid_done was considerably delayed,
and an extra Binlog_checkpoint event was written into the binary log
which was later indicated in an error message. Fixed by ensuring
that the event is written before the binary log is rotated to the one
which is used in the output.
2016-12-08 20:49:54 +02:00
Marko Mäkelä
7ca1e2abad MDEV-11422 rpl.rpl_parallel_optimistic_nobinlog failed in buildbot with "InnoDB: Killing connection failed Deadlock"
innobase_kill_query(): Remove the bogus warning message
(for the valid outcome err==DB_DEADLOCK) that was added in

commit fec844aca8
Author: Jan Lindström <jan.lindstrom@mariadb.com>
Date:   Tue Sep 6 09:43:16 2016 +0300

    Merge InnoDB 5.7 from mysql-5.7.14.

Also, remove some redundant variables and add a debug assertion for
enforcing the proper outcome of lock_trx_handle_wait().
2016-12-08 17:23:41 +02:00
Elena Stepanova
8e702bce66 MDEV-11504 binlog_encryption.encrypted_master_switch_to_unencrypted fails sporadically in buildbot
The reason is a simple race condition. Initially the test was meant to synchronize with master
before showing tables, but it turned out that the slave IO thread should fail by this point,
and synchronization was removed along with a server bugfix. Now added an intermediate sync
instead, to make sure that slave has replicated events before the point of failure
2016-12-08 17:05:01 +02:00
Vladislav Vaintroub
6816c80c30 MDEV-11435 - fix integer divided by zero exception when calculating
buffer pool size

The reason for the exception is previous overflow in multiplication of
two 32bit integers (product was 0 rather than expected 8GB, due
to truncation)
2016-12-08 15:41:09 +01:00
Alexey Botchkov
7f6710e5be MDEV-11489 Assertion `0' failed in json_find_path.
When the json was just a scalar value, json_extract tried
        to parse after the value ended.
2016-12-08 11:25:21 +04:00
Varun Gupta
106664f8e8 MDEV-11162 Assertion `num_records == m_idx_array.size()' failed in Filesort_buffer::alloc_sort_buffer(uint, uint)
Updating result for the group_by_innodb.test
2016-12-08 02:03:34 +05:30
Varun Gupta
822fb79799 MDEV-11162 Assertion `num_records == m_idx_array.size()' failed in Filesort_buffer::alloc_sort_buffer(uint, uint)
When JOIN::destroy() is called for a JOIN object that has
   - join->tmp_join != NULL
   - also has join->table[0]->sort

then the latter was not cleaned up.
This could cause a memory leak and/or asserts in the subsequent queries.

Fixed by adding a cleanup call.
2016-12-08 00:25:48 +05:30
Alexander Barkov
c32d3e16f3 MDEV-10787 Assertion `ltime->neg == 0' failed in void date_to_datetime(MYSQL_TIME*) 2016-12-07 18:05:13 +04:00
Sergei Golubchik
f5e0522d92 MDEV-10388 MariaDB 10.1.x keeps (deleted) ML* files in tmpdir after LOAD DATA completes
truncate unused IO_CACHE backing store files in binlog_cache_data
to release the disk space they were occupying
2016-12-07 13:32:11 +01:00
Alexey Botchkov
1d702ff07c MDEV-8329 MariaDB crashes when replicate_wild_ignore_table is set to NULL.
Rpl_filter::parse_filter_rule() made NULL-safe.
2016-12-07 14:42:08 +04:00
Sergey Vojtovich
e1e1fbc501 Merge pull request #272 from iangilfillan/10.1
Update mysqld_multi man page
2016-12-07 14:05:04 +04:00
iangilfillan
63edd27167 Update mysqld_multi man page 2016-12-07 11:58:40 +02:00
Sergey Vojtovich
2114aa4ac5 Merge pull request #270 from JRonak/MDEV-11354
fixes MDEV-11354 twin include
2016-12-07 13:37:16 +04:00
Jan Lindström
9ea5de3096 Merge branch 'sensssz-10.2-vats' into 10.2 2016-12-07 09:19:27 +02:00
Jan Lindström
7f504c7246 Merge branch '10.2-vats' of https://github.com/sensssz/server into sensssz-10.2-vats 2016-12-07 09:18:41 +02:00
Sergey Vojtovich
52b590bcf9 Merge pull request #271 from iangilfillan/10.0
Update mysqldump man page
2016-12-07 10:04:10 +04:00
Oleksandr Byelkin
d67ef7a2fb MDEV-10663: Use of Inline table columns in HAVING clause throws 1463 Error
check for VIEW/DERIVED fields
2016-12-06 19:34:25 +01:00
Oleksandr Byelkin
035a5ac62a MDEV-10713: signal 11 error on multi-table update - crash in handler::increment_statistics or in make_select or assertion failure pfs_thread == ((PFS_thread*) pthread_getspecific((THR_PFS)))
Move expression execution out of Item constructor.
2016-12-06 18:53:46 +01:00
Oleksandr Byelkin
f988bcecfd MDEV-10776: Server crash on query
Exclude untouched in prepare phese subqueries from the select/unit tree
because they became unreachable by execution.
2016-12-06 16:14:56 +01:00
iangilfillan
3ada316969 Update mysqldump man page 2016-12-06 13:18:48 +02:00
Sergei Golubchik
74d52ded72 fix binlog_encryption.binlog_incident test 2016-12-06 09:45:51 +01:00
Sergei Golubchik
76546a099c MDEV-10382 Using systemd, mariadb doesn't restart on crashes
when crashing on a signal, don't exit(), but re-signal it, so that
the caller could check WIFSIGNALED()
2016-12-06 09:45:50 +01:00
Sergei Golubchik
5142cd55f4 MDEV-11052 mariadb-service-convert does not work after upgrading to 10.1.18
mysqld_safe: don't close stdout and stderr if --dry-run
2016-12-06 09:45:50 +01:00
Sergei Golubchik
b5aa0f437f MDEV-11319 mysqlbinlog crashes or fails with out of memory while reading some encrypted binlogs
support encrypted binlogs. Not decryption, but at least recognizing
that event are encrypted and prining them as such
2016-12-06 09:45:50 +01:00
Sergei Golubchik
952856c810 MDEV-11288 Server crashes in Binlog_crypt_data::init trying to feed encrypted log without decryption capabilities 2016-12-06 09:45:50 +01:00
Alexander Barkov
46dee0d184 MDEV-10717 Assertion `!null_value' failed in virtual bool Item::send(Protocol*, String*)
The problem was that null_value was not set to "false" on a well-formed row.
If an ill-formed row was followed by a well-forned row, null_value remained
"true" in the call of Item::send() for the well-formed row.
2016-12-06 06:54:52 +04:00
Alexey Botchkov
3371904380 MDEV-11447 JSON_MERGE merges valid JSON objects incorrectly.
Test case added.
2016-12-06 01:39:06 +04:00
Alexey Botchkov
fba1eab92f MDEV-11446 JSON_MERGE accepts arguments in invalid format.
Test case added.
2016-12-06 01:35:40 +04:00
Alexey Botchkov
3bae5328ea MDEV-11433 JSON_MERGE returns a non-NULL result with a NULL argument.
Item_func_json_merge fixed.
2016-12-06 01:32:13 +04:00