Commit graph

172698 commits

Author SHA1 Message Date
Nirbhay Choubey
59037d9629 MDEV-8208: Sporadic SEGFAULT on startup
Problem:
When mysqld starts as a galera node, it creates 2 system threads
(applier & rollbacker) using start_wsrep_THD(). These threads are
created before plugin initialization (plugin_init()) for SST methods
like rsync and xtrabackup.

The threads' initialization itself can proceed in parallel to mysqld's
main thread of execution. As a result, the thread initialization code
(start_wsrep_THD()) can end up accessing some un/partially initialized
structures (like maria_hton, in this particular case) resulting in
segfault.

Solution:
Fixed by calling THD::init_for_queries() (which accesses maria_hton)
only after the plugins have been initialized.
2015-09-25 18:24:39 -04:00
Alexander Barkov
30711c6650 MDEV-8806 Numeric CAST produce different warnings for strings literals vs functions 2015-09-25 21:33:50 +04:00
Jan Lindström
26e4403f64 MDEV-8819: Failing assertion: block->page.space == page_get_space_id(page_align(ptr)) in file buf0buf.cc line 2551
Add error handling on page reading and do not try to access empty pages.
2015-09-25 11:54:03 +03:00
Sergei Golubchik
9554342d16 Merge branch '10.1' into pull-request-97
Merge downstream Debian packaging (MDEV-6284)
2015-09-25 10:24:14 +02:00
Alexander Barkov
4070ce00dc MDEV-8635 Redundant warnings on WHERE decimal_column='ax'
The fix for MDEV-8466 earlier fixed MDEV-8635 as well. Adding a test only.
2015-09-25 07:18:04 +04:00
Sergei Petrunia
125001881d Fix typos in JSON MRR output 2015-09-24 16:31:45 +03:00
Sergei Petrunia
7016621596 MDEV-8829: Assertion `0' failed in Explain_table_access::tag_to_json
- Add EXPLAIN/ANALYZE FORMAT=JSON handling for a few special cases.
2015-09-24 15:45:54 +03:00
Alexander Barkov
428f03c0b5 MDEV-8839 COLUMN_GET() produces warnings with no data 2015-09-24 15:48:02 +04:00
Alexander Barkov
e541894260 Fixing a failure in "mtr --ps xml",
introduced by the patch for MDEV-8466 and MDEV-8468.
Using --enable_prepare_warnings and --disable_prepare_warnings
around the affected query, to have the same warning in regular
and --ps mtr runs.
2015-09-23 20:59:54 +04:00
Alexander Barkov
3ad035f66b MDEV-8658 DATE(zerofill_column) and DATE(COALESCE(zerofill_column)) return different results
MDEV-8660 TIME(int_zerofill_column) returns a wrong result
2015-09-23 20:42:28 +04:00
Elena Stepanova
b9da3ba45e Follow-up for MDEV-6756 - fix the ps-protocol version of the tests 2015-09-23 19:28:20 +03:00
Elena Stepanova
70effb6be8 Follow-up for MDEV-6756 - fix the embedded version of the test 2015-09-23 19:15:29 +03:00
Elena Stepanova
138e7bffaf Follow up for disabling encrypt_tmp_files and encrypt_binlog by default 2015-09-23 19:06:21 +03:00
Jan Lindström
5c62dd21e8 MDEV-8832: Encryption meta data should not be stored when ENCRYPTED=DEFAULT and innodb-encrypt-tables=OFF 2015-09-23 17:34:36 +03:00
Alexander Barkov
212698b152 MDEV-8253 EXPLAIN SELECT prints unexpected characters
Item_string::clone_item() creates a new Item_string that
points exactly to the same buffer that the original one does.
Later, Item_string::print() uses c_ptr() for the original Item_string,
which reallocs the original buffer, and the clone remain with
the old freed buffer.
Refactoring the code not to use c_ptr() in Item_string::print().
2015-09-23 13:04:28 +04:00
Jan Lindström
180c44e0f6 MDEV-8817: Failing assertion: new_state->key_version != ENCRYPTION_KEY_VERSION_INVALID
Folloup: Made encryption rules too strict (and incorrect). Allow creating
table with ENCRYPTED=OFF with all values of ENCRYPTION_KEY_ID but create
warning that nondefault values are ignored. Allow creating table with
ENCRYPTED=DEFAULT if used key_id is found from key file (there was
bug on this) and give error if key_id is not found.
2015-09-23 10:20:05 +03:00
Sergey Vojtovich
7cbecadf9b MDEV-8664 - plugins.show_all_plugins --embedded fails in buildbot
Failed attempt to load dynamic library with STB_GNU_UNIQUE symbol may corrupt
internal dynamic linker data sructures. This looks like libdl bug:
https://sourceware.org/bugzilla/show_bug.cgi?id=14577

In embedded mode "show plugins soname" fails to dlopen ha_mroonga.so (which
has STB_GNU_UNIQUE) due to undefined reference to wsrep_forced_binlog_format.
It crashes later in subsequent call to dlopen() from  pthread_exit().

Disabled plugins.show_all_plugins until dlopen() bug is fixed.
2015-09-22 16:37:26 +04:00
Jan Lindström
0cf39f401c MDEV-8817: Failing assertion: new_state->key_version != ENCRYPTION_KEY_VERSION_INVALID
Analysis: Problem sees to be the fact that we allow creating or altering
table to use encryption_key_id that does not exists in case where
original table is not encrypted currently. Secondly we should not
do key rotation to tables that are not encrypted or tablespaces
that can't be found from tablespace cache.

Fix: Do not allow creating unencrypted table with nondefault encryption key
and do not rotate tablespaces that are not encrypted (FIL_SPACE_ENCRYPTION_OFF)
or can't be found from tablespace cache.
2015-09-22 15:13:48 +03:00
Alexander Barkov
5c9c8ef1ea MDEV-3929 Add system variable explicit_defaults_for_timestamp for compatibility with MySQL 2015-09-22 14:01:54 +04:00
Jan Lindström
89af0f11a8 MDEV-8770: Incorrect error message when importing page compressed tablespace
Added decompression and after page update recompression support for
import.
2015-09-22 07:35:00 +03:00
Sergei Petrunia
e96f3c79b9 MDEV-8779: mysqld got signal 11 in sql/opt_range_mrr.cc:100(step_down_to)
Post fix: initialize a variable
2015-09-22 00:57:29 +03:00
Alexander Barkov
22cc8f990b Changing a number of functions to aggregate argument character sets
and collations from the global name space into private and protected
methods in Item_func_or_sum.
2015-09-21 19:04:32 +04:00
Sergei Petrunia
9b9e36ed49 MDEV-8779: mysqld got signal 11 in sql/opt_range_mrr.cc:100(step_down_to)
The crash was caused by range optimizer using RANGE_OPT_PARAM::min_key
(and max_key) to store keys. Buffer size was a good upper bound for
range analysis and partition pruning, but not for EITS selectivity
calculations.

Fixed by making these buffers variable-size. The sizes are calculated
from [pseudo]indexes used for range analysis.
2015-09-21 17:08:27 +03:00
Oleksandr Byelkin
139ce6cb18 fix for 32bit system. Not meaninful for this test but volatile parameters replaced. 2015-09-21 15:17:06 +02:00
Alexander Barkov
c8db0df2da Removing "DTCollation Arg_comparator::cmp_collation".
Using a CHARSET_INFO pointer instead.
2015-09-21 16:18:20 +04:00
Alexander Barkov
2dc32c02ab Removing "DTCollation user_var_entry::collation", using a CHARSET_INFO
pointer instread, as the "derivation" and "repertoire" parts of
DTCollation were not really used by user_var_entry.
2015-09-21 15:52:50 +04:00
Alexander Barkov
afa1773439 Moving Item_args::arg_count from "public" to "protected". 2015-09-21 12:40:07 +04:00
Alexander Barkov
1956340247 Removing global function agg_item_charsets_for_string_result().
Moving agg_arg_charsets_for_string_result() and
agg_arg_charsets_for_string_result_with_comparison() inside
"protected" section in Item_func_or_sum.
2015-09-21 12:21:46 +04:00
Oleksandr Byelkin
f727fb45d4 Fix to make os_thread_id it compiled on windows. 2015-09-20 20:23:16 +02:00
Nirbhay Choubey
d39a2f7d11 Update mandatory wsrep configuration options 2015-09-19 09:08:58 -04:00
Jan Lindström
161db7c18f MDEV-8773: InnoDB innochecksum does not work with encrypted or page compressed tables 2015-09-19 11:31:39 +03:00
Alexander Barkov
b75c003372 MDEV-8816 Equal field propagation is not applied for WHERE varbinary_column>=_utf8'a' COLLATE utf8_general_ci AND varbinary_column='A';
1. Removing the legacy code that disabled equal field propagation in cases
   when comparison is done as VARBINARY. This is now correctly handled by
   the new propagation code in Item_xxx::propagate_equal_fields() and
   Field_str::can_be_substituted_to_equal_item (the bug fix).
2. Also, removing legacy (pre-MySQL-4.1) Arg_comparator methods
   compare_binary_string() and compare_e_binary_string(), as VARBINARY
   comparison is correcty handled in compare_string() and compare_e_string() by
   the corresponding VARBINARY collation handler implemented in my_charset_bin.
   (not really a part of the bug fix)
2015-09-18 23:03:35 +04:00
Oleksandr Byelkin
da3ec3d421 MDEV-7970: EXPLAIN FORMAT=JSON does not print HAVING
Printing non-trivial HAVING added.
2015-09-18 16:08:13 +02:00
Alexander Barkov
79140b0383 MDEV-8793 Wrong result set for SELECT ...
WHERE COALESCE(time_column)=TIME('00:00:00')
            AND COALESCE(time_column)=DATE('2015-09-11')
MDEV-8814 Wrong result for WHERE datetime_column > TIME('00:00:00')
2015-09-18 13:30:44 +04:00
Alexander Barkov
f789158ddf The patch for MDEV-8466 revealed a bug in str2my_decimal,
which did not return a correct "end_of_num" pointer in case
of character sets with mbminlen>1 (ucs2, utf16, utf16le, utf32).
The bug caused sporadic test failures on BuildBot,
as well "uninitialized memory read" errors in valgrind builds.
2015-09-17 19:49:49 +04:00
Jan Lindström
c83810f402 Fix test failures seen on buildbot where file_key_management plugin
is linked statically and dynamic plugin is not available.
2015-09-17 16:40:31 +03:00
Oleksandr Byelkin
7dd137c4ac MDEV-6756: map a linux pid (child pid) to a connection id shown in the output of SHOW PROCESSLIST
Added tid (thread ID) for system where it is present.

 ps -eL -o tid,pid,command

shows the thread on Linux
2015-09-17 14:30:58 +02:00
Alexander Barkov
d9b25ae3db MDEV-8466 CAST works differently for DECIMAL/INT vs DOUBLE for empty strings
MDEV-8468 CAST and INSERT work differently for DECIMAL/INT vs DOUBLE for a string with trailing spaces
2015-09-17 11:05:07 +04:00
Sergey Vojtovich
c69cf93bfb MDEV-8673 - [PATCH] Missing Sanity Check for strndup() in MariaDB 10.0.2x
Contributed by Bill Parker.

Added check for strndup() return value.
2015-09-16 17:24:34 +04:00
Jan Lindström
173e486950 MDEV-8576: Bootstrap should ignore --enforce-storage-engine option
Allow enforce-storage-engine="" option and use that on mysql_install_db
when doing bootstrap.
2015-09-16 13:14:19 +03:00
Nirbhay Choubey
bb52905432 MDEV-8034 : wsrep_node_address can't be IPV6
Updated address parsing logic to include IPv6 format.
2015-09-15 18:58:08 -04:00
Nirbhay Choubey
31cf362c21 MDEV-7873: rpl.rpl_domain_id_filter fails sporadically in buildbot #2
Fix the test case : switch to save_master_gtid.inc &
sync_with_master_gtid.inc to sync slave with master.
2015-09-15 08:49:55 -04:00
Jan Lindström
6cc1befcf2 Fix test to do proper cleanup. 2015-09-15 14:11:33 +03:00
Jan Lindström
9e6f3df51a MDEV-8799: Server crashes in btr_defragment_add_index, encryption.innodb-bad-key-change5 and alike fail in buildbot
Problem was unsafe access to NULL pointer. Added additional checks to avoid
access to NULL pointer.
2015-09-15 09:40:04 +03:00
Alexander Barkov
3a0df3cf3c MDEV-8372 Use helper methods introduced in MDEV-7824 all around the code 2015-09-15 10:11:52 +04:00
Jan Lindström
3079bd43af Fix release build compile failure. 2015-09-14 16:28:16 +03:00
Jan Lindström
4d3f680c95 MDEV-8772: Assertion failure in file ha_innodb.cc line 20027 when importing page compressed and encrypted tablespace using incorrect keys
Add error handling to decryp function when decrypt fails during
import.
2015-09-14 14:11:23 +03:00
Sergei Golubchik
5448df084b restore CRLF file ending in the test data 2015-09-14 12:02:20 +02:00
Jan Lindström
ddaddf1019 MDEV-8769: Server crash at file btr0btr.ic line 122 when defragmenting encrypted table using incorrect keys
Add error handling when getting block from encrypted table and decryption
fails.
2015-09-14 12:15:27 +03:00
Sergei Golubchik
e3e2bbe5e0 MDEV-6284 Merge downstream Debian/Ubuntu packaging into upstream MariaDB
Merge branch 'ottok-ok-debpkg-10.1' into 10.1
2015-09-14 10:58:38 +02:00