- 09 Apr, 2018 2 commits
-
-
Marko Mäkelä authored
Merge pull request #667
-
Marko Mäkelä authored
srv_purge_should_exit(): Remove the parameter n_purged. If we happened to have n_purged==0 while some transaction was still active, and then that transaction was added to the history list, we were prematurely stopping the purge. It is more appropriate to first check for trx_sys.any_active_transactions() == 0 (this count can only decrease during shutdown) and then for trx_sys.history_size() == 0 (that count typically decreases, but can increase when any remaining active transactions are committed or rolled back). innodb.dml_purge: Remove a server restart, and explicitly wait for purge, and use FLUSH TABLE FOR EXPORT to read the file contents. This will make the test run faster, easier to debug, and also allow it to run with --embedded. This might also help repeat MDEV-11802 better. The issue MDEV-13603 remains will remain tested by innodb.table_flags.
-
- 08 Apr, 2018 3 commits
-
-
Marko Mäkelä authored
purge_sys_t::n_submitted: Document that it is only accessed by srv_purge_coordinator_thread. purge_sys_t::n_completed: Exclusively use my_atomic access. srv_task_execute(): Simplify the code. srv_purge_coordinator_thread(): Test the cheaper condition first. trx_purge(): Atomically access purge_sys.n_completed. Remove some code duplication. trx_purge_wait_for_workers_to_complete(): Atomically access purge_sys.n_completed. Remove an unnecessary local variable. trx_purge_stop(): Remove a redundant assignment.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
row_ins_sec_index_entry(): Compare a pointer to fil_system.sys_space, not to a numeric constant. This code was recently changed in MDEV-13637, and the condition was essentially disabled, potentially causing the change buffer to grow uncontrollably when something is inserted into a table that has secondary indexes and resides in the system tablespace. Thanks to Daniel Black for pointing out that clang 7 flagged a warning for the comparison of a pointer to an integer. row_import_for_mysql(): Fix a possible compiler warning.
-
- 07 Apr, 2018 2 commits
-
-
Otto Kekäläinen authored
There is no need for MariaDB Backup to be versioned. Other packages are very unlikely to need to depend on a certain generation of this package. Also for MariaDB Backup to run, it does not need the server, but client, and from client only core parts.
-
Marko Mäkelä authored
dict_sys_tables_type_valid(): Do not reject NO_ROLLBACK (sequence) in ROW_FORMAT=REDUNDANT. dict_load_table_low(): When flagging an error, assign *table = NULL. Failure to do so could cause a crash if an error was flagged when accessing INFORMATION_SCHEMA.INNODB_SYS_TABLES.
-
- 06 Apr, 2018 4 commits
-
-
Eugene Kosov authored
-
Eugene Kosov authored
make its lifetime as short as possible for historical row ROW_COPY_DATA -> ROW_COPY_POINTER for lower memory consumption and better performance
-
Michael Widenius authored
-
Michael Widenius authored
MDEV-15742 Assertion `table_share->tmp_table != NO_TMP_TABLE || m_lock_type == 1' failed in handler::ha_write_row
-
- 05 Apr, 2018 5 commits
-
-
Alexander Barkov authored
Renaming methods: - Field::make_field(Send_field*) to make_send_field(..) - Item::make_field(THD *,Send_field *) to make_send_field(..) - Item::init_make_field(Send_field *, enum_field_type) to init_make_send_field(..) These names looked similar to other functions that are used for a very different purpose (creating Field instances): - Public function "Field * make_field(..)" - Method "Field *Column_defitinion::make_field(..)" The rename makes it's easier to search the code using "grep".
-
Michael Widenius authored
MDEV-14762 Server crashes in MDL_ticket::has_stronger_or_equal_type upon inserting into temporary sequence Fix is to not upgrade MDL locks for temporary tables
-
luz.paz authored
Found via `codespell -i 3 -w --skip="./debian/po" -I ../mariadb-server-word-whitelist.txt ./cmake/ ./debian/ ./Docs/ ./include/ ./man/ ./plugin/ ./strings/`
-
Michael Widenius authored
-
Michael Widenius authored
Problem was the Item_field::Item_field(THD*, Field*) had old code that put a null pointer in orig_field_names. Now, when we have proper re-prepare if table definition changes, this is not needed anymore.
-
- 04 Apr, 2018 14 commits
-
-
Otto Kekäläinen authored
It will only build if there is network access, which is a strict no-go for Linux distributions. Thus the AWS plugin needs to be a custom built only special plugin that is not built as part of the normal sources. This fixes the build error in e.g. Launchpad: Performing download step (git clone) for 'aws_sdk_cpp' cd "/<<PKGBUILDDIR>>/builddir/plugin/aws_key_management" && /usr/bin/cmake .. Cloning into 'aws-sdk-cpp'... fatal: unable to access 'https://github.com/awslabs/aws-sdk-cpp.git/': Could not resolve host: github.com
-
Otto Kekäläinen authored
RocksDB configure step checks that platform is 64-bit and little endian, so limit the .deb packages to be built only on those platforms. List of official Debian platforms at https://www.debian.org/ports/index.en.html
-
Otto Kekäläinen authored
-
Otto Kekäläinen authored
A non-MariaDB.org contributor introduced the epoch 1: in Debian. There is no way to revert it, so we just need to adapt to it to ensure no 10.3 installation would downgrade to that version in Debian/Ubuntu, as 1: is considered higher than any version before.
-
Jacob Mathew authored
The crash occurs when a thread that is closing its connection attempts to access Spider transaction information when another thread has freed that memory while processing Spider plugin deinit. This occurs because Spider does not adjust the plugin's reference count when it sets a transaction information pointer for the plugin. The fix I implemented changes the way Spider sets the transaction information pointer to use thd_set_ha_data() so that Spider's plugin reference counter is adjusted as well. Author: Jacob Mathew. Reviewer: Kentoku Shiba. Merged From: bb-10.3-MDEV-7914
-
Varun Gupta authored
Increasing the length of MESSAGE_TEXT from 128 to MYSQL_ERRMSG_SIZE which is the max length of the error message
-
Sergey Vojtovich authored
Use trx_sys_t::trx_list instead.
-
Sergey Vojtovich authored
-
Sergey Vojtovich authored
Replaced "list of transactions created for MySQL" with "list of all transactions". This simplifies code and allows further removal of trx_sys.m_views.
-
Sergey Vojtovich authored
-
Sergey Vojtovich authored
trx_free_resurrected(): Remove, unused function
-
Marko Mäkelä authored
-
Marko Mäkelä authored
The test innodb.101_compatibility occasionally fails, because the flags for the tables tdd and tp are not always converted back. Thus, the second attempt of corrupting the flags will update garbage to garbage, and cause test failure. This started failing related to one or two MDEV-12266 commits affecting the function fsp_flags_try_adjust(). fsp_flags_try_adjust(): If the file has not been opened (space->size==0), try determining its size by reading the file. Only if the file is not readable, give up. Also, avoid dummy writes in the Perl script, and add some instrumentation.
-
Jacob Mathew authored
The crash occurs when a thread that is closing its connection attempts to access Spider transaction information when another thread has freed that memory while processing Spider plugin deinit. This occurs because Spider does not adjust the plugin's reference count when it sets a transaction information pointer for the plugin. The fix I implemented changes the way Spider sets the transaction information pointer to use thd_set_ha_data() so that Spider's plugin reference counter is adjusted as well. Author: Jacob Mathew. Reviewer: Kentoku Shiba.
-
- 03 Apr, 2018 6 commits
-
-
Alexander Barkov authored
- Adding "return true" into LEX::set_system_variable() and LEX::set_default_system_variable() after my_error(). This makes the parser exit on error immediately. Previously, the error was caught only in mysql_parser(), a few lines after the parse_sql() call. - Fixing "--error 1272" to "--error ER_VARIABLE_IS_NOT_STRUCT" in tests
-
Marko Mäkelä authored
-
Marko Mäkelä authored
log_write_up_to(): Erase the end of the current log block. Simplify the computation of pad_size. log_buffer_switch(): Evaluate a condition only once.
-
Thirunarayanan Balathandayuthapani authored
- recovered_lsn shouldn't be initialized during xtrabackup_copy_logfile(). If partial redo log read during the end of xtrabackup_copy_logfile() then recovered_lsn will be different from scanned_lsn. Re-initialization of recovered_lsn could lead to partial read again. It is a regression of MDEV-14545
-
halfspawn authored
-
Jacob Mathew authored
MDEV-10991: Server crashes in spider_udf_direct_sql_create_conn - tests in spider/oracle* suites crash the server The fix for this bug was automatically merged from 10.1. However, part of that fix is unnecessary in 10.3. This commit rolls back the part of the fix that is unnecessary in 10.3. Author: Jacob Mathew. Reviewer: Kentoku Shiba.
-
- 02 Apr, 2018 4 commits
-
-
Galina Shalygina authored
Item::derived_field_transformer_for_having The crash occurred due to an inappropriate handling of multiple equalities when pushing conditions into materialized views/derived tables. If equalities extracted from a multiple equality can be pushed into a materialized view/derived table they should be plainly conjuncted with other pushed predicates rather than form a separate AND sub-formula.
-
Vladislav Vaintroub authored
-
Alexander Barkov authored
- Adding class Field_int as a common parent for Field_{longlong|long|short|medium|tiny} - Moving store_decimal(), val_decimal(), get_date(), store_time_dec(), get_date(), val_bool() from Field_num to Field_int - Adding Field_int::val_str_from_long() and reusing it in Field_tiny::val_str(), Field_short::val_str(), Field_medium::val_str() and Field_long::val_str(). This removes a good amount of duplicate code - Adding "const" qualifier to "virtual bool Field::optimize_range()".
-
Sergey Vojtovich authored
Handle overlaping "from" and Field_blob_compressed::value for compressed blobs similarily to regular blobs.
-