Commit graph

179260 commits

Author SHA1 Message Date
Marko Mäkelä
3c4cff3357 Merge 10.1 into 10.2 2017-10-02 11:16:53 +03:00
Marko Mäkelä
ac0b5a2e79 Merge 10.0 into 10.1 2017-10-02 10:45:55 +03:00
Marko Mäkelä
de4a00d4f7 Merge 5.5 into 10.0 2017-10-02 10:42:55 +03:00
Marko Mäkelä
028d253dd7 MDEV-13980 InnoDB fails to discard record lock when discarding an index page
btr_cur_pessimistic_delete(): Discard a possible record lock also in
the case when the record was the only one in the page. Failure to
do this would corrupt the record lock data structures in a partial
rollback (ROLLBACK TO SAVEPOINT or rolling back a row operation due
to some error, such as a duplicate key in a unique secondary index).
2017-10-02 10:38:35 +03:00
Marko Mäkelä
76953c0e45 Remove remaining InnoDB references to the TABLESPACE keyword
MySQL 5.7 allows the creation of InnoDB tables in a user-created
tablespace, but MariaDB does not. Remove the remaining references.

This is a non-functional change.
2017-10-02 10:03:47 +03:00
Martynas Bendorius
36ef89c999 wrep_sst_common: Setting "-c ''" for my_print_defaults just takes no values from config at all. $MY_PRINT_DEFAULTS is already set at the top of the script to have --defaults-file and --defaults-extra-file. If WSREP_SST_OPT_CONF if set to "--defaults-file=/etc/my.cnf --defaults-extra-file=/etc/my.extra.cnf", then "my_print_defaults -c "" --defaults-file=/etc/my.cnf" succeeds, but if WSREP_SST_OPT_CONF is empty - no default values are taken at all.
wsrep_sst_xtrabackup-v2: innobackupex does not support --defaults-extra-file, so ${WSREP_SST_OPT_CONF} cannot be used as an argument, it has been changed to ${WSREP_SST_OPT_DEFAULT}. Removed --defaults-file= from INNOMOVE line, because WSREP_SST_OPT_CONF already includes it (INNOBACKUP was fine, INNOMOVE - not).
2017-10-01 15:50:25 +02:00
Alexander Barkov
6857cb57fe MDEV-13967 Parameter data type control for Item_long_func
- Implementing stricter data type control for Item_long_func descendants
- Cleanup: renaming Type_handler::can_return_str_ascii() to can_return_text()
  (a better name).
2017-10-01 00:30:58 +04:00
Vladislav Vaintroub
157d130a87 Fix some conversion warnings. 2017-09-30 09:26:58 +00:00
Alexander Barkov
aa582dedcb MDEV-13966 Parameter data type control for Item_temporal_func 2017-09-30 11:17:19 +04:00
Alexander Barkov
ca38b93e35 MDEV-13965 Parameter data type control for Item_longlong_func 2017-09-29 22:44:07 +04:00
Vladislav Vaintroub
298c56cd6a Fix "ib::fatal::~fatal': destructor never returns, potential memory leak"
warning
2017-09-29 18:15:57 +00:00
Vladislav Vaintroub
a3835fad0c Correct definition of ATTRIBUTE_NORETURN on Windows.
Only microsoft compiler, which can be correctly
tested with #ifdef _MSC_VER) has __declspec(noreturn)
2017-09-29 18:15:20 +00:00
Vladislav Vaintroub
96b9c61787 MDEV-13941 Fix high NTFS fragmentation on 10.2
Prior to this patch, creating or even opening any innodb file in 10.2
would set a sparse flag on file. The file extension was done by setting
end of file, without writing zeros. This technique is fine, however
due to sparsedness, it created a hole at the end of the file, which
lead to much higher fragmentation subsequently.

The fix is only to use sparse flag for compressed tables, where holes
are actually wanted, but not for normal tables.
2017-09-29 17:29:21 +00:00
Vladislav Vaintroub
24d9664ad0 In table cache code, fix casts from longlong to long for
'version' variables.

The warnings occur on Windows build, yet they are also are valid
on 32bit Unix.

Fix is to consistently use 64bit integer on all platforms.
2017-09-29 17:27:21 +00:00
Vladislav Vaintroub
8e8a7f85a9 Fix DBUG_PRINT formatting in query cache.
some ulonglong variables were printed as %lu
2017-09-29 17:26:55 +00:00
Alexander Barkov
dc41bc14e0 MDEV-13964 Parameter data type control for Item_real_func 2017-09-29 20:14:55 +04:00
Marko Mäkelä
7cd4a66de6 Remove unused parameters and dead code
upd_field_set_field_no(): Remove the unused parameter trx, and
remove a debug message. In debug builds, the out-of-bounds access
would still be caught by dict_index_get_nth_col().

