Commit graph

184205 commits

Author SHA1 Message Date
Monty
1077f320e4 Added backup handler calls
Part of MDEV-5336 Implement LOCK FOR BACKUP

Added support for backup calls in Aria to protect
removal of redo logs.
2018-12-09 22:12:25 +02:00
Monty
ecdf97924c Fixed that CREATE TABLE code used the right create_info
- The old code used the original create_info from lex, not the new one
  that includes more information (like OPT_OR_REPLACE).
  The bug was not discovered as the code in lock_table_named() only
  checked for OPT_OR_REPLACE in case of timeout errors.
  As lock_table_names will be fixed as part of BACKUP STAGE's, there
  is no changes in lock_table_names() in this commit.
- Removed also the 'temporary' copy of statement flags to thd for
  lock_table_names()
2018-12-09 22:12:25 +02:00
Monty
4f541c5f43 Added timing of bootstrap to mtr 2018-12-09 22:12:25 +02:00
Monty
5280af2b4e Cleaned up some MTR tests
- Moved tests depending on utf8 characters from create to create_utf8
- Fixed some tests in create and sp that wrongly tried to create table
  from non existing table on existing table.  In a later patch we may
  first check if table exists, in which case the error message would
  change.
- Updated results for partition_debug_tokudb
2018-12-09 22:12:24 +02:00
Monty
dc91330d98 Fixed test case bug in purge_thread_shutdown 2018-12-09 20:49:06 +02:00
Monty
8561a0ac9e Disabled some galera tests that always fails on OpenSuse 10.5 2018-12-09 20:49:06 +02:00
Monty
84c0563a27 Fixed BUILD scripts to by default work with galera and tokudb
Bascially this means that all builds with BUILD scripts are done with
--with-jemalloc=NO      # Required by tokudb
--with-ssl              # Required on OpenSuse 10.5 to get galera to work
2018-12-09 20:49:05 +02:00
Monty
c8250ed6c5 Add --without-wsrep option to BUILD scripts 2018-12-09 20:49:05 +02:00
Monty
fa8d7f3675 Fixed that mtr --extern works with --include/have_innodb.inc 2018-12-09 20:49:05 +02:00
Monty
c82855d882 Changed some MySQL names in messages to MariaDB
- Remove obsolete documentation files
- Removed old obsolete information from some documentation files
2018-12-09 20:49:05 +02:00
Monty
ae58cd6b87 Simple cleanups (no logic changes) 2018-12-09 20:49:05 +02:00
Varun Gupta
9207a838ed MDEV-17255: New optimizer defaults and ANALYZE TABLE
Added to new values to the server variable use_stat_tables.
The values are COMPLEMENTARY_FOR_QUERIES and PREFERABLY_FOR_QUERIES.
Both these values don't allow to collect EITS for queries like
    analyze table t1;
To collect EITS we would need to use the syntax with persistent like
   analyze table t1 persistent for columns (col1,col2...) index (idx1, idx2...) / ALL

Changing the default value from NEVER to PREFERABLY_FOR_QUERIES.
2018-12-09 13:25:27 +05:30
Varun Gupta
93c360e3a5 MDEV-15253: Default optimizer setting changes for MariaDB 10.4
use_stat_tables= PREFERABLY
optimizer_use_condition_selectivity= 4
2018-12-09 09:22:00 +05:30
Alexander Barkov
a25ce5ab4b MDEV-17928 Conversion from TIMESTAMP to VARCHAR SP variables does not work well on fractional digits 2018-12-08 19:17:29 +04:00
Vladislav Vaintroub
fac997feef Fix Win64 build 2018-12-08 02:19:37 +01:00
Vladislav Vaintroub
b1c41e112c MDEV-17932 : assertion in multi RENAME USER command.
Sort acl_users inside the mysql_rename_user()'s loop, after every
successful iteration.

This is needed because on the next loop's iteration find_user_exact()
is used, which requires correct sorting by name.
2018-12-08 01:17:39 +01:00
Marko Mäkelä
a80f5fdbd1 Merge 10.3 into 10.4 2018-12-08 00:29:21 +02:00
Marko Mäkelä
2fd0acd30f Fix the 64-bit Windows build 2018-12-08 00:06:07 +02:00
Kristian Nielsen
a02cac47f6 Fix an occational test failure in rpl.rpl_gtid_crash 2018-12-07 17:20:31 +01:00
Marko Mäkelä
ce8716a1ed Merge 10.3 into 10.4 2018-12-07 16:29:37 +02:00
Marko Mäkelä
21069c528e Merge 10.2 into 10.3 2018-12-07 15:39:34 +02:00
Marko Mäkelä
53440e2dda MDEV-17923: Fix the pointer arithmetics
&sys_buf + DATA_TRX_ID_LEN is not &(sys_buf + DATA_TRX_ID_LEN).
2018-12-07 15:31:43 +02:00
Marko Mäkelä
52778e2e3e After-merge fix 2018-12-07 15:13:39 +02:00
Marko Mäkelä
5e5deabdbc Merge 10.1 into 10.2 2018-12-07 13:41:10 +02:00
Marko Mäkelä
ecd3a7e00d Merge 10.0 into 10.1 2018-12-07 13:17:32 +02:00
Marko Mäkelä
12b1ba195c MDEV-17904 Crash in fts_is_sync_needed() after failed ALTER or CREATE TABLE
create_table_def(), ha_innobase::create(): Defer fts_optimize_add_table()
until after the table has been successfully created.
2018-12-07 13:12:39 +02:00
Marko Mäkelä
49a50a19a1 MDEV-17923 Assertion failed in trx_undo_page_report_modify after CREATE FULLTEXT INDEX
row_fts_merge_insert(): Correctly initialize DB_ROLL_PTR to a safe value
that will not be dereferenced by MVCC.
2018-12-07 11:54:03 +02:00
Alexander Barkov
a00f8bc3ad Cleanup: removing unused zeroing Datetime() constructor 2018-12-07 12:12:29 +04:00
Kristian Nielsen
34f11b06e6 Move deletion of old GTID rows to slave background thread
This patch changes how old rows in mysql.gtid_slave_pos* tables are deleted.
Instead of doing it as part of every replicated transaction in
record_gtid(), it is done periodically (every @@gtid_cleanup_batch_size
transaction) in the slave background thread.

