- 11 Oct, 2023 1 commit
-
-
Dmitry Shulga authored
In case the option require_secure_transport is on the user can't establish a secure ssl connection over TCP protocol. Inability to set up a ssl session over TCP was caused by the fact that a type of client's connection was checked before ssl handshake performed (ssl handshake happens at the function acl_authenticate()). At that moment vio type has the value VIO_TYPE_TCPIP for client connection that uses TCP transport. In result, checking for allowable vio type for fails despite the fact that SSL session being established. To fix the issue move checking of vio type for allowable values inside the function parse_client_handshake_packet() right after client's capabilities discovered that SSL is not requested by the client.
-
- 30 Sep, 2023 1 commit
-
-
Sergei Golubchik authored
first seen in daca468c
-
- 29 Sep, 2023 3 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
- 27 Sep, 2023 1 commit
-
-
Vladislav Vaintroub authored
Commit 738d4604 changed component name from "backup" to "Backup". Use the new name now.
-
- 25 Sep, 2023 1 commit
-
-
Alexey Botchkov authored
Fix the Cache_flip_event_log constructor.
-
- 24 Sep, 2023 3 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
- 23 Sep, 2023 2 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
- 19 Sep, 2023 1 commit
-
-
Marko Mäkelä authored
ibuf_bitmap_buffered(): A new predicate, to check if the IBUF_BITMAP_BUFFERED bit for a particular page is set. ibuf_merge(): If ibuf_bitmap_buffered() does not hold, skip the records for the page. One reason why we might have this situation is the bug that was fixed in commit 34c283ba (MDEV-32132).
-
- 15 Sep, 2023 1 commit
-
-
Lena Startseva authored
Fixed tests: main.flush_corruption - disabled service connection for some queries since it is necessary that the query SELECT pass in the same session
-
- 11 Sep, 2023 1 commit
-
-
Thirunarayanan Balathandayuthapani authored
sys_shrink_buffer_pool to make it as generic name.
-
- 09 Sep, 2023 2 commits
-
-
Monty authored
- Updated capabilities for PostgreSQL in server.cfg - Updated test-ATIS & test-table-elimination to work with PostgreSQL - Updated test-transaction test to also work with non transactional tables Other things: - Added test of tables with many keys in test-insert - Added 2 new GROUP BY .. ORDER BY test
-
Monty authored
This works the same as secure-file-priv="", but is more obvious way to turn of secure-file-priv.
-
- 08 Sep, 2023 2 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
avoid deprecation warning
-
- 30 Aug, 2023 1 commit
-
-
Federico Razzoli authored
-
- 29 Aug, 2023 1 commit
-
-
Thirunarayanan Balathandayuthapani authored
- This issue caused by commit 4700f2ac(MDEV-30796) During bulk insert operation, InnoDB wrongly stores the next autoincrement value as current autoincrement value. So update the current autoincrement value rather than next auto increment value.
-
- 28 Aug, 2023 2 commits
-
-
Ruoyu Zhong authored
`fmt::detail::make_arg` does not accept temporaries. Make it happy by storing the format arg values in a temporary array first. Signed-off-by: Ruoyu Zhong <zhongruoyu@outlook.com>
-
Ruoyu Zhong authored
`fmt::detail::make_arg` does not accept temporaries, so the code snippet checking system libfmt needs to be adjusted. Signed-off-by: Ruoyu Zhong <zhongruoyu@outlook.com>
-
- 25 Aug, 2023 1 commit
-
-
Thirunarayanan Balathandayuthapani authored
- This commit is different from 10.6 commit c4382848. Due to Commit 045757af (MDEV-24621), InnoDB does buffer and pre-sort the records for each index, and build the indexes one page at a time. Multiple large insert ignore statment aborts the server during bulk insert operation. Problem is that InnoDB merge record exceeds the page size. To avoid this scenario, InnoDB should catch too big record while buffering the insert operation itself. row_merge_buf_encode(): returns length of the encoded index record row_merge_buf_write(): Catches the DB_TOO_BIG_RECORD earlier and returns error
-
- 24 Aug, 2023 3 commits
-
-
Oleksandr Byelkin authored
Fix of incorrect merge of MDEV-31877: ASAN errors in Exec_time_tracker::get_cycles with innodb slow log verbosity (8d210fc2)
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
- 21 Aug, 2023 2 commits
-
-
Daniel Bartholomew authored
-
Daniel Bartholomew authored
-
- 18 Aug, 2023 3 commits
-
-
Yuchen Pei authored
The original test in the report of MDEV-31463 is contrived and nondeterministic, causing MDEV-31586. We update the test to make it more directly addresses the underlying cause of MDEV-31463, namely errors from queries sent to the data node not consumed when trying to set lock wait timeout. This is achieved through the debug sync facility.
-
Alexander Barkov authored
The problem was earlier fixed by a patch for MDEV-27207 68403eed and an additional cleanup patch for MDEV-27207 88dd50b8 The above patches added MTR tests for INET6. Now adding UUID specific MTR tests only.
-
Alexander Barkov authored
-
- 17 Aug, 2023 3 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
don't use ps2 mode for selects with side effects
-
Sergei Petrunia authored
-
- 16 Aug, 2023 3 commits
-
-
Sergei Petrunia authored
Before this patch, the code in Item_field::print() used this convention (described in sql_explain.h:ExplainDataStructureLifetime): - By default, the table that Item_field refers to is accessible. - ANALYZE and SHOW {EXPLAIN|ANALYZE} may print Items after some temporary tables have been dropped. They use QT_DONT_ACCESS_TMP_TABLES flag. When it is ON, Item_field::print will not access the table it refers to, if it is a temp.table The bug was that EXPLAIN statement also may compute subqueries (depending on subquery context and @@expensive_subquery_limit setting). After the computation, the subquery calls JOIN::cleanup(true) which drops some of its temporary tables. Calling Item_field::print() that refer to such table will cause an access to free'd memory. In this patch, we take into account that query optimization can compute a subquery and discard its temporary tables. Item_field::print() now assumes that any temporary table might have already been dropped. This means QT_DONT_ACCESS_TMP_TABLES flag is not needed - we imply it is always present. But we also make one exception: derived tables are not freed in JOIN::cleanup() call. They are freed later in close_thread_tables(), at the same time when regular tables are closed. Because of that, Item_field::print may assume that temp.tables representing derived tables are available. Initial patch by: Rex Jonston Reviewed by: Monty <monty@mariadb.org>
-
Marko Mäkelä authored
-
Alexander Barkov authored
Something went wrong during a merge (from 10.5 to 10.6) of 68403eed (fixing bugs MDEV-27207 and MDEV-31719). Originally (in 10.5) the fix was done in_inet6::set() in plugin/type_inet/sql_type_inet.cc. In 10.6 this code resides in a different place: in the method in_fbt::set() of a template class in sql/sql_type_fixedbin.h. During the merge: - the fix did not properly migrate to in_fbt::set() - the related MTR tests disappeared This patch fixes in_fbt::set() properly and restores MTR tests.
-
- 15 Aug, 2023 2 commits
-
-
Monty authored
The problem is that the first execution of the prepared statement makes a permanent optimization of converting the LEFT JOIN to an INNER JOIN. This is based on the assumption that all the user parameters (?) are always constants and that parameters to Item_cond() will not change value from true and false between different executions. (The example was using IS NULL, which will change value if parameter depending on if the parameter is NULL or not). The fix is to change Item_cond::fix_fields() and Item_cond::eval_not_null_tables() to not threat user parameters as constants. This will ensure that we don't do the LEFT_JOIN -> INNER JOIN conversion that causes problems. There is also some things that needs to be improved regarding calculations of not_null_tables_cache as we get a different value for WHERE 1 or t1.a=1 compared to WHERE t1.a= or 1 Changes done: - Mark Item_param with the PARAM flag to be able to quickly check in Item_cond::eval_not_null_tables() if an item contains a prepared statement parameter (just like we check for stored procedure parameters). - Fixed that Item_cond::not_null_tables_cache is not depending on order of arguments. - Don't call item->eval_const_cond() for items that are NOT on the top level of the WHERE clause. This removed a lot of unnecessary warnings in the test suite! - Do not reset not_null_tables_cache for not top level items. - Simplified Item_cond::fix_fields by calling eval_not_null_tables() instead of having duplication of all the code in eval_not_null_tables(). - Return an error if Item_cond::fix_field() generates an error The old code did generate an error in some cases, but not in all cases. - Fixed all handling of the above error in make_cond_for_tables(). The error handling by the callers did not exists before which could lead to asserts in many different places in the old code). - All changes in sql_select.cc are just checking the return value of fix_fields() and make_cond_for_tables() and returning an error value if fix_fields() returns true or make_cond_for_tables() returns NULL and is_error() is set. - Mark Item_cond as const_item if all arguments returns true for can_eval_in_optimize(). Reviewer: Sergei Petrunia <sergey@mariadb.com>
-
Kristian Nielsen authored
Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
-