trx_undo_update_rec_get_update(): Remove the unnecessary parameter trx.
2017-09-29 16:19:28 +03:00
Marko Mäkelä
358ab5d6b1 Remove remaining references to InnoDB native partitioning
The InnoDB native partitioning (ha_innopart) is a MySQL 5.7
code refactoring exercise that was not merged to MariaDB.
2017-09-29 15:45:58 +03:00
Jan Lindström
b8488e5cf5 MDEV-13932: fil0pagecompress.cc fails to compile with lzo 2.10
Patch contibuted by Gordon Fisher. Thank you for your contribution!
2017-09-29 14:14:22 +03:00
Vladislav Vaintroub
ccf21c9962 fix some conversion warnings 2017-09-28 17:20:46 +00:00
Vladislav Vaintroub
7354dc6773 MDEV-13384 - misc Windows warnings fixed 2017-09-28 17:20:46 +00:00
Vladislav Vaintroub
509928718d MDEV-13384 Fix Windows warnings. thd_alloc functions now use size_t parameters
Fixes some warnings in popular headers.
2017-09-28 17:20:46 +00:00
Vladislav Vaintroub
eba44874ca MDEV-13844 : Fix Windows warnings. Fix DBUG_PRINT.
- Fix win64 pointer truncation warnings
(usually coming from misusing 0x%lx and long cast in DBUG)

- Also fix printf-format warnings

Make the above mentioned warnings fatal.

- fix pthread_join on Windows to set return value.
2017-09-28 17:20:46 +00:00
Alexander Barkov
67eb1252ac Merge remote-tracking branch 'origin/bb-10.2-ext' into 10.3 2017-09-28 18:56:15 +04:00
Alexander Barkov
7131a0a803 Merge remote-tracking branch 'origin/10.2' into bb-10.2-ext 2017-09-28 18:42:14 +04:00
Alexander Barkov
139441d0a0 A cleanup for MDEV-13919 sql_mode=ORACLE: Derive length of VARCHAR SP param...
The intent of this patch is to avoid copying arguments from
a pair "Item **args, uint arg_count" to List<Item> in
sp_head::execute_function(). If the number of a stored function parameters
is huge, such copying can affect performance.

Change:
1. Adding a new method Row_definition_list::adjust_formal_params_to_actual_params,
   which accepts a pair of "Item **, uint".
2. Modifying the code to use the new method:
   - the calls for sp_rcontext::retrieve_field_definitions() and
     Row_definition_list::adjust_formal_params_to_actual_params() have
     been moved from sp_rcontext::create() to sp_head::rcontext_create(),
     to handle different argument notations easier (Item** vs List<Item>).
   - sp_rcontext::create() now assumes that the passed Row_definition_list
     is already adjusted to the actual SP parameters, and all "TYPE OF"
     and "ROWTYPE OF" references are resolved.
3. Removing creation of List<Item> in sp_head::execute_procedure(),
   using the code with "Item**, uint" notation instead.
4. Improvement of the code for MDEV-10577:
   As a good side effect, this patch gets rid of double security context
   switch inside sp_head::execute_trigger():
   sp_rcontext is created when the context is already switched,
   so the second context switch inside sp_head::rcontext_create() was
   redundant. This is solved by adding a "bool switch_secutiry_ctx" parameter
   to rcontext_create(), so now execute_function() and execute_procedure()
   pass "true", while execute_trigger() passes "false".
2017-09-28 17:48:33 +04:00
Alexander Barkov
596baeb1bf A cleanup for MDEV-10577 and MDEV-13919: moving a few sp_rcontext methods
Moving a few methods from sp_rcontext to different classes:

- Table_ident::resolve_table_rowtype_ref
- Qualified_column_ident::resolve_type_ref
- Row_definition_list::resolve_table_rowtype_ref
- Row_definition_list::adjust_formal_params_to_actual_params

