- 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 6 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.
-
Monty authored
-
Monty authored
MDEV-14831 CREATE OR REPLACE SEQUENCE under LOCK TABLE corrupts the sequence, causes ER_KEY_NOT_FOUND The problem was that sequence_insert didn't properly handle the case where there where there was a LOCK TABLE while creating the sequence. Fixed by opening the sequence table, for inserting the first record, in a new environment without any other open tables. Found also a bug in Locked_tables_list::reopen_tables() where the lock structure for the new tables was allocated in THD::mem_root, which causes crashes. This could cause problems with other create tables done under LOCK TABLES.
-
- 01 Apr, 2018 3 commits
-
-
Vladislav Vaintroub authored
Use high accuracy timer on Windows 8.1+ for system versioning,it needs accurate high resoution start query time. Continue to use the inaccurate (but much faster timer function) GetSystemTimeAsFileTime() where accuracy does not matter, e.g in set_timespec_time_nsec(),or my_time()
-
Vladislav Vaintroub authored
concurrently. There is a deadlock between C1 mariabackup's connection that holds MDL locks C2 Online ALTER TABLE that wants to have MDL exclusively and tries to upgrade its mdl lock. C3 another mariabackup's connection that does FLUSH TABLES (or FTWRL) C3 waits waits for C2, which waits for C1, which waits for C3, thus the deadlock. MDL locks cannot be released until FLUSH succeeds, because otherwise it would allow ALTER to sneak in, causing backup to abort and breaking lock-ddl-per-table's promise. The fix here workarounds the deadlock, by killing connections in "Waiting for metadata lock" status (i.e ALTER). This killing continues until FTWRL succeeds. Killing connections is skipped in case --no-locks parameter was passed to backup, because there won't be a FLUSH. For the reference,in Percona's xtrabackup --lock-ddl-per-connection silently implies --no-lock ie FLUSH is always skipped there. A rather large part of fix is introducing DBUG capability to start a query the new connection at the right moment of backup compensating somewhat for mariabackup' lack of send_query or DBUG_SYNC.
-
Vladislav Vaintroub authored
-
- 30 Mar, 2018 10 commits
-
-
Marko Mäkelä authored
This reverts commit d2660362. The patch would cause a crash when DROP TABLE is executed and the .ibd file is missing. It is not easy to fix this; there is some delicate logic in fil_space_get_page_size().
-
Marko Mäkelä authored
-
Marko Mäkelä authored
btr_free_root_check(), btr_free_if_exists(): Replace page_id, page_size with fil_space_t* and the root page number. btr_free_but_not_root(): Take fil_space_t* as a parameter, or NULL if the operation is not going to be redo-logged. btr_free(): Pass space=NULL to btr_free_but_not_root().
-
Alexander Barkov authored
-
Sergei Golubchik authored
this is a 10.3 version of 27d94b7e It disables caching of the first argument of IN, if it's of a temporal type. Because other types are not cached in this context.
-
Sergei Golubchik authored
this is a 10.3 version of 1c6f6dc8
-
Sergei Golubchik authored
this is a 10.3 version of 885edc4f
-
Sergei Golubchik authored
reorder items in args[] array. Instead of when1,then1,when2,then2,...[,case][,else] sort them as [case,]when1,when2,...,then1,then2,...[,else] in this case all items used for comparison take a continuous part of the array and can be aggregated directly. and all items that can be returned take a continuous part of the array and can be aggregated directly. Old code had to copy them to a temporary array before aggreation, and then copy back (thd->change_item_tree) everything that was changed. this is a 10.3 version of bf1ca14f
-
Sergei Golubchik authored
-
Marko Mäkelä authored
fil_space_for_table_exists_in_mem(): Fix a regression that was introduced in commit 05863142 when removing fil_system.name_hash. The condition !valid || space == fnamespace was incorrectly replaced with !valid, instead of true. fil_report_missing_tablespace(): Merge to the only caller.
-
- 29 Mar, 2018 1 commit
-
-
Varun Gupta authored
Introduced new status variable for custom aggregate functions.
-