Commit graph

184960 commits

Author SHA1 Message Date
Marko Mäkelä
1bd9815479 MDEV-14126: Fix type mismatch
Backport some changes to B-tree page accessor functions from 10.3,
including changing page_get_n_recs() to return uint16_t.
2019-03-25 11:27:29 +02:00
Marko Mäkelä
c3a6c683e2 Merge 10.2 into 10.3 2019-03-25 11:03:19 +02:00
Marko Mäkelä
72b934e3f7 MDEV-14126: Detect unexpected emptying of B-tree pages
If an index page becomes empty, btr_page_empty() should be called.
2019-03-25 10:53:01 +02:00
Marko Mäkelä
a4d0d6828b MDEV-14126: Improve assertions in btr_pcur_store_position() 2019-03-25 10:53:00 +02:00
Marko Mäkelä
b59d484696 MDEV-14126: Remove page_is_root()
The predicate page_is_root(), which was added in MariaDB Server 10.2.2,
is based on a wrong assumption.

Under some circumstances, InnoDB can transform B-trees into a degenerate
state where a non-leaf page has no sibling pages. Because of this,
we cannot assume that a page that has no siblings is the root page.
This bug will be tracked as MDEV-19022.

Because of the bug that may affect many InnoDB data files, we must remove
and replace the wrong predicate. Using the wrong predicate can cause
corruption. A leaf page is not allowed to be empty except if it is the
root page, and the entire table is empty.
2019-03-25 10:53:00 +02:00
Marko Mäkelä
71c781bfe7 MDEV-18090 Assertion failures due to virtual columns after upgrading to 10.2
MariaDB before MDEV-5800 in version 10.2.2 did not support
indexed virtual columns. Non-persistent virtual columns were
hidden from storage engines. Only starting with MDEV-5800, InnoDB
would create internal metadata on virtual columns.

Similar to what was done in MDEV-18084 and MDEV-18960, we adjust two more
code paths for the old tables.

ha_innobase::build_template(): Do not invoke
dict_index_contains_col_or_prefix() for virtual columns if InnoDB
does not store the metadata.

innobase_build_col_map(): Relax an assertion about the number of columns.