It easier to reuse these methods this way in the future.
2017-09-28 17:26:23 +04:00
Alexander Barkov
3a6d94428f Fixing a warning introduced by MDEV-13919 ("true" instread of "return true") 2017-09-28 17:00:42 +04:00
Marko Mäkelä
de7c2e5e54 Avoid implicit conversion from unsigned to signed 2017-09-28 15:12:00 +03:00
Jan Lindström
4d01dd79a1 MDEV-12634: Uninitialised ROW_MERGE_RESERVE_SIZE bytes written to temporary file
After review cleanup.
2017-09-28 12:38:51 +03:00
Monty
5a0cd753be Added missing test if table is transactional or not in Aria
- The line was accidently removed by dd8474b1dc
- The effect of the missing test was just a few extra malloc when creating
  internal temporary tables. Nothing critical, but better got get fixed.
2017-09-28 11:59:28 +03:00
Alexander Barkov
c9a01420cf Additional tests for MDEV-13919 sql_mode=ORACLE: Derive length of VARCHAR... 2017-09-28 11:05:27 +04:00
Daniel Bartholomew
4aeec7275f bump the VERSION 2017-09-27 18:27:39 -04:00
Daniel Bartholomew
8d006b9b12 bump the VERSION 2017-09-27 18:25:32 -04:00
Monty
06f7a7620f Fixed compiler warning 2017-09-27 22:19:39 +03:00
Monty
2fdbe15032 Correct test output after variable comment change 2017-09-27 22:19:26 +03:00
Vladislav Vaintroub
c6e8d66e59 Fix buildbot error on windows.
Update.rdiff fle

Also, introduce my_popen()/my_fgets() wrapper function for popen()/fgets()
in mysqltest to workaround a popen() bug in Windows C runtime,
mentioned in MDEV-9409

This workaround was used previously for "exec". From now on, it is also
used are used also for "perl" snippets.
2017-09-27 19:06:06 +00:00
halfspawn
f44d5de689 MDEV-13919 sql_mode=ORACLE: Derive length of VARCHAR SP parameters with no length from actual parameters 2017-09-27 16:49:40 +02:00
Eugene Kosov
fd2c5d19d0 fix a data race
reapply 6192f0bffa

TSAN warnings count decreased from 206 to 195
2017-09-27 13:47:56 +04:00
Sergei Golubchik
f0e9bebd27 MDEV-13897 SELECT @a := MAX(col) FROM t requires full index scan
fix some old bad merge
2017-09-27 10:22:15 +02:00
Sergei Golubchik
5b01b88e2b update test results on 32-bit 2017-09-27 10:22:15 +02:00
Sergei Golubchik
f7628ca3c2 cleanup: remove useless "inline" keywords
avoid a function call for a commonly used one-liner.
followup for 0627929f62
2017-09-27 10:22:14 +02:00
Sergei Golubchik
7dc1815d5c cleanup: reduce code duplication
remove copy-pasted code, fix meaningless comparison.
followup for ea2162b6aa
2017-09-27 10:18:06 +02:00
Sachin Setiya
0627929f62 MDEV-13787 Crash in persistent stats wsrep_on (thd=0x0)
Problem:- This crash happens because of thd = NULL , and while checking
for wsrep_on , we no longer check for thd != NULL (MDEV-7955). So this
problem is regression of MDEV-7955. However this patch not only solves
this regression , It solves all regression caused by MDEV-7955 patch.

To get all possible cases when thd can be null , assert(thd)/
assert(trx->mysql_thd) is place just before all wsrep_on and innodb test
suite is run. And the assert which caused failure are removed with a physical
check for thd != NULL. Rest assert are removed. Hopefully this method will
remove all current/potential regression of MDEV-7955.
2017-09-27 10:15:08 +05:30
Alexander Barkov
d387bc89ed MDEV-13907 compoind.test fails in build-bot for bb-10.2-ext 2017-09-26 08:03:08 +04:00
Monty
a02b81daea Moved autosetting of host_cache_size and back_log to proper place
- Clean up formulas and comments for host_cache_size and back_log
- Added test of autoset (for host_cache_size)
- Marked open_files_limit as auto_set
2017-09-26 00:13:04 +03:00
Marko Mäkelä
4a32e2395e Merge bb-10.2-ext into 10.3 2017-09-25 22:05:56 +03:00
Marko Mäkelä
86c3ba65aa Merge 10.2 into bb-10.2-ext 2017-09-25 21:45:44 +03:00
Marko Mäkelä
742263df4f MDEV-13256 innodb.truncate_debug fails in buildbot
Ensure that no adaptive hash index exists for any system tables,
so that the blocked TRUNCATE TABLE t1 will not block the concurrent
TRUNCATE TABLE t2.
2017-09-25 21:44:54 +03:00
Daniel Bartholomew
e3dee83768 bump the VERSION 2017-09-25 13:41:20 -04:00