- 06 Nov, 2017 3 commits
-
-
Igor Babaev authored
The bug was fixed by the patch for the bug mdev-13780.
-
Igor Babaev authored
It's better to prohibit pushdown of conditions that involve regexp_substr() and regexp_replace() into materialized derived tables / views until proper implementations of the get_copy() virtual method are provided for those functions.
-
Igor Babaev authored
The support of embedded CTEs was not correct in the cases when embedded CTEs were used multiple times. The problems occurred with both non-recursive (bug mdev-13780) and recursive (bug mdev-14184) embedded CTEs.
-
- 04 Nov, 2017 1 commit
-
-
Sergei Petrunia authored
-
- 02 Nov, 2017 5 commits
-
-
Igor Babaev authored
in joined table + GROUP BY + GROUP_CONCAT + HAVING + ORDER BY [by field from HAVING] + 1 row expected The fix is actually a port of the fix for bug #17055185 from mysql code line (see commit f289aeeef0743508ff87211084453b3b88a6d017 by Mithun C Y into mysql-5.6). The test case for the bug #17055185 was also ported.
-
Vladislav Vaintroub authored
-
Sergei Petrunia authored
- FB/MySQL 5.6' MyRocks has START TRANSACTION WITH CONSISTENT ROCKSDB SNAPSHOT, which returns binlog position. - MariaDB has a cross-engine START TRANSACTION WITH CONSISTENT SNAPSHOT. It can be used for the same purpose. Binlog position can be obtained from Binlog_snapshot_file/position status vars.
-
Marko Mäkelä authored
os_file_set_size(): If posix_fallocate() returns EINVAL, fall back to writing zero bytes to the file. Also, remove some error log output, and make it possible for a server shutdown to interrupt the fall-back code. MariaDB 10.2 used to handle the EINVAL return value from posix_fallocate() before commit b731a5bc which refactored os_file_set_size() to try posix_fallocate(). Why is the EINVAL returned? The GNU posix_fallocate() function would first try the fallocate() system call, which would return -EOPNOTSUPP for many file systems (notably, not ext4). Then, it would fall back to extending the file one block at a time by invoking pwrite(fd, "", 1, offset) where offset is 1 less than a multiple of the file block size. This would fail with EINVAL if the file is in O_DIRECT mode, because O_DIRECT requires aligned operation.
-
Monty authored
The failing test was main.gis-json
-
- 01 Nov, 2017 2 commits
-
-
Monty authored
- Expand paths also for jemalloc - Test also if tcmalloc or jemalloc is in /usr/lib64 - Take into account that .so has a version - Remove automatic adding of flavors ( _minial, _debug). Better to have user specify these directly - Changed documentation link to MariaDB - Don't give extra error if mysqld_safe_helper doesn't exist
-
Marko Mäkelä authored
-
- 31 Oct, 2017 7 commits
-
-
Daniel Bartholomew authored
-
Monty authored
Also don't abort if global_status_var.global_memory_used != 0 on not normal exit as then it's likely that not all memory is released.
-
Monty authored
-
Marko Mäkelä authored
MDEV-13568: Purge is not blocked by LOCK TABLES. Should it? MDEV-13893/MDEV-12699: Crash recovery of corrupted or non-decryptable pages is broken.
-
Daniel Black authored
Signed-off-by: Daniel Black <daniel@linux.vnet.ibm.com>
-
Marko Mäkelä authored
-
Marko Mäkelä authored
When MariaDB 10.1.0 introduced table options for encryption and compression, it unnecessarily changed ha_innobase::check_if_supported_inplace_alter() so that ALGORITHM=COPY is forced when these parameters differ. A better solution is to move the check to innobase_need_rebuild(). In that way, the ALGORITHM=INPLACE interface (yes, the syntax is very misleading) can be used for rebuilding the table much more efficiently, with merge sort, with no undo logging, and allowing concurrent DML operations.
-
- 30 Oct, 2017 7 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
If InnoDB or XtraDB recovered committed transactions at server startup, but the processing of recovered transactions was prevented by innodb_read_only or by innodb_force_recovery, an assertion would fail at shutdown. This bug was originally reproduced when Mariabackup executed InnoDB shutdown after preparing (applying redo log into) a backup. trx_free_prepared(): Allow TRX_STATE_COMMITTED_IN_MEMORY. trx_undo_free_prepared(): Allow any undo log state. For transactions that were resurrected in TRX_STATE_COMMITTED_IN_MEMORY the undo log state would have been reset by trx_undo_set_state_at_finish().
-
Daniel Bartholomew authored
-
Alexey Botchkov authored
-
Marko Mäkelä authored
-
Elena Stepanova authored
-
Elena Stepanova authored
-
- 29 Oct, 2017 6 commits
-
-
Sergei Petrunia authored
Forgot to put the updated rocksdb.result in
-
Sergei Petrunia authored
Downscale rocksdb.add_index_inplace_sstfilewriter to be 10x smaller
-
Sergei Petrunia authored
-
Sergei Petrunia authored
-
Sergei Petrunia authored
Fix a race condition in the testcase.
-
Sergei Petrunia authored
-
- 27 Oct, 2017 9 commits
-
-
Vladislav Vaintroub authored
ReadFile/WriteFile operations. Innodb opens files with FILE_FLAG_OVERLAPPED. lpNumberOfBytesRead/Written are documented to be potentially inaccurate in this case, (possibly even if async operations complete synchronously?) The fix is to always pass NULL for the correspondng parameters, as recommended by MSDN. Read the actual counts with GetQueuedCompletionStatus() or GetOverlappedResult().
-
Marko Mäkelä authored
os_file_get_size(): Use fstat() instead of calling lseek() 3 times. In this way, concurrent calls to this function should not interfere with each other. Suggested by Vladislav Vaintroub.
-
Marko Mäkelä authored
The predicate page_is_root() would not hold if btr_create() fails before the root page is fully initialized. Move the debug assertion from btr_free_root_invalidate() to its other caller, btr_free_if_exists(). In that caller, we actually already checked for page_is_root().
-
Marko Mäkelä authored
os_file_set_size(): Sometimes the file already is large enough. Avoid calling posix_fallocate() with a non-positive argument. Also, add a missing space to an error message.
-
Sergei Petrunia authored
Adjust and enable rocksdb.2pc_group_commit test
-
Vladislav Vaintroub authored
With this patch, parameters passed to posix_fallocate() will be the same as they were prior to refactoring in commit b731a5bc In particular, 'offset' parameter for posix_fallocate is again current_file_size and 'length' is new_file_size - current_file_size. This seems to fix crashes on ancient Linux (kernel 2.6).
-
Sergei Petrunia authored
-
Marko Mäkelä authored
The assertion failure was relaxed in commit 02ba15a9 but it was not enough, because another assertion would fail. trx_undo_free_prepared(): Allow any undo log state. For transactions that were resurrected in TRX_STATE_COMMITTED_IN_MEMORY the undo log state would have been reset by trx_undo_set_state_at_finish().
-
Marko Mäkelä authored
The redo log record MLOG_UNDO_HDR_DISCARD is never written, and the function trx_undo_discard_latest_update_undo() is never called outside crash recovery. Starting with MariaDB 10.2.2, crash recovery from an older InnoDB version is refused. Therefore, we can safely remove the code for parsing this long-unused redo log record type. The use of MLOG_UNDO_HDR_DISCARD was removed by Heikki Tuuri, the original designer and author of InnoDB, more than 13 years ago: commit 3caab0f3 Author: unknown <heikki@hundin.mysql.fi> Date: Thu Mar 18 14:57:22 2004 +0200 trx0undo.h, trx0undo.c, trx0trx.c: Update an obsolete comment about trx commit: we can no longer call trx_undo_update_cleanup_by_discard(), and actually, the idea to call it was erroneous, it cannot work
-