Commit graph

181407 commits

Author SHA1 Message Date
Andrei Elkin
c565622c6c MDEV-14528 followup.
There was a failure in rpl_delayed_slave after recent MDEV-14528 commit.
The parallel applier should not set its
Relay_log::last_master_timestamp from Format-descriptor log event.
The latter may reflect a deep past so Seconds-behind-master will be
computed through it and displayed all time while the first possibly
"slow" group of events is executed.

The main MDEV-14528 is refined, rpl_delayed_slave now passes also
in the parallel mode.
2018-11-07 21:13:50 +02:00
Marko Mäkelä
e82ebb8f06 MDEV-14528: Disable a failing test 2018-11-07 13:08:00 +02:00
Oleksandr Byelkin
6cecb10a2f MDEV-11167: InnoDB: Warning: using a partial-field key prefix in search, results in assertion failure or "Can't find record" error
Fix ha_rnd_init() argument (we do not doing scan but use rnd_pos)
2018-11-07 09:25:12 +01:00
Marko Mäkelä
89f948c766 Merge 10.1 into 10.2 2018-11-07 08:17:47 +02:00
Marko Mäkelä
59c82dde09 Merge 10.0 into 10.1 2018-11-07 08:08:45 +02:00
Marko Mäkelä
5f29fdecc0 Merge 5.5 into 10.0 2018-11-07 08:02:18 +02:00
Vladislav Vaintroub
04789ec801 MDEV-14781 - threadpool slowdown with slow ssl handshake.
Fix is not to use blocking socket IO during SSL handshake.
With non-blocking socket IO, threadpool is able to utilize the wait
notification callbacks, that vio_io_wait() is calling whenever
socket would block.
2018-11-07 02:10:52 +01:00
Igor Mazur
54b8856b87 MDEV-14528 Track master timestamp in case rolling back to serial replication
When replicated events are from Master unaware of MariaDB GTID their handling by
the Parallel slave misses Seconds_Behind_Master updating.

In the bug condition the Show-Slave-Status' field remains unchanged.

Because in such case event execution is sequential the bug
is fixed with deploying the same logics as in the explicit single-threaded mode
with is to set

  Relay_log_event::last_master_timestamp

member early at the end of event reading from the relay log.
2018-11-06 21:11:49 +02:00
Sergei Petrunia
7dfcb87107 Disable rocksdb.com_rpc_tx test
It tests SQL-level feature that is available in FB/MySQL and not in MariaDB
2018-11-06 17:23:39 +03:00
Anel Husakovic
9c026273a9 Add implementation in .h and delete unneccessery printing 2018-11-06 12:07:26 +00:00
Jan Lindström
ef40018535 MDEV-17230: encryption_key_id from alter is ignored by encryption threads
Background: Used encryption key_id is stored to encryption metadata
i.e. crypt_data that is stored on page 0 of the tablespace of the
table. crypt_data is created only if implicit encryption/not encryption
is requested i.e. ENCRYPTED=[YES|NO] table option is used
fil_create_new_single_table_tablespace on fil0fil.cc.

Later if encryption is enabled all tables that use default encryption
mode (i.e. no encryption table option is set) are encrypted with
default encryption key_id that is 1. See fil_crypt_start_encrypting_space on
fil0crypt.cc.

ha_innobase::check_table_options()
	If default encryption is used and encryption is disabled, you may
        not use nondefault encryption_key_id as it is not stored anywhere.
2018-11-06 10:22:25 +02:00
Marko Mäkelä
bdfe2784d5 Unify a test with the 10.3 version
Remove trailing white space, and use lower case for "eval" and "let".
Add an "End of 10.2 tests" marker to ease future merges.
2018-11-06 08:42:30 +02:00
Marko Mäkelä
32062cc61c Merge 10.1 into 10.2 2018-11-06 08:41:48 +02:00
Marko Mäkelä
bae21bfb5d Merge 10.0 into 10.1 2018-11-05 17:50:41 +02:00
Marko Mäkelä
db55b39fb2 Revert some InnoDB/XtraDB changes
The relevant InnoDB/XtraDB fixes up to 5.6.42 had already
been applied to MariaDB in commit 30c3d6db32.

