- 02 Aug, 2021 2 commits
-
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
- 01 Aug, 2021 1 commit
-
-
Sergei Golubchik authored
according to MDEV-17550 it's informational, not fatal. "last committed" is part of the certification index purge process. depending on what tests and in what order are run it can be triggered at unspecified times during the testing. If the test is happen to shut down the server at this very time, the log will have: [Warning] WSREP: Failed to report last committed XXXYYYZZZ, -77 (File descriptor in bad state)
-
- 31 Jul, 2021 2 commits
-
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
- 30 Jul, 2021 5 commits
-
-
Sergei Golubchik authored
It shouldn't be possible to install an old MariaDB-common with a new MariaDB-server or vice versa.
-
Sergei Golubchik authored
returning NULL (a.k.a. nullptr) from a bool function. followup for add782a1
-
Sergei Golubchik authored
because INSTALL_MYSQL_TEST() cmake macro has PATTERN "*.in" EXCLUDE
-
Sergei Golubchik authored
-
Marko Mäkelä authored
ha_innobase::can_switch_engines(): Use DBUG_RETURN instead of return to match the DBUG_ENTER. This fixes a bootstrap failure of debug builds using the default setting -DWITH_DBUG_TRACE=ON.
-
- 29 Jul, 2021 9 commits
-
-
Oleksandr Byelkin authored
-
Marko Mäkelä authored
In commit 2647fd10 (MDEV-19445) we fixed a race condition around the INFORMATION_SCHEMA tables that access the table identified by the global variable innodb_ft_aux_table. Thanks to MDEV-16678 we could fix it even better by using MDL instead of the InnoDB dict_sys latches.
-
Marko Mäkelä authored
Before entering DML or DDL execution in the storage engine, the SQL layer will have acquired metadata lock (MDL) on the current table name as well as the names of FOREIGN KEY (grand)child tables (that is, tables whose REFERENCES clauses point to the current table). The MDL prevents any metadata changes to these tables, such as RENAME, TRUNCATE, DROP, ALTER. While the MDL on the current table prevents dict_table_t::foreign_set from being modified, it does not prevent the table metadata that the stored pointers are pointing to from being modified. The MDL on the child tables will prevent both dict_table_t::referenced_set as well as the pointed child table metadata from being modified. wsrep_row_upd_index_is_foreign(): Do not unnecessarily acquire the data dictionary latch if Galera replication is not enabled. ha_innobase::can_switch_engines(): Rely on MDL. We are not dereferencing any pointers stored in the sets. row_mysql_freeze_data_dictionary(), row_mysql_unfreeze_data_dictionary(): Remove. row_update_for_mysql(): Call init_fts_doc_id_for_ref() only once. In ALTER TABLE...IMPORT TABLESPACE and FLUSH TABLES...FOR EXPORT the SQL layer is protecting the current table with MDL. We do not need InnoDB latches.
-
Marko Mäkelä authored
row_undo(): Remove the unnecessary acquisition and release of dict_sys.latch. This was supposed to prevent the table from being dropped while the undo log record is being rolled back. But, thanks to trx_resurrect_table_locks() that was introduced in mysql/mysql-server@935ba09d52c1908bde273ad1940b5ab919d9763d and commit c291ddfd as well as commit 1bd681c8 (MDEV-25506 part 3) tables will be protected against dropping due to table locks. This reverts commit 0049d5b5 (which had reverted a previous attempt of fixing this) and addresses an earlier race condition with the following: prepare_inplace_alter_table_dict(): If recovered transactions hold locks on the table while we are executing online ADD INDEX, acquire a table lock so that the rollback of those recovered transactions will not interfere with the ADD INDEX.
-
Marko Mäkelä authored
The InnoDB internal SQL parser never supported this syntax.
-
Marko Mäkelä authored
Since commit 1bd681c8 tablespaces are dropped after the table has been dropped. No dict_sys latch protection is relevant during the execution of fil_delete_tablespace().
-
Marko Mäkelä authored
Since commit 1bd681c8 dict_stats_exec_sql() is no longer playing dirty tricks. We can remove the workaround in lock_release().
-
Marko Mäkelä authored
fts_lock_table(): Fix a regression that was introduced in commit da65cb4d (MDEV-25936).
-
Oleksandr Byelkin authored
-
- 28 Jul, 2021 11 commits
-
-
Sergei Golubchik authored
When creating fields for UNION results, Field_null is not allowed. Should create binary(0) instead.
-
Alexander Barkov authored
-
Nikita Malyavin authored
Pass char* to WSREP_LOG and others, instead of non-POD objects
-
Sergei Golubchik authored
from gamma
-
Sergei Golubchik authored
update libmarias3 to get the fix
-
Vladislav Vaintroub authored
Add a couple of NO_XXX prprocessor constants to wolfssl build. Looked into cmake defaults, those are set there too. Some of these are (supposedly) weak ciphers, and some just fallen out from wide use.
-
Yongxin Xu authored
This patch fixes the bug that TRIM(BOTH ... FROM $str), TRIM(LEADING ... FROM $str), and TRIM(TRAILING ... FROM $str) failed with errors when executing on Spider.
-
mkaruza authored
Victim threads which are in currently in process of aborting or already aborted should be skipped for another kill process. Reviewed-by: Jan Lindström <jan.lindstrom@mariadb.com>
-
mkaruza authored
MDEV-25740 Assertion `!wsrep_has_changes(thd) || (thd->lex->sql_command == SQLCOM_CREATE_TABLE && !thd->is_current_stmt_binlog_format_row())' failed in void wsrep_commit_empty(THD*, bool) Using ROLLBACK with `completion_type = CHAIN` result in start of transaction and implicit commit before previous WSREP internal data is cleared. Reviewed-by: Jan Lindström <jan.lindstrom@mariadb.com>
-
mkaruza authored
MDEV-22421 Galera assertion !wsrep_has_changes(thd) || (thd->lex->sql_command == SQLCOM_CREATE_TABLE && !thd->is_current_stmt_binlog_format_row()) Updates to transaction registry table shouldn't be replicated in cluster so there is no need to append wsrep keys. Reviewed-by: Jan Lindström <jan.lindstrom@mariadb.com>
-
Marko Mäkelä authored
Thanks to Nikita Malyavin for noticing this. The dead code that was originally introduced in mysql/mysql-server@b8bd31740cd7088f3a3c164981c7ccda487d301d was added in commit 2e814d47 to this code base.
-
- 27 Jul, 2021 10 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
rename files `version` -> `version_full`
-
Eugene Kosov authored
FetchIndexRootPages::operator(): handle REDUNDANT vs DYNAMIC case specifically. Other combinations seems fine as is.
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Nikita Malyavin authored
This is important since Sys_var_typelib and its descendants return pointers to constant symbols from *_value_ptr, which are situated in write-protected-memory. * functions const-qualified: - value_ptr - session_value_ptr - global_value_ptr - default_value_ptr - Sys_var_vers_asof::value_ptr - other minor private ones * remove C-style typecasts when it discards qualifiers
-
Nikita Malyavin authored
MDEV-16026: Forbid global system_versioning_asof in non-default time zone * store `system_versioning_asof` in unix time; * both session and global vars are processed in session timezone; * setting `default` does not copy global variable anymore. Instead, it sets system_time to SYSTEM_TIME_UNSPECIFIED, which means that no 'AS OF' time is applied and `now()` can be assumed As a regression, we cannot assign values below 1970 (UTC) anymore MDEV-16481: set global system_versioning_asof=sf() crashes in specific case * sys_vars.h: add `MYSQL_TIME` field to `set_var::save_result` * sys_vars.ic: get rid of calling `var->value->get_date()` from `Sys_var_vers_asof::update()` * versioning.sysvars: add test; remove double warning refactor Sys_var_vers_asof * inherit from sys_var rather than Sys_var_enum * remove junk "DEFAULT" keyword. There is DEFAULT in SQL grammar for it. * make all conversions in check() to avoid possible errors * avoid double var->value evaluation, which could consequence in undefined behavior
-
Vladislav Vaintroub authored
Workaround WolfSSL bug https://github.com/wolfSSL/wolfssl/issues/4242 (heap overflow) by using fastmath library everywhere, except Windows clang Before the patch, default math library was used on all 32bit platforms.
-
Marko Mäkelä authored
-