ha_innobase::omits_virtual_cols(): Renamed from omits_virtual_cols().
2019-03-25 10:29:48 +02:00
Alexander Barkov
f03f4da663 SEQUENCE tests for MDEV-18892 Regression in slow log and admin statements
Adding tests to cover how SEQUENCE related statements work in combination
with the slow log configuration commands.
2019-03-25 07:43:07 +04:00
Chris Calender
c61e8a6597 Fix for MDEV-17449, typo in error message (#1146) 2019-03-24 21:24:28 +04:00
Olivier Bertrand
35bc91e24a Typo 2019-03-24 17:32:01 +01:00
Olivier Bertrand
fc1f3908c1 - Fix MDEV-15793: Server crash in PlugCloseFile with sql_mode=''
Fixed by replacing sprinf by snprintf in ShowValue to avoid
  buffer overflow. It nows always use a buffer and returns int.
  modified:   storage/connect/tabdos.cpp
  modified:   storage/connect/tabfmt.cpp
  modified:   storage/connect/value.cpp
  modified:   storage/connect/value.h
2019-03-23 17:51:40 +01:00
Sergei Golubchik
77e2aca3f0 cmake 3.14
new location for CPackRPM.cmake
2019-03-23 14:33:36 +01:00
Elena Stepanova
0e56eba9d5 Updated list of unstable tests for 10.2.23 2019-03-23 11:29:24 +01:00
Chris Calender
2d6e627a9f Fix for MDEV-18276, typo in error message + all other occurrences of refering 2019-03-23 00:10:18 +04:00
Chris Calender
d8b7e76c37 Fix for MDEV-18276, typo in error message + all other occurrences of refering 2019-03-23 00:00:47 +04:00
Eugene Kosov
dcdeb39480 remove dead code
found by @marko
2019-03-22 23:08:46 +04:00
Eugene Kosov
1d77a566ea remove dead code 2019-03-22 23:08:19 +04:00
Eugene Kosov
92d1c9611e remove dead code 2019-03-22 23:07:13 +04:00
Eugene Kosov
2327d4e430 remove unused method 2019-03-22 23:00:42 +04:00
Eugene Kosov
67b601c503 remove unused argument 2019-03-22 22:57:16 +04:00
Eugene Kosov
8e9c5d1057 remove dead code 2019-03-22 22:53:16 +04:00
Eugene Kosov
a07e29a0e5 cleanup TABLE_SHARE 2019-03-22 22:50:17 +04:00
Eugene Kosov
53216091dd remove dead code 2019-03-22 22:33:27 +04:00
Eugene Kosov
a97ca9fe5b remove dead code 2019-03-22 22:31:26 +04:00
Eugene Kosov
a523444eda remove dead code 2019-03-22 22:30:36 +04:00
Sergei Golubchik
07c3e90210 MDEV-18954 numa dynamic dependency
don't link with libnuma in release builds
2019-03-22 15:42:10 +01:00
Sergei Golubchik
a794db9ade cmake: remove unused variable 2019-03-22 15:40:30 +01:00
FaramosCZ
ed643f4bb3 Fix resource leak
The 'bitmap_dir' has to be closed when no longer needed
2019-03-22 16:19:30 +04:00
Alexander Barkov
f704361cd6 Backporting slow log simulation logic details from 10.2 to 10.1
Simulate slow statements only for COM_QUERY and COM_STMT_EXECUTE commands,
to exclude mysqld_stmt_prepare() and mysqld_stmt_close() entries from the log,
as they are not relevant for log_slow_debug.test. This simplifies the test.
2019-03-22 15:56:45 +04:00
FaramosCZ
9c9bf9642e Fix resource leak 2019-03-22 15:48:26 +04:00
FaramosCZ
89e390b7ce Fix resource leak 2019-03-22 15:20:56 +04:00
FaramosCZ
9ff713d33a Fix resource leak 2019-03-22 14:52:30 +04:00
Alexander Barkov
1c60f40868 Merge remote-tracking branch 'origin/10.2' into 10.3 2019-03-22 14:41:36 +04:00
Marko Mäkelä
50a8fc5298 MDEV-18224 MTR's internal check of the test case 'innodb.recovery_shutdown' failed due to extra #sql-ib*.ibd files
The test innodb.recovery_shutdown would occasionally fail,
because recovered incomplete transactions would be conflicting
with DROP TABLE, causing the background drop table queue to be invoked.

Add a slow shutdown before dropping the tables, so that the
recovered transactions will be rolled back. Starting with MDEV-14705,
normal shutdown would abort the rollback of recovered transactions.
2019-03-22 11:16:06 +02:00
Marko Mäkelä
031fa8f1d2 Merge 10.1 into 10.2 2019-03-22 11:15:21 +02:00
sachin
778c525ff8 MDEV-17119 replicate_rewrite_db does not work for single chardatabase name
Fixed issue in logic.
2019-03-22 12:13:24 +05:30
Alexander Barkov
f4484dfdbf MDEV-19008 Slow EXPLAIN SELECT ... WHERE col IN (const1,const2,(subquery)) 2019-03-22 07:28:59 +04:00
FaramosCZ
8be02be08b Fix USE_AFTER_FREE (CWE-672)
The file will be closed on line 540
2019-03-22 02:32:47 +04:00
FaramosCZ
137812c88a Fix USE_AFTER_FREE (CWE-416)
swap two lines
2019-03-22 01:42:04 +04:00
chriscalender
f00e25b4c4 Fix for MDEV-15538, '-N' Produce html output wrong 2019-03-22 01:01:59 +04:00
Chris Calender
9d2d80aace Update sql_parse.cc
Corrected one more "refering" typo.
2019-03-22 00:40:32 +04:00
Marko Mäkelä
8c493a910f Merge 10.0 into 10.1 2019-03-21 21:06:01 +02:00
Marko Mäkelä
925b503058 Merge 5.5 into 10.0 2019-03-21 10:34:00 +02:00
Marko Mäkelä
5d454181a8 MDEV-6262 follow-up: Ensure NUL termination on strncpy() 2019-03-21 10:29:59 +02:00
Marko Mäkelä
482710b20c Remove an unused variable 2019-03-21 10:14:57 +02:00
Marko Mäkelä
5a780f2ec8 Merge 10.2 into 10.3 2019-03-21 10:14:23 +02:00
Marko Mäkelä
1caec9c898 Remove unnecessary trx_rsegf_get_new() calls
trx_rseg_header_create(): Return the block descriptor, and
remove the redundant trx_rsegf_get_new() call. Apparently
the idea of that call was some kind of encapsulation or
abstraction, to discourage the direct use of the constant TRX_RSEG.

This also removes the trx_purge_initiate_truncate() local
variable rseg_header, which was only used in debug builds.
2019-03-21 09:40:01 +02:00
Marko Mäkelä
5c1720f8af Remove unused variables from non-debug build 2019-03-21 09:30:37 +02:00
Marko Mäkelä
dcc4458aa0 Add appropriate #ifdef around a declaration 2019-03-21 09:30:03 +02:00
Marko Mäkelä
185a5000e6 Silence bogus -Wmaybe-uninitialized 2019-03-21 09:24:03 +02:00
Marko Mäkelä
3d1b6f68f1 Mariabackup: Ensure NUL termination in strncpy() 2019-03-21 08:54:35 +02:00