- 15 Feb, 2018 1 commit
-
-
Marko Mäkelä authored
-
- 14 Feb, 2018 4 commits
-
-
Sergey Vojtovich authored
This is regression after bc7a1dc1 of MDEV-15104 - Optimise MVCC snapshot. Aforementioned revision removes mutex lock around ReadView creation, which allows views to be created concurrently. Effectively it invalidates "oldest view" approach: no single view can be considered oldest anymore. Instead we have to iterate trx_sys.m_views to find min(m_low_limit_no), min(m_low_limit_id) and all transaction ids below min(m_low_limit_id), which would form oldest view. Second regression comes from c0d5d7c0 of MDEV-15104 - Optimise MVCC snapshot. It removes mutex protection around trx->no assignment, which opens up a gap between m_max_trx_id increment and transaction serialisation number becoming visible through rw_trx_hash. While we're in this gap concurrent thread may come and do MVCC snapshot without seeing allocated but not yet assigned serialisation number. Then at some point purge thread may clone this view. As a result it won't see newly allocated serialisation number and may remove "unnecessary" history data of this transaction from rollback segments.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Alexey Yurchenko authored
GAL-506 breaks galera_defaults MTR test by upping repl.proto_max again. Fix this once and for all by overwriting it with constant string since it makes little sense to check for it in this test.
-
- 13 Feb, 2018 9 commits
-
-
Alexander Barkov authored
-
Daniel Bartholomew authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Alexey Botchkov authored
MDEV-15215 main.partition_explicit_prune fails in bulidbot with assertion failures and server crashes. ha_partition::get_open_file_sample() implemented to be used when we need a file sample that is surely opened.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
lock_trx_release_locks(): Relax a debug assertion to allow recovered TRX_STATE_COMMITTED_IN_MEMORY transactions. trx_commit_in_memory(): Add DEBUG_SYNC instrumentation. trx_undo_insert_cleanup(): Skip persistent changes if innodb_read_only is set. This should only happen when a recovered committed transaction would be cleaned up at shutdown.
-
Alexander Barkov authored
The patch for MDEV-15287 made the code in Item_func_min_max::get_date_native() dead, as the TIME data type is now handled in get_time_native(). Removing the TIME related code from get_date_native().
-
- 12 Feb, 2018 26 commits
-
-
Sergei Golubchik authored
MDEV-14990 mysql_upgrade fails with ERROR 1408 (HY000) at line 566: Event Scheduler: An error occurred when initializing system tables Don't check mysql.db and mysql.user from event schedule on startup. Event schedule should only check its own mysql.event table, it has no business checking other system tables. In particular, it's ridiculous for event schedule to fail when privilege tables are not the newest, because sql_acl.cc supports old privilege tables just fine.
-
Sergei Golubchik authored
Truncate_versioning_priv->Delete_history_priv because the command and the privilege were renamed
-
Sergei Golubchik authored
don't expand AS OF in views, and, in particular, don't auto-add AS OF NOW().
-
Sergei Golubchik authored
-
Sergei Golubchik authored
Hide INVISIBLE_SYSTEM columns from writes and from fix_vcol_expr().
-
Sergei Golubchik authored
-
Sergei Golubchik authored
enum_mark_columns -> enum_column_usage mark_used_columns -> column_usage further commits will replace MARK_COLUMN_NONE with COLUMN_READ and COLUMN_WRITE that convey the intention without causing columns to be marked
-
Monty authored
- Max_index_length is supported by MyISAM and Aria tables. - Temporary is a placeholder to signal that a table is a temporary table. For the moment this is always "N", except "Y" for generated information_schema tables and NULL for views. Full temporary table support will be done in another task. (No reason to have to update a lot of result files twice in a row)
-
Monty authored
-
Marko Mäkelä authored
When Mariabackup gets a bad read of the first page of the system tablespace file, it would inappropriately try to apply the doublewrite buffer and write changes back to the data file (to the source file)! This is very wrong and must be prevented. The correct action would be to retry reading the system tablespace as well as any other files whose first page was read incorrectly. Fixing this was not attempted. xb_load_tablespaces(): Shorten a bogus message to be more relevant. The message can be displayed by --backup or --prepare. xtrabackup_backup_func(), os_file_write_func(): Add a missing space to a message. Datafile::restore_from_doublewrite(): Do not even attempt the operation in Mariabackup. recv_init_crash_recovery_spaces(): Do not attempt to restore the doublewrite buffer in Mariabackup (--prepare or --export), because all pages should have been copied correctly in --backup already, and because --backup should ignore the doublewrite buffer. SysTablespace::read_lsn_and_check_flags(): Do not attempt to initialize the doublewrite buffer in Mariabackup. innodb_make_page_dirty(): Correct the bounds check. Datafile::read_first_page(): Correct the name of the parameter.
-
Alexander Barkov authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
update all unique keys, not just PK
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
don't add columns to the drop list, INVISIBLE_SYSTEM columns cannot be recognized as specified by the user
-
Sergei Golubchik authored
* don't disclose INVISIBLE_FULL columns in USING and NATURAL JOIN * other INVISIBLE columns must me mentioned by name in USING, they are hidden from NATURAL JOIN
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
don't duplicate functionality, use TABLE::find_field_by_name() also, set cached_field_index_ptr for _rowid field
-
Sergei Golubchik authored
use name hash, just like find_field_in_table() does
-
Sergei Golubchik authored
replication tests
-
Jerome Brauge authored
Standard compatible behavior for UPDATE: all assignments in SET are executed "simultaneously", not left-to-right. And `SET a=b,b=a` will swap the values.
-
Marko Mäkelä authored
When code from MySQL 5.7.9 was merged to MariaDB 10.2.2 in commit 2e814d47 an assignment validate=true was inadvertently added to the function dict_check_sys_tables(). This causes InnoDB to open every single .ibd file on startup, even when no crash recovery was needed. Simply removing the assignment would make some tests fail. We do the best to retain almost the same level of inconsistency detection. In the test innodb.table_flags, access to one of the tables will not be blocked despite inconsistent flags. dict_check_sys_tables(): Remove the problematic assignment, and skip validation in normal startup. dict_load_table_one(): If the .ibd file cannot be opened, mark the table as corrupted and unreadable. fil_node_open_file(): Validate FSP_SPACE_FLAGS with the expected flags. If reading the tablespace fails, invalidate node->handle instead of letting it remain stale. This bug was caught by a fil_validate() assertion failure. fsp_flags_try_adjust(): If the tablespace file is invalid, do nothing.
-