This removes the deletion step from the replication process in SQL or worker
threads, which could speed up replication with many small transactions. It
also decreases contention on the global mutex LOCK_slave_state. And it
simplifies the logic, eg. when a replicated transaction fails after having
deleted old rows.

With this patch, the deletion of old GTID rows happens asynchroneously and
slightly non-deterministic. Thus the number of old rows in
mysql.gtid_slave_pos can temporarily exceed @@gtid_cleanup_batch_size. But
all old rows will be deleted eventually after sufficiently many new GTIDs
have been replicated.
2018-12-07 07:10:40 +01:00
Vladislav Vaintroub
24a45d3bd7 Fix windows build : re-record .result file 2018-12-06 21:51:38 +01:00
Vladislav Vaintroub
2a2e8ea8fe MDEV-17917 MTR: fixed race conditions in perfschema.socket_connect, main.connect 2018-12-06 21:46:14 +01:00
Vladislav Vaintroub
50c850c9b1 Windows : create a minimalistic MTR test for mysql_install_db.exe
only --datadir option is tested in this test.
Other options (notably --password and --service) would need another,
more comprehensive test.
2018-12-06 15:09:17 +01:00
Sergei Golubchik
6491c591b2 Merge branch '10.0' into 10.1 2018-12-06 15:08:42 +01:00
Sergei Golubchik
daca7e70d7 MDEV-17898 FLUSH PRIVILEGES crashes server with segfault
merge_role_db_privileges() was remembering pointers into Dynamic_array
acl_dbs, and later was using them, while pushing more elements into the
array. But pushing can cause realloc, and it can invalidate all pointers.

Fix: remember and use indexes of elements, not pointers.
2018-12-06 14:22:07 +01:00
Sergei Golubchik
eed0013bed correct order of arguments for Dynamic_array<>::CMP_FUNC2 2018-12-06 14:22:07 +01:00
Sergei Golubchik
8a37ce0767 cleanup: DYNAMIC_ARRAY -> Dynamic_array<ACL_DB> acl_dbs 2018-12-06 14:22:07 +01:00
Vladislav Vaintroub
f77895ebf3 MDEV-15649 Speedup search in acl_users and acl_dbs array,
sorting them by usernames first, and then by get_sort() value.


Search functions now use binary search to find the the first entry with
given name. Then, linear search is done, until the first match.
2018-12-06 09:52:31 +01:00
Varun Gupta
17e8570285 Added a testcase for mdev-17734 2018-12-05 19:31:25 +05:30
Alexander Barkov
bb9b4182e4 MDEV-17906 Class Binary_string 2018-12-05 15:28:08 +04:00
Alexander Barkov
24d6ec8db8 MDEV-17907 Class Static_binary_string 2018-12-05 11:03:46 +04:00
Alexander Barkov
d6a00d9b18 MDEV-17905 Add class Charset 2018-12-05 08:18:15 +04:00
Anel Husakovic
470e9a9fb6 Add CONTRIBUTING file and modify README file about live QA regarding new contributors 2018-12-04 23:15:33 +04:00
Alexander Barkov
1c37ac84ef MDEV-8894 Inserting fractional seconds into MySQL 5.6 master breaks consistency on MariaDB 10 slave
The previous patch 269da4bf19 was
actually for MDEV-8894 (not for MDEV-5377). It was erroneously
pushed with a wrong title.

This patch is a small cleanup for MDEV-8894.
CREATE TABLE is now not a part of binary logs recorded with MySQL,
only INSERT statements are. This will allow to reuse the same binary
logs in combinations with different CREATE TABLE statements,
to tests different data types.
2018-12-04 18:11:45 +04:00
Marko Mäkelä
5ec9b88e11 Disable a frequently failing test 2018-12-04 15:30:04 +02:00
Alexander Barkov
269da4bf19 MDEV-5377 Row-based replication of MariaDB temporal data types with FSP>0 into a different column type 2018-12-04 15:44:14 +04:00
Marko Mäkelä
88a480cecb Merge 10.3 into 10.4 2018-12-04 13:22:26 +02:00
Marko Mäkelä
b6f203984b Merge 10.2 into 10.3 2018-12-04 13:18:14 +02:00
Sergey Vojtovich
0070830cb8 Enable main.connect-abstract 2018-12-04 00:54:14 +04:00
Thirunarayanan Balathandayuthapani
157d3c3bc1 MDEV-17432 Assertion `lock_trx_has_sys_table_locks(trx) == 0' failed upon ALTER TABLE .. ADD FOREIGN KEY
- Fixed innodb.table_flags test case in release build.
2018-12-03 15:57:21 +05:30
Alexander Barkov
466335a44c MDEV-16707 Add an accessor in Item_func_like class for the negated attribute 2018-12-03 13:29:27 +04:00