- 12 Mar, 2020 1 commit
-
-
Sachin authored
-
- 11 Mar, 2020 3 commits
- 10 Mar, 2020 1 commit
-
-
Sachin authored
-
- 29 Nov, 2019 5 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Both variants of the InnoDB page directory are aligned to the entry size (16 bits). Inform the compiler about it.
-
Marko Mäkelä authored
dict_table_t::init_instant(): Remove bool replace_dropped=true. The template parameter was unnecessarily added in commit a044e326.
-
Jan Lindström authored
-
Tony Reix authored
Patch `36a2a185` introduced `wsrep_server_incoming_address()` in `10.4`. Since AIX `/usr/include/netinet/ip.h` header defines `ip_len` as `ip_ff.ip_flen` and `size_t const ip_len` is preprocessed as `size_t const ip_ff.ip_vhltl.ip_x.ip_xlen`, to prevent the define from overwriting code in MariaDB, rename the variable name to `ip_len_mdb`. This patch is done by Tony Reix <tony.reix@atos.net>. This patch was submitted under MCA. Closes #1307
-
- 28 Nov, 2019 10 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
warning C4390: ';': empty controlled statement found; is this the intent?
-
Marko Mäkelä authored
buf_flush_write_block_low(): Assert that the FIL_PAGE_LSN is set and is not less than buf_page_t::oldest_modification.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Before commit c0f47a4a (MDEV-12026) introduced the innodb_checksum_algorithm=full_crc32 format, it was impossible to tell if InnoDB data files contained garbage in the FIL_PAGE_TYPE header field (and possibly other fields). This is because before commit 3926673c in MySQL 5.1.48, InnoDB would write uninitialized data to some fields, and because there was no way to tell with which InnoDB version a data file was created. If fil_space_t::full_crc32() holds, the data file cannot contain uninitialized garbage or invalid FIL_PAGE_TYPE, and thus fil_block_check_type() should not be invoked to correct anything.
-
Sergei Golubchik authored
generalize the replacement
-
Vladislav Vaintroub authored
mariadb-conv does not need to be linked with the client library it does not talk to the server
-
Alexander Barkov authored
The original patch was made by Takashi Sasaki <tsasaki609@gmail.com>.
-
Alexander E. Patrakov authored
The log file is opened as root since commit bb7a70c9, so there is no need to chown it.
-
Marko Mäkelä authored
fil_addr_t: Use exactly sized data types. flst_read_addr(): Remove the unused parameter mtr. page_offset(): Return uint16_t.
-
- 27 Nov, 2019 3 commits
-
-
Vladislav Vaintroub authored
# Conflicts: # win/packaging/extra.wxs.in
-
Vladislav Vaintroub authored
- It is not enough to have and DeleteSymlinks actions because within the same installation some exes executables can be both added and removed, which needs both adding and removing some symlinks. Instead of CreateSymlinks, there is now FixSymlinks function, which goes through the list, and adds or removes the symlinks as needed. - Implemented rollback for symlink custom action. - Generate list of symlinks in C++ file, using CMake, rather than storing lists as MSI properties.
-
Marko Mäkelä authored
-
- 26 Nov, 2019 8 commits
-
-
Igor Babaev authored
If a joined table is accessed by a full text index then now no range rowid filter can be used when accessing the records of this table. This bug was fixed by the patch for mdev-20056. This commit adds only a test case with a query using a full text index and a range condition for another index.
-
Marko Mäkelä authored
Revert part of commit 6cedb671 because it turns out to be theoretically impossible to parse a ROW_FORMAT=COMPACT or ROW_FORMAT=DYNAMIC metadata record where the variable-length fields in the PRIMARY KEY have been written as nonempty strings.
-
Monty authored
- Replace "class Repeat_count" with function call. There is no reason for this class to exists. More complex and more code than doing a function! In addition the code didn't match what the val() function was doing. Other things: - Fixed compiler failure in print_cached_tables_callback()
-
Igor Babaev authored
in row_search_idx_cond_check When usage of rowid filter is evaluated by the optimizer to join a table to the current partial join employing a certain index it should be checked that a key for at least the major component of this index can be constructed using values from the columns of the partial join.
-
Rasmus Johansson authored
Added CreateSymlinks and DeleteSymlinks functions to CustomAction.cpp. Extra.wxs.in calls them.
-
Marko Mäkelä authored
As noted in commit abd45cdc a search with PAGE_CUR_GE may land on the supremum record on a leaf page that is not the rightmost leaf page. This could occur when all keys on the current page are smaller than the search key, and the smallest key on the successor page is larger than the search key. Hence, after a failed PAGE_CUR_GE search, assertions btr_pcur_is_after_last_in_tree() are bogus and should be replaced with btr_pcur_is_after_last_on_page().
-
Aleksey Midenkov authored
Unsigned type while RHS expression could be less than 0.
-
Marko Mäkelä authored
Introduce memcpy_aligned<N>(), memcmp_aligned<N>(), memset_aligned<N>() and use them for accessing InnoDB page header fields that are known to be aligned. MY_ASSUME_ALIGNED(): Wrapper for the GCC/clang __builtin_assume_aligned(). Nothing similar seems to exist in Microsoft Visual Studio, and the C++20 std::assume_aligned is not available to us yet. Explicitly specified alignment guarantees allow compilers to generate faster code on platforms with strict alignment rules, instead of emitting calls to potentially unaligned memcpy(), memcmp(), or memset().
-
- 25 Nov, 2019 9 commits
-
-
Vladislav Vaintroub authored
This particular assertion happened when shutting down Innodb IO.IO shutdown properly waits for all IOs to finish However there is a race condition - right after releasing last IO slot and before decrementing task count in group, pending_io_count will be 0, but tasks_running will be 1, leading to assertion. The fix is to make task_group destructor to wait for last running task to finish.
-
Sergey Vojtovich authored
It was mistakenly used by tdc_start_shutdown() to make sure TABLE_SHARE gets evicted from table definition cache when it becomes unused. However same effect is achieved by resetting tdc_size and tc_size. Part of MDEV-17882 - Cleanup refresh version
-
Sergey Vojtovich authored
After 7fb9d649 it is used only by ALTER/DROP SERVER, which most probably wasn't intentional as Federated never supported delayed inserts anyway. If delayed inserts will ever become an issue with ALTER/DROP SERVER, we should kill them by acquiring X-lock instead. Part of MDEV-17882 - Cleanup refresh version
-
Sergey Vojtovich authored
It is never called after 7fb9d649, which makes the whole refresh version infrastructure useless. Removed: - tdc_version_t - TDC_VERSION_MAX - tdc_version - TDC_element::version - tdc_increment_refresh_version() - tdc_refresh_version() - refresh_version argument of tdc_wait_for_old_version() - Flush_commands status variable - refresh version from COM_STATISTICS - refresh version from dbug printouts Part of MDEV-17882 - Cleanup refresh version
-
Aleksey Midenkov authored
-
Vladislav Vaintroub authored
dict_stats_shutdown() can hang, waiting for timer callback to finish. This happens because locks the same mutex, which can also used inside timer callback, within dict_stats_schedule() function. Fix is to make dict_stats_schedule() use mutex.try_lock() instead of mutex.lock(). In the unlikely case of simultaneous dict_stats_schedule() setting different timer delays, now the first one would win, which is fine. Important is that shutdown won't hang.
-
Marko Mäkelä authored
We must relax too strict debug assertions. For latin1_swedish_ci, mtype=DATA_CHAR or mtype=DATA_VARCHAR will be used instead of mtype=DATA_MYSQL or mtype=DATA_VARMYSQL. Likewise, some changes of dtype_get_charset_coll() do not affect the data type encoding, but only any indexes that are defined on the column. Charset::same_encoding(): Check whether two charset-collations have the same character set encoding. dict_col_t::same_encoding(): Check whether two character columns have the same character set encoding. dict_col_t::same_type(): Check whether two columns have a compatible data type encoding. dict_col_t::same_format(), dict_table_t::instant_column(): Do not compare mtype or the charset-collation of prtype directly. Rely on dict_col_t::same_type() instead. dtype_get_charset_coll(): Narrow the return type to uint16_t. This is a refined version of a fix that was developed by Thirunarayanan Balathandayuthapani.
-
Aleksey Midenkov authored
-
Aleksey Midenkov authored
UPDATE, DELETE: replace linear search of current/historical records with vers_setup_conds(). Additional DML cases in view.test
-