- 20 Mar, 2021 9 commits
-
-
Monty authored
Other things: - Added size() function to Dynamic_array()
-
Monty authored
In the case of a crash directly after a creation of an Aria table, Aria recovery would think that the table was from another system and require a repair of the table and inform that the table is 'zerofilled". This would cause no harm, but was confusing to see when testing atomic alter table. Fixed by logging the create transaction id to the log. Other things: - Added "show table status from sys" to maria_empy_logs. This ensures one does not get any zerofill warnings when sys/sys_config is used by other tests. - aria_chk --describe now prints a warning if the table was moved from another system. - Logging of truncate (maria_delete_all_rows) is changed to use the current trid for the create table. This is to ensure that we do not run into the same problem with truncate. - Changed back sys_config table to Aria as this patch should fix the "zerofill" problem in buildbot. - Added scripts/mysql_sys_schema.sql to .gitignore
-
Marko Mäkelä authored
-
Marko Mäkelä authored
The new default values WITH_URING:BOOL=OFF, WITH_PMEM:BOOL=OFF imply that the dependencies are optional. An explicit request WITH_URING=ON or WITH_PMEM=ON will cause the build to fail if the requested dependencies are not available. Last, to prevent a feature to be built in even though the built-time dependencies are available, the following can be used: cmake -DCMAKE_DISABLE_FIND_PACKAGE_URING=1 cmake -DCMAKE_DISABLE_FIND_PACKAGE_PMEM=1 This cleanup was suggested by Vladislav Vaintroub.
-
Marko Mäkelä authored
In commit 412533b4 (MDEV-18582), one of the counters that was ported from XtraDB is useless. Innodb_buffered_aio_submitted would be 0 or 1, depending on whether is_linux_native_aio_supported() was executed to the point where it would be incremented. Let us remove this counter, because it has no practical value. Even if its value were 1, io_setup() can still fail and we may end up with innodb_use_native_aio=0.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
David Carlier authored
In this platform, it s better not to rely on optional proc filesystem presence. Using native API to retrieve binary absolute path instead.
-
Daniel Black authored
Fix for out-of-tree builds. mysql_sys_schema.sql is a CMAKE_CURRENT_BINARY_DIR file so use the buildpkgdatadir.
-
- 19 Mar, 2021 17 commits
-
-
Vladislav Vaintroub authored
Fix by adding sys schema to cat_sql()
-
Alice Sherepa authored
-
Sergei Petrunia authored
Print the build_equal_items() step for ON expression processing
-
Alice Sherepa authored
-
Sergei Petrunia authored
Print the conditions for WHERE, HAVING, and ON.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Alice Sherepa authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Sergei Golubchik authored
This partially reverts 66106130
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Eugene Kosov authored
-
Eugene Kosov authored
-
Eugene Kosov authored
std version has an advantage of a more convenient units implementation from std::chrono. Now it's no need to multipy/divide to bring anything to micro seconds.
-
Daniel Black authored
AIX detects tell in the configure however it really isn't there. Use the my_seek aka lseek implementation.
-
- 18 Mar, 2021 14 commits
-
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
-
Sergei Petrunia authored
Don't remove (reasons given in Jira), instead add test coverage. Improve other printout in best_access_path.
-
Igor Babaev authored
If a query with implicit grouping contains in MIN/MAX set function in the select list over a column that is a part of an index then the query might be subject to MIN/MAX optimization. With this optimization the server performs a look-up into an index, fetches a value of the column C used in the MIN/MAX function and substitute the MIN/MAX expression for this value. This allows to eliminate the table containing C from further join processing. In order the optimization to be applied the WHERE condition must be a conjunction of simple equality/inequality predicates or/and BETWEEN predicates. The bug fixed in the patch resulted in fetching a wrong value from the index used for MIN/MAX optimization. It may happened when a BETWEEN predicate containing the MIN/MAX value followed a strict inequality. Approved by dmitry.shulga@mariadb.com
-
Marko Mäkelä authored
Our intention is to make users aware that the ROW_FORMAT=COMPRESSED format is on its way to deprecation. It is an unnecessary annoyance to users if we issue a warning when the user is converting a ROW_FORMAT=COMPRESSED table to a supported format (such as ROW_FORMAT=DYNAMIC). ha_innobase::is_read_only(): Add a parameter to specify that an ALTER TABLE to a supported format has been requested. ha_innobase::check_if_supported_inplace_alter(): Set the parameter when ALTER_OPTIONS to something else than ROW_FORMAT=COMPRESSED (and without KEY_BLOCK_SIZE) is being requested. Thanks to Elena Stepanova for suggesting this.
-
Marko Mäkelä authored
Until https://github.com/rr-debugger/rr/issues/2613 has been addressed, ./mtr --rr will fail to start up the server if it has been configured with liburing. To make the ./mtr --rr option work out of the box, we will disable native asynchronous I/O. Note: libaio never worked under rr, but it failed more gracefully: the emulated io_setup() call would always return an error.
-
Marko Mäkelä authored
-
Vladislav Vaintroub authored
so that sys.schema_auto_increment_columns returns correct auto_increment_value
-
Marko Mäkelä authored
-
Vladislav Vaintroub authored
Fix confusing documentation. There is no installation necessary for sys schema. it is there after mysql_install_db, or mysql_upgrade.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Tests with 4096-byte sector size confirm that it is safe to use O_DIRECT with page_compressed tables. That had been disabled on Linux, in an attempt to fix MDEV-21584 which had been filed for the O_DIRECT problems earlier. The fil_node_t::block_size was being set mostly correctly until commit 10dd290b (MDEV-17380) introduced a regression in MariaDB Server 10.4.4. fil_node_open_file(): Only avoid setting O_DIRECT on ROW_FORMAT=COMPRESSED tables that use KEY_BLOCK_SIZE=1 or 2 (1024 or 2048 bytes). fil_ibd_create(): Avoid setting O_DIRECT on ROW_FORMAT=COMPRESSED tables that use KEY_BLOCK_SIZE=1 or 2 (1024 or 2048 bytes). fil_node_t::find_metadata(): Require fstat() to be always invoked outside Microsoft Windows, so that fil_node_t::block_size can be set. fil_node_t::read_page0(): Rely on find_metadata() to assign block_size. Thanks to Vladislav Vaintroub for testing this on Microsoft Windows using an old-fashioned rotational hard disk with 4KiB sector size. Reviewed by: Vladislav Vaintroub This is a port of commit 00f620b2 and commit 6505662c from 10.2.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
Before MDEV-14638, there was no race condition between the execution of fetch_data_into_cache() and transaction commit. fetch_data_into_cache(): Acquire trx_t::mutex before checking trx_t::state, to prevent a concurrent transition from TRX_STATE_COMMITTED_IN_MEMORY to TRX_STATE_NOT_STARTED in trx_commit_in_memory().
-