Revert some changes that appeared in
the merge commit 87d852f102.
2018-11-05 16:47:14 +02:00
Marko Mäkelä
d63e198061 Merge 10.0 into 10.1 2018-11-05 12:15:17 +02:00
Eugene Kosov
03977e8273 MDEV-13671 InnoDB should use case-insensitive column name comparisons like the rest of the server
Problem affects INPLACE ALTER rename columns.

innobase_rename_column_try(): some strcmp() was replaced with my_strcasecmp(),
queries to update data dictionary was updated to not match column name case.
2018-11-05 11:59:59 +02:00
Sergei Golubchik
af9649c722 MDEV-17349 Assertion `!table || (!table->read_set || bitmap_is_set(table->read_set, field_index))' failed on concurrent SELECT and DELETE after RENAME from table with index on virtual column
Race condition. field->flags were copied from s->field->flags during
field->clone(), early in open_table_from_share(). But s->field->flags
were getting their PART_INDIRECT_KEY_FLAG bit much later in
TABLE::mark_columns_used_by_virtual_fields() and only once per share.

If two threads were executing the code between field->clone()
and mark_columns_used_by_virtual_fields() at the same time, only
one would get PART_INDIRECT_KEY_FLAG bits in field[].
2018-11-04 08:12:28 +01:00
Alexey Botchkov
6472c5c015 MDEV-15890 Strange error message if you try to FLUSH TABLES <view> after LOCK TABLES <view>.
LOCK view WRITE shouldn't block FLUSH view.
So we set the view's mdl_request type to it's tables.
2018-11-03 14:24:15 +04:00
Oleksandr Byelkin
b68d8a05d3 MDEV-17401: LOAD DATA from very big file into MyISAM table results in EOF error and corrupt index
my_read fixed as in higher versions.
my_pread made as my_read aware of partial read of huge chunks of files
MY_FULL_IO enabled for file operations
2018-11-02 18:01:49 +01:00
Marko Mäkelä
8a346f31b9 MDEV-17073 INSERT…ON DUPLICATE KEY UPDATE became more deadlock-prone
thd_rpl_stmt_based(): A new predicate to check if statement-based
replication is active. (This can also hold when replication is not
in use, but binlog is.)

que_thr_stop(), row_ins_duplicate_error_in_clust(),
row_ins_sec_index_entry_low(), row_ins(): On a duplicate key error,
only lock all index records when statement-based replication is in use.
2018-11-02 18:52:39 +02:00
Daniel Bartholomew
1a89356382 bump the VERSION 2018-11-02 12:27:38 -04:00
Marko Mäkelä
cfa047069e Remove an unused declaration 2018-11-02 14:30:08 +02:00
Marko Mäkelä
f0cb21ea2e Remove dead code is_thd_killed() 2018-11-02 12:42:01 +02:00
Vicențiu Ciorbaru
1c6b982e02 MDEV-12779 Oracle/DB2 Compatibility Implicit Ordering for ROW_NUMBER OVER
Users expect window functions to produce a certain ordering of rows in
the final result set. Although the standard does not require this, we
already have the filesort result done for when we computed the window
function. If there is no ORDER BY attached to the query, just keep it
till the SELECT is completely evaluated and use that to print the
result.

Update test cases as many did not take care to guarantee a stable
result.
2018-11-01 21:15:55 +02:00
Sergei Golubchik
b7eca63620 fix the test to clean after itself
followup for c32f7ed235
2018-11-01 18:47:53 +01:00
Sergei Golubchik
c32f7ed235 MDEV-17377 invalid gap in auto-increment values after LOAD DATA
reset lex->many_values for LOAD DATA, as it's used for
auto-inc range size estimation.
2018-11-01 16:18:17 +01:00
Daniel Bartholomew
9eb8a46790 bump the VERSION 2018-11-01 11:09:32 -04:00
Sergei Golubchik
dd6e74c62a MDEV-16774 SET PASSWORD and ALTER USER with slightly different results
set both `password` and `authentication_string` columns in `mysql`.`user`
table for now.

Suppress the "password was ignored" warning if the password is
the same as the authentication string
2018-11-01 15:48:15 +01:00
Andrei Elkin
dafbd50e8a MDEV-17133 follow-up patch to fix mf_iocache-t unittest
which did not always correctly simulated io-cache::end_of_file.
The error was caused by implicit cast to unsigned of an intemediate term
in a formula.
2018-11-01 16:06:03 +02:00
Marko Mäkelä
abcd09c95a mtr_t::start(): Remove unused parameters
The parameters bool sync=true, bool read_only=false of mtr_t::start()
were added in
eca5b0fc17
(MySQL 5.7.3).

The parameter read_only was never used anywhere.
The parameter sync was only copied around, and would be returned
by the unused function mtr_t::is_async().

We do not need this dead code in MariaDB.
2018-11-01 10:48:56 +02:00
Marko Mäkelä
d355be8877 Remove dead code in dict_build_table_def_step()
At the start of the function, we already dereferenced node,
so the checks for NULL are unnecessary and redundant.
2018-11-01 10:40:14 +02:00
Varun Gupta
38b3e52c3c MDEV-16695: Estimate for rows of derived tables is very high when we are using index_merge union
For index merge union[or sort union], the estimates are not taken into account while calculating the selectivity of
a condition. So instead of showing the estimates of the index merge union[or sort union], it shows estimates equal to
all the records of the table.
The fix for the issue is to include the selectivity of index merge
union[or sort union] while calculating the selectivity of a condition.
2018-11-01 13:20:26 +05:30
Jan Lindström
c4c738e1ef Revert commit b2f39a5f56 wrong
branch.
2018-11-01 09:27:59 +02:00
Jan Lindström
b2f39a5f56 Add missing wsrep.cnf.sh 2018-11-01 09:15:41 +02:00
Takashi Sasaki
9ff9d2303d test framework manual is moved 2018-11-01 02:22:18 +04:00
Elena Stepanova
8d834cd0f3 Updated list of unstable tests for 10.1.37 release 2018-10-31 23:48:29 +02:00
Sergei Golubchik
bf28ba67b6 update rdiffs for 32bit 2018-10-31 22:06:15 +01:00
Vladislav Vaintroub
f8268f3cce MDEV-17195 Speedup lock-ddl-per-table, if there is a large number of tables
Query INFORMATION_SCHEMA.INNODB_SYS_TABLES only once, and cache results.

As a small cleanup, remove  mdl_lock_con_mutex, the MDL handling
connection is never accessed by multiple threads at the same time.
2018-10-31 17:19:25 +01:00
Alexander Barkov
75ceb6ff13 MDEV-17298 ASAN unknown-crash / READ of size 1 in my_strntoul_8bit upon INSERT .. SELECT 2018-10-31 14:25:26 +04:00
Marko Mäkelä
a5cbdd63bc Fix innodb.table_flags,debug 2018-10-31 12:09:08 +02:00
Sergei Golubchik
b92ff45089 disabling a crashing test 2018-10-31 10:53:37 +01:00
Sergei Golubchik
a6e0000494 Merge branch '10.0' into 10.1 2018-10-31 10:53:22 +01:00
Sergei Golubchik
f4eec7fab0 Merge branch '10.1' into bb-10.1-serg 2018-10-31 09:32:58 +01:00
Sergei Golubchik
09e97299ba Merge branch '5.5' into 10.0 2018-10-31 00:25:26 +01:00
Sergei Golubchik
31f1fe223e don't try to build with OpenSSL 1.1+ 2018-10-30 22:42:22 +01:00
Sergei Golubchik
250c5aa02c ./mtr --gdb='b mysql_parse;r'
--gdb now accepts an argument, it will be passed to gdb as a command.
multiple commands can be separated by a (non-standard and not escapable)
delimiter - semicolon (;).

Old usage with a bare --gdb continues to work too, of course.

Cherry-picked c47c0ca50c 5441bbd3b1 339b905579
2018-10-30 22:42:22 +01:00
Elena Stepanova
a737135ae3 List of unstable tests for 10.0.37 release 2018-10-30 18:15:58 +02:00
Alexey Botchkov
57898316b6 MDEV-17256 Decimal field multiplication bug.
We should clear trailing zeroes in frac part. Otherwise
that tail is growing quickly and forces unnecessary truncating of
arguments.
2018-10-30 18:15:41 +04:00
Sergei Golubchik
44f6f44593 Merge branch '10.0' into 10.1 2018-10-30 15:10:01 +01:00