- 19 Jul, 2021 1 commit
-
-
Vicențiu Ciorbaru authored
Conflicts/Replaces mariadb-client-core mariadb-client, cover 10.6 Also update salsa-ci to appropriately name tests as upgrades to 10.7
-
- 18 Jul, 2021 3 commits
-
-
Monty authored
This is useful for thing like Item_true and Item_false that we allocated and initalize once and want to ensure that nothing can change them Main changes: - Memory protection is achived by allocating memory with mmap() and protect it from write with mprotect() - init_alloc_root(...,MY_ROOT_USE_MPROTECT) will create a memroot that one can later use with protect_root() to turn it read only or turn it back to read-write. All allocations to this memroot is done with mmap() to ensure page alligned allocations. - alloc_root() code was rearranged to combine normal and valgrind code. - init_alloc_root() now changes block size to be power of 2's, to get less memory fragmentation. - Changed MEM_ROOT structure to make it smaller. Also renamed MEM_ROOT m_psi_key to psi_key. - Moved MY_THREAD_SPECIFIC marker in MEM_ROOT from block size (old hack) to flags. - Added global variable my_system_page_size. This is initialized at startup.
-
Monty authored
This is a prerequisite for moving them to a readonly segment.
-
Vicențiu Ciorbaru authored
Update debian changes to 10.7 to enable debian packaging to work again.
-
- 16 Jul, 2021 4 commits
-
-
Vladislav Vaintroub authored
COM_STMT_BULK_EXECUTE, just like COM_STMT_EXECUTE can also skip result set metadata, if bulk is used with statement that returns result set, i.e INSERT/DELETE RETURNING.
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
Also, remove comparison lsn > flush/write lsn, prior to calling log_write_up_to. The checks and early returns are part of this function.
-
Dmitry Shulga authored
In case the test main.opt_trace is run with the option --ps-protocol it fails since querying from the table INFORMATION_SCHEMA.OPTIMIZER_TRACE produces an output that differed from the expected one in the following way: @@ -2829,14 +2829,6 @@ } }, { - "transformation": { - "select_id": 2, - "from": "IN (SELECT)", - "to": "semijoin", - "chosen": true - } - }, - { "expanded_query": "/* select#2 */ select t10.pk from t10" } The table INFORMATION_SCHEMA.OPTIMIZER_TRACE is filled when optimizer_trace is on. The reason of missing above mentioned pieces in query result set is that the C++ macros OPT_TRACE_TRANSFORM(thd, trace_wrapper, trace_transform, select_lex->select_number, "IN (SELECT)", "semijoin"); located in the standalone function check_and_do_in_subquery_rewrites() is executed twice in case the statement explain extended select * from t1 where a in (select pk from t10); is run in PS mode. The first time it is executed on PREPARE phase and the second time on EXECUTE phase. The output produced by this macros on EXECUTE phase rewrites the output produced on PREPARE phase. In result test failed in case it was run in PS mode. To make test output uniform regardless the test is run in PS or normal mode the operator '--source include/protocol.inc' has been added to the file opt_trace.test and extra opt_trace,ps.rdiff file has been added. Additionally, added operators --enable_prepared_warnings/--disable_prepared_warnings in order to store warnings in result file that received on PREPARE phase during running the statemement 'SELECT INTO'.
-
- 15 Jul, 2021 3 commits
-
-
Oleksandr Byelkin authored
The problem is that array binding uses net buffer to read parameters for each execution while each execiting with RETURNING write in the same buffer. Solution is to allocate new net buffer to avoid changing buffer we are reading from.
-
Rucha Deodhar authored
This reverts commit f88d130e.
-
Dmitry Shulga authored
MDEV-26142: Fix failures of the tests main.features and sys_vars.stored_program_cache_func when they are run in PS mode These tests produced different results in case they were run with the option --ps-protocol. These tests produced different result sets since a value of Feature_subquery and handler_read_key status system variables are updated one time more for ps-protocol (the first time it is updated on Prepare phase and the second time on Execute phase of PS protocol) So different result sets are expected for both tests. To make tests successfully runnable both for case it is run with and without the option --ps-protocol the new protocol combination [ps, nm] and protocol specific result files have been added. Moreover, the perl script mysql-test/mariadb-test-run.pl has been updated to make the variable opt_ps_protocol visible outside perl file containing this variable.
-
- 14 Jul, 2021 2 commits
-
-
Dmitry Shulga authored
Test failed by firing assert in append_warnings() when it is called from run_query_stmt() and there are more results from server. Obviously, append_warnings() should be called after the last packet received from server. So, to fix the assertion failure the function mysql_more_results() has to be called to check that now more results does exist and invokes append_warnings() in case the condition satisfied.
-
Otto Kekäläinen authored
As Travis-CI has stopped offering free testing for open source projects, and they don't seem to have any plans to revert their new restrictions, MariaDB no longer has a good CI system outside contributors could run independently for basic validation before submitting Pull Requests. Implement a simple Gitlab-CI pipeline that runs basic RPM builds on one old, one less old and one very new distro release and then do some basic tests on the RPM packages to validate they installed and the server actually runs.
-
- 13 Jul, 2021 1 commit
-
-
Sergei Golubchik authored
-
- 12 Jul, 2021 2 commits
-
-
Rucha Deodhar authored
option which is called from mysql.server (extra_args). Fix: change mysql.server script to use --defaults-extra-file instead of -e
-
Oli Sennhauser authored
Thanks to @shinguz for helping with this.
-
- 10 Jul, 2021 1 commit
-
-
Anel Husakovic authored
MDEV-12914: Engine for temporary tables which are implicitly created as RocksDB is substituted silently - There should be no substitution if engine exists, only when doesn't exist - Handling of an error when sys_var `default_tmp_storage_engine` is assigned to unsupported engine. - rocksdb doesn't support embedded server ebfc4e6a so is excluded Closes PR #774 Reviewed by: serg@mariadb.com vicentiu@mariadb.org
-
- 07 Jul, 2021 4 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Petrunia authored
Port the following patch from MySQL: commit 1b2e8ea269c80cb93cc79d8be934c40b1c58e947 Author: Kailasnath Nagarkar <kailasnath.nagarkar@oracle.com> Date: Fri Nov 30 16:43:13 2018 +0530 Bug #20939184: INNODB: UNLOCK ROW COULD NOT FIND A 2 MODE LOCK ON THE RECORD Issue: ------ Consdier tables t1 and t2 such that t1 has multiple rows and join condition for t1 left join t2 results in only single row from t2. In this case, access to table t2 is const since there is a single row that qualifies the join condition. However, while executing the query, attempt is made to unlock t2's row multiple times. The current algorithm to fetch rows approximates to: 1) Retrieve the row for t1. 2) Retrieve the row for t2. 3) Apply the join conditions. a) If condition evaluates to true: Project the row to the result. b) If condition evaluates to false: i) If t2's qep_tab->not_null_complement is true, unlock t2's row. ii) Null-complement the row by calling "evaluate_null_complemented_join_record()". In this function qep_tab->not_null_complement is set to false. The t2's only one row, that qualifies join condition, is unlocked in Step i) when t1's row is evaluated to false. When t1's next row is also evaluated to false, another attempt is made to unlock t2's already unlocked row. This results in following error being logged in error.log: "[ERROR] InnoDB: Unlock row could not find a 3 mode lock on the record. Current statement: select * from t1 left join t2 ......" Solution: --------- When a table's access method is "const", set record unlock method for this table to do no operation.
-
- 06 Jul, 2021 8 commits
-
-
Sergei Golubchik authored
-
Daniel Bartholomew authored
-
Daniel Black authored
AIX grep doesn't support the grep -A syntax used in the test case.
-
Daniel Black authored
-
Daniel Black authored
-
Daniel Black authored
-
Daniel Black authored
--skip-stack-trace isn't there on AIX.
-
Julius Goryavsky authored
-
- 05 Jul, 2021 2 commits
-
-
Sergei Golubchik authored
add a test case (commented, as user var tracker is disabled)
-
Sergei Golubchik authored
-
- 04 Jul, 2021 1 commit
-
-
Sergei Golubchik authored
-
- 03 Jul, 2021 4 commits
-
-
Marko Mäkelä authored
trx_t::free(): Declare xid as fully initialized in order to avoid tripping the subsequent MEM_CHECK_DEFINED (in WITH_MSAN and WITH_VALGRIND builds).
-
Marko Mäkelä authored
-
Marko Mäkelä authored
buf_flush_relocate_on_flush_list(): Use dpage->physical_size() because bpage->zip.ssize may already have been zeroed in page_zip_set_size() invoked by buf_pool_t::realloc(). This would cause occasional failures of the test innodb.innodb_buffer_pool_resize, which creates a ROW_FORMAT=COMPRESSED table.
-
Marko Mäkelä authored
The replacement of buf_pool.page_hash with a different type of hash table in commit 5155a300 (MDEV-22871) introduced a race condition with buffer pool resizing. We have an execution trace where buf_pool.page_hash.array is changed to point to something else while page_hash_latch::read_lock() is executing. The same should also affect page_hash_latch::write_lock(). We fix the race condition by never resizing (and reallocating) the buf_pool.page_hash. We assume that resizing the buffer pool is a rare operation. Yes, there might be a performance regression if a server is first started up with a tiny buffer pool, which is later enlarged. In that case, the tiny buf_pool.page_hash.array could cause increased use of the hash bucket lists. That problem can be worked around by initially starting up the server with a larger buffer pool and then shrinking that, until changing to a larger size again. buf_pool_t::resize_hash(): Remove. buf_pool_t::page_hash_table::lock(): Do not attempt to deal with hash table resizing. If we really wanted that in a safe manner, we would probably have to introduce a global rw-lock around the operation, or at the very least, poll buf_pool.resizing, both of which would be detrimental to performance.
-
- 02 Jul, 2021 4 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
followup for bfedf1eb
-
Sergei Golubchik authored
when killing a query in a parallel connection, disable warnings. Because --error doesn't apply to automatically sent SHOW WARNINGS, so if KILL arrives at the right moment the test will fail with mysqltest: At line 41: Error running query "SHOW WARNINGS": Server has gone away
-
Sergei Golubchik authored
-