- 06 Jul, 2017 1 commit
-
-
Marko Mäkelä authored
The option innodb_log_compressed_pages was contributed by Facebook to MySQL 5.6. It was disabled in the 5.6.10 GA release due to problems that were fixed in 5.6.11, which is when the option was enabled. The option was set to innodb_log_compressed_pages=ON by default (disabling the feature), because safety was considered more important than speed. The option innodb_log_compressed_pages=OFF can *CORRUPT* ROW_FORMAT=COMPRESSED tables on crash recovery if the zlib deflate function is behaving differently (producing a different amount of compressed data) from how it behaved when the redo log records were written (prior to the crash recovery). In MDEV-6935, the default value was changed to innodb_log_compressed_pages=OFF. This is inherently unsafe, because there are very many different environments where MariaDB can be running, using different zlib versions. While zlib can decompress data just fine, there are no guarantees that different versions will always compress the same data to the exactly same size. To avoid problems related to zlib upgrades or version mismatch, we must use a safe default setting. This will reduce the write performance for users of ROW_FORMAT=COMPRESSED tables. If you configure innodb_log_compressed_pages=ON, please make sure that you will always cleanly shut down InnoDB before upgrading the server or zlib.
-
- 05 Jul, 2017 3 commits
-
-
Elena Stepanova authored
The test did not handle correctly possible difference in system timezone. The fix is to remove non-functional setting of local time_zone and instead allow timestamp replacement to work with any date/time
-
Eugene Kosov authored
Patch submitted by Eugene Kosov <claprix@yandex.ru>, comments added by commiter. Signed-off-by: Vicențiu Ciorbaru <vicentiu@mariadb.org>
-
Marko Mäkelä authored
When using innodb_page_size=16k, InnoDB tables that were created in MariaDB 10.1.0 to 10.1.20 with PAGE_COMPRESSED=1 and PAGE_COMPRESSION_LEVEL=2 or PAGE_COMPRESSION_LEVEL=3 would fail to load. fsp_flags_is_valid(): When using innodb_page_size=16k, use a more strict check for .ibd files, with the assumption that nobody would try to use different-page-size files.
-
- 04 Jul, 2017 1 commit
-
-
Daniel Bartholomew authored
-
- 03 Jul, 2017 2 commits
-
-
Monty authored
If open of the relay log failed, we got an assert in MYSQL_BIN_LOG::close This only affected DEBUG systems
-
Kristian Nielsen authored
CREATE/DROP TEMPORARY TABLE are not safe to optimistically replicate in parallel with other transactions, so they need to be marked as "ddl" in the binlog. This was already done for stand-alone CREATE/DROP TEMPORARY. But temporary tables can also be created and dropped inside a BEGIN...END transaction, and such transactions were not marked as ddl. Nor was the DROP TEMPORARY TABLE statement emitted implicitly when a client connection is closed. So this patch adds such ddl mark for the missing cases. The difference to Kristian's original patch is mainly a fix in mysql_trans_commit_alter_copy_data() to remember the unsafe_rollback_flags over the temporary commit.
-
- 01 Jul, 2017 1 commit
-
-
Elena Stepanova authored
-
- 30 Jun, 2017 7 commits
-
-
Jacob Mathew authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
MDEV-11646 main.myisam, maria.maria, main.mix2_myisam, main.myisampack, main.mrr_icp_extra fail in buildbot with valgrind (Syscall param pwrite64(buf) points to uninitialised byte(s)) If the table has a varchar column and a forced fixed for format (as in varchar.inc), Field_varstring::store() will only store the actual number of bytes, not padded, in the record[0]. That is, on inserts a part of record[0] can be uninitialized. Fix: initialize record[0] when a TABLE is created, it doesn't matter what kind of garbage can be in this unused/invisible part of the record, as long as it's not some random memory contents (that can contain sensitive data).
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Fix the binding of databases_file. It was incorrectly mapped to OPT_XTRA_TABLES_FILE. Remove some unused options and variables.
-
Sergei Golubchik authored
-
- 29 Jun, 2017 3 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Vicențiu Ciorbaru authored
tmp variable now points to str->ptr() buffer, not tmp_value buffer. Comparing pointers otherwise can lead to false assertion errors as we don't know where buffers are allocated in respect to each other.
-
- 28 Jun, 2017 1 commit
-
-
Sergei Golubchik authored
-
- 27 Jun, 2017 4 commits
-
-
Vicențiu Ciorbaru authored
-
Sergei Golubchik authored
cover ANSI_QUOTES and NO_BACKSLASH_ESCAPES in mysqltest
-
Sergei Golubchik authored
don't do backslash escapes inside backticks
-
Elena Stepanova authored
-
- 26 Jun, 2017 1 commit
-
-
Vicențiu Ciorbaru authored
Item_func_sysconst behaves as a non-constant function during prepared statements and view creation and constant otherwise. Current condition implied the opposite.
-
- 23 Jun, 2017 1 commit
-
-
Oleksandr Byelkin authored
MDEV-10880: Assertions `keypart_map' or `prebuilt->search_tuple->n_fields > 0' fail on DISTINCT and GROUP BY constant add_group_and_distinct_keys() should take into account JOIN::simple_group.
-
- 22 Jun, 2017 9 commits
-
-
Vladislav Vaintroub authored
-
Oleksandr Byelkin authored
prepare of "fake_select" for union made in JOIN::prepare only if we do not execute it then before reset, i.e it was for PS prepare and now required for CREATE VIEW to make global ORDER BY which belongs to "fake_select" prepared.
-
Sergei Golubchik authored
fix a merge mistake
-
Sergei Golubchik authored
MyISAM only allows online alter if autoincrement didn't change. MyISAM detects that by comparing new autoinc value from create_info, with the old one, stored in MYI. But in partitioned tables, create_info->auto_increment_value is for the whole table, max of autoinc values of individual MYI partitions. So *some* MYI partitions will inevitably think that alter table changes auto_increment value and will deny online alter. Fix: only compare autoinc values, if the user has used AUTO_INCREMENT in the ALTER TABLE statement.
-
Sergei Golubchik authored
MDEV-13012 Assertion `share->error' failed in discover_handlerton upon executing statement with max_session_mem_used = 8192 and MDEV-13011 Server crashes in THD::handle_condition or Assertion `! is_set() || m_can_overwrite_status' fails upon attempt to connect with max_session_mem_used = 8192 errors when a connection is killed in the * TABLE_SHARE::init_from_sql_statement_string() * THD::init() also, safety-wise, don't check max_mem_used on free() and when some error was already issued.
-
Sergei Golubchik authored
-
Sergei Golubchik authored
it was disabled in mtr tests in 4280b25e
-
Sachin Setiya authored
Comment from Codership:- To fix the problem, we changed the certification logic in galera to treat insert on child table row as exclusive to prevent any operation on referenced parent table row. At the same time, update and delete on child table row were demoted to "shared", which makes it possible to update/delete referenced parent table row, but only in a later transaction. This change allows somewhat more concurrency for foreign key constrained transactions, but is still safe for correct certification end result.
-
- 21 Jun, 2017 1 commit
-
-
Vicențiu Ciorbaru authored
-
- 20 Jun, 2017 1 commit
-
-
Vicențiu Ciorbaru authored
-
- 19 Jun, 2017 4 commits
-
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
using "show variables", rather than take the value from my.cnf. "show variables" is more accurate than my.cnf,it also works for parameters set on the mysqld command line, which is especially important for MTR.
-
Sergei Golubchik authored
-
Marko Mäkelä authored
MDEV-12975 InnoDB redo log minimum size check uses detected file size instead of requested innodb_log_file_size log_calc_max_ages(): Use the requested size in the check, instead of the detected redo log size. The redo log will be resized at startup if it differs from what has been requested.
-