Commit graph

180832 commits

Author SHA1 Message Date
Vladislav Vaintroub
c139dc6d38 Windows : Fix application verifier errors.
Make different threads that are running data_copy_thread_func()
use the same pthread_mutex for locking (not the copies of the same
pthread_mutex_t).
2018-09-20 19:27:59 +01:00
Vladislav Vaintroub
0fa35ddf1f Amend fix for MDEV-17236
Simplify, and make it work with system tablespace outside of
innodb data home.

Also, do not reread TRX_SYS page  in endless loop,
if it appears to be corrupted.

Use finite number of attempts.
2018-09-20 14:08:57 +01:00
Thirunarayanan Balathandayuthapani
7e4bbd3aa6 MDEV-17236 mariabackup incorrectly tries to open ibdata1
if custom undo tablespace is defined

- In case of multiple undo tablespace, mariabackup have to open system
tablespace to find the list of undo tablespace present in TRX_SYS page.
For opening system tablespace, mariabackup should fetch the file name
from already initialized system tablespace object.
2018-09-20 17:13:12 +05:30
Jan Lindström
654b587999 MDEV-17208: Test failure on galera.MW-286
Test changes only.
2018-09-19 11:33:22 +03:00
Vladislav Vaintroub
4a026596f5 MDEV-15088 Lighter version of Windows Zip distributions
Added forgotten code signing command.
2018-09-18 21:30:03 +01:00
Vladislav Vaintroub
09f8941a91 Merge branch 'bb-10.2-wlad-release' into 10.2 2018-09-18 09:05:26 +01:00
Igor Babaev
6858d5346c MDEV-17201 dropped anchor rows with non-null recursion query
The function st_select_lex_unit::exec_recursive() missed resetting of
select_limit_cnt and offset_limit_cnt before execution of union parts.
As a result recursive CTEs specified by UNIONs whose SELECTs contained
LIMIT/OFFSET could return wrong sets of records.
2018-09-17 23:15:56 -07:00
Marko Mäkelä
65474d92f5 Follow-up to "Fixed wrong printf in mariabackup"
This amends commit 4dc20ff687.

Starting with MariaDB 10.2, InnoDB defines
typedef size_t ulint;

The standard format for size_t uses the z modifier, for example,
"%zu" as in the macro ULINTPF.

"%lu" is wrong for size_t, because sizeof(unsigned long) can be
something else than sizeof(size_t). On Windows, the former would
always be 4 bytes, while size_t would be 4 or 8 bytes.
2018-09-18 06:23:25 +03:00
Marko Mäkelä
4fa9eaf454 Remove unused ha_innobase::lock
In MySQL 5.7, a follow-up to WL#6671 removed the unused
fields ha_innobase::lock and INNOBASE_SHARE::lock, but
MariaDB did not remove them, even though a counterpart of
WL#6671 itself was implemented as MDEV-7660 in
commit d665e79c5b.

INNOBASE_SHARE was removed in MDEV-16557. Thus, all that
needs to be removed is the unused member ha_innobase::lock
and related code.

Thanks to Monty (and Valgrind) for noticing that
ha_innobase::lock was uninitialized.
2018-09-17 08:55:56 +03:00
Michael Widenius
bd7c31621f MDEV-17065 Crash on SHOW CREATE TABLE with CHECK CONSTRAINT
The problem was that the original alias was replaced with a new allocated
string, but constraint item's are still pointing to the original alias.

Fixed by storing the original alias used when printing constraint in the
tables mem_root.
2018-09-16 11:23:27 +03:00
Michael Widenius
4dc20ff687 Fixed wrong printf in mariabackup 2018-09-16 11:23:27 +03:00
Alexey Botchkov
e89b611dc9 MDEV-16050 cte + geometry functions lead to crash.
Structures based on Gcalc_dyn_list need to be treated
properly when copied in Item::get_copy().
2018-09-16 10:22:32 +04:00
Igor Babaev
7419f72b71 Fixed a compiler warning. 2018-09-15 15:43:08 -07:00
Elena Stepanova
7c76f8aa3a Disable incompatible tests 2018-09-15 21:54:22 +03:00
Igor Babaev
3473e0452e MDEV-17154 Multiple selects from parametrized CTE fails with syntax error
This patch fills a serious flaw in the implementation of common table
expressions. Before this patch an attempt to prepare a statement from
a query with a parameter marker in a CTE that was used more than once
in the query ended up with a bogus error message. Similarly if a statement
in a stored procedure contained a CTE whose specification used a
local variables and this CTE was referred to more than once in the
statement then the server failed to execute the stored procedure returning
a bogus error message on a non-existing field.

The problems appeared due to incorrect handling of parameter markers /
local variables in CTEs that were referred more than once.

This patch fixes the problems by differentiating between the original
occurrences of a parameter marker / local variable used in the
specification of a CTE and the corresponding occurrences used
in copies of this specification. These copies are substituted
instead of non-first references to the CTE.

The idea of the fix and even some code were taken from the MySQL
implementation of the common table expressions.
2018-09-14 18:13:16 -07:00
Vladislav Vaintroub
f0ee8496d2 MDEV-15088 Lighter version of Windows Zip distributions
Add new target win_package, that produces
a) light ZIP (no test suite, no sql-bench, no debugsymbols)
b) debug symbols ZIP
2018-09-14 20:54:54 +01:00
Vladislav Vaintroub
6b2da93359 MDEV-17192 Backup with -no-lock should fail, if DDL is detected at the end of backup 2018-09-14 09:36:02 +01:00
Oleksandr Byelkin
28f08d3753 Merge branch '10.1' into 10.2 2018-09-14 08:47:22 +02:00
Jacob Mathew
3866589308 MDEV-16912: Spider Order By column[datatime] limit 5 returns 3 rows
The problem occurs in 10.2 and earlier releases of MariaDB Server because the
Partition Engine was not pushing the engine conditions to the underlying
storage engine of each partition.  This caused Spider to return the first 5
rows in the table with the data provided by the customer.  2 of the 5 rows
did not qualify the WHERE clause, so they were removed from the result set by
the server.

To fix the problem, I have back-ported support for engine condition pushdown
in the Partition Engine from MariaDB Server 10.3.

Author:
  Jacob Mathew.

Reviewer:
  Kentoku Shiba.

Merged:
  Commit eb2ca3d on branch bb-10.2-MDEV-16912
2018-09-13 11:41:55 -07:00
Oleksandr Byelkin
8e68876477 Fix of the test which has debug version 2018-09-13 15:06:44 +02:00
Sergei Petrunia
d85a7220dc MDEV-17188: rocksdb.2pc_group_commit fails intermittently in BB
When counter increment is not within the expected range, print the number
instead of just FAIL.

This doesnt solve the bug but will help with the diagnostics.
2018-09-13 15:00:13 +03:00
Alexey Botchkov
f54485eadb MDEV-17001 JSON_MERGE returns nullwhen merging empty array.
Don't add the comma if nothing appended to the array.
2018-09-13 13:42:09 +04:00
Oleksandr Byelkin
2b46dca5d7 Merge remote-tracking branch 'connect/10.2' into 10.2 2018-09-13 10:09:28 +02:00
Alexey Botchkov
a93363022c MDEV-17018 JSON_SEARCH and User-Defined Variables.
Item_func_json_search needs a member to store the path.
2018-09-12 21:57:28 +04:00
Jacob Mathew
eb2ca3d445 MDEV-16912: Spider Order By column[datatime] limit 5 returns 3 rows
The problem occurs in 10.2 and earlier releases of MariaDB Server because the
Partition Engine was not pushing the engine conditions to the underlying
storage engine of each partition.  This caused Spider to return the first 5
rows in the table with the data provided by the customer.  2 of the 5 rows
did not qualify the WHERE clause, so they were removed from the result set by
the server.

To fix the problem, I have back-ported support for engine condition pushdown
in the Partition Engine from MariaDB Server 10.3.

Author:
  Jacob Mathew.

Reviewer:
  Kentoku Shiba.
2018-09-11 16:29:44 -07:00
Vladislav Vaintroub
c3124174c3 MDEV-17168 mariabackup reports "failed to open bitmap directory"
MariaDB does not support changed page tracking, since 10.2. Remove bitmap
initialization
2018-09-11 15:24:35 +01:00
Alexey Botchkov
c8bb43a938 MDEV-17121 JSON_ARRAY_APPEND.
Extra comma added to the result when an json array is empty.
2018-09-11 14:37:45 +04:00
mkaruza
4d9ec7cb6c MDEV-16052 galera mtr galera_certification_double_failure fails with deadlock
There was change in error reporting from my_error to my_message so new recording is required.
2018-09-11 13:55:40 +03:00
Sergey Vojtovich
e76c4c06f1 MDEV-16773 - Assertion failed in tdc_remove_table
This assertion fails in thread that removes all table instances for
particular table from table cache (e.g. "DROP TABLE") while another
thread evicts table instance of the same table from table cache
concurrently.

After "MDEV-10296 - Multi-instance table cache" there is a gap in
eviction code of tc_add_table() between removing table from free_tables
and all_tables not protected by any mutexes.

This is now valid table cache state, however assertion wasn't amended
along with original patch. Moved assertion down, after waiting for such
table instances to get closed.
2018-09-10 18:31:14 +04:00
Daniel Bartholomew
f1bcfbb437 bump the VERSION 2018-09-08 11:34:22 -04:00
Jan Lindström
f01c4a10d7 Add one more wait for truncate in MW-44. 2018-09-08 08:12:55 +03:00
Igor Babaev
4d991abd4f MDEV-17024 Crash on large query
This problem manifested itself when a join query used two or more
materialized CTE such that each of them employed the same recursive CTE.
The bug caused a crash. The crash happened because the cleanup()
function was performed premature for recursive CTE. This clean up was
induced by the cleanup of the first CTE referenced the recusrsive CTE.
This cleanup destroyed the structures that would allow to read from the
temporary table containing the rows of the recursive CTE and an attempt to read
these rows for the second CTE referencing the recursive CTE triggered a
crash.
The clean up for a recursive CTE R should be performed after the cleanup
of the last materialized CTE that uses R.
2018-09-07 20:10:45 -07:00
Marko Mäkelä
59950df533 Remove some debug-only global status variables 2018-09-07 22:06:20 +03:00
Marko Mäkelä
0927332961 Make some declarations private
recv_addr_state, recv_addr_t: Define in log0recv.cc only.
2018-09-07 22:06:20 +03:00
Marko Mäkelä
93ed717b3d Relax debug assertions for undo tablespace recovery 2018-09-07 22:06:20 +03:00
Marko Mäkelä
9f6a0d291f row_purge_parse_undo_rec(): Deduplicate some code 2018-09-07 22:06:20 +03:00
Marko Mäkelä
68466bb485 innobase_init(): Remove an unnecessary condition
Because innodb_file_per_table can be enabled at runtime after it
was disabled at startup, it is better to always register the same
innobase_hton->tablefile_extensions. Besides,
innodb_file_per_table=OFF does not prevent loading tables that may
have been created earlier with the .ibd file extension.
2018-09-07 22:06:20 +03:00
Sergei Golubchik
908ac40bdb Merge branch 'bb-10.1-release' into 10.1 2018-09-07 20:24:49 +02:00
Sergei Golubchik
0254be96f7 remove doubly-installed file 2018-09-07 20:24:32 +02:00
Vladislav Vaintroub
58389c71c2 MDEV-16671 - crash in mariabackup with my.cnf with plugin-load=ha_rocksdb
Remove plugin-load option from mariabackup. It does not needed to be an
option (we only need to store the plugin-load value during backup phase,
and reuse the same value during --prepare).

Fix is to read plugin-load from backup-my.cnf during prepare.
2018-09-07 18:18:49 +01:00
Elena Stepanova
b1d72f1722 Updated list of unstable tests for 10.1.36 release 2018-09-07 16:49:39 +03:00
Sergei Golubchik
db947b7599 Merge branch '10.0-galera' into 10.1 2018-09-07 15:25:27 +02:00
Jan Lindström
edb3a32c6c MDEV-17143: Galera test failure on galera.MW-44
Test changes only.
2018-09-07 15:58:59 +03:00
Sergei Golubchik
f95d26b4d3 Merge branch '10.1' into bb-10.1-release 2018-09-07 11:52:05 +02:00
Jan Lindström
285969e1c6 Fix result file for wsrep.variables, for some reason had too new
galera library used.
2018-09-07 11:27:15 +03:00
Oleksandr Byelkin
62dbf4f18d post merge 2018-09-07 01:35:09 +02:00
Sergei Golubchik
727324c1e9 Merge tag 'mariadb-10.2.17' into 10.2 2018-09-07 01:14:19 +02:00
Oleksandr Byelkin
31081593aa Merge branch '11.0' into 10.1 2018-09-06 22:45:19 +02:00
Sergei Golubchik
3a4242fd57 TokuDB: Don't free P_S instrumented mutexes after exit()
don't create static objects that destroy mutexes from destructors,
and don't destroy mutexes from .so destructor (on-unload) function.

if it happens after exit(), P_S will be long gone by that time

this fixes tokudb tests crashing on quantal-amd64
2018-09-06 21:06:31 +02:00
Oleksandr Byelkin
d527bf5390 Merge branch 'merge-tokudb-5.6' into 10.0 2018-09-06 21:04:56 +02:00