summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* MDEV-22364 Windows : allow WITH_ASAN on 32bit clang and MSVCbb-10.5-MDEV-22359Vladislav Vaintroub2020-04-243-10/+14
|
* MDEV-22359 - better control of tpool concurrencyVladislav Vaintroub2020-04-248-2/+88
|
* MDEV-20372 - fix thread_pool_infoVladislav Vaintroub2020-04-233-5/+4
| | | | | | | In rare cases, both listener and worker can do poll at the same time (one of them will return events, another one no events) Fix test query to account for it.
* Deb: Use mysql[d].service symlinks as created by CMakeOtto Kekäläinen2020-04-232-2/+2
| | | | | Stop making new symlinks and use the existing ones directly as they have been available since d2f5e82f0043d9decdbde61e201dbce482e48205.
* Remove excess mysql-* provides (the virtual-mysql-* are enough)Otto Kekäläinen2020-04-231-17/+0
| | | | | | | | | | Originally added in cc08c134f7790816966d8e08a07fd6213a0cfa80 in 2015 for backwards compatibility with old packages. It no longer makes much sense in providing mysql-* packages since the virtual-mysql-* packages paradign has been in effect since 2016 and all current MySQL installs should already follow the virtual-mysql-* paradigm controlled by https://tracker.debian.org/pkg/mysql-defaults.
* Deb: Misc small fixes and cleanupsOtto Kekäläinen2020-04-237-7/+6
| | | | | | | | | | | | | | - Include binary wsrep_sst_rsync_wan previously omitted. - Don't build the embedded server. This saves a lot of time and around 500 MB of disk space. - Clean away unused override_dh_installcron. The package does not have any *.cron files, so this section is not needed. - Make mariadb-server run time depend on procps so pgrep works. The command pgrep is used in the maintainer scripts of mariadb-server, thus we should ensure it is found on the system. - Include build plugin func_test.so in test package. Don't include yet type_test.so since it fails (MDEV-22243). - Clean away obsolete Lintian overrides.
* Deb: Rename mysqlreport to mariadb-report, fix regression in 9e1b3af4aOtto Kekäläinen2020-04-236-24/+26
| | | | | | | This was partially already done in 9e1b3af4a490d6fb6704756aba90281ff5ac033a as the symlink mysqlreport pointed to mariadb-report. There just was no script with that name, so this rename complements it and now both mariadb-report and mysqlreport work again.
* Clean up logcheck.ignore.* configs and unify MariaDB.org links with httpsOtto Kekäläinen2020-04-236-24/+20
|
* Deb: Remove unmaintained AWS key plugin packagingOtto Kekäläinen2020-04-232-6/+0
| | | | | | | | Likewise to TokuDB and Cassandra, if this plugin is maintained it should be either fully enabled or not present at all. Packaging can be recovered from MariaDB 10.2 if needed, or if build outside of this packaging, then also the packaging scripts and snippets should be injected from the outside.
* MDEV-19110: Remove Cassandra from Debian packagingOtto Kekäläinen2020-04-234-32/+2
| | | | | | | | | | | | | | | | Cassandra has deprecated their Thrift interface years ago (a few months after Cassandra SE was released). The new way to access Cassandra is to use the CQL Connector, which does not use Thrift. There have been talks to make a CassandraSE V2 but no usable code have been produced. The motivation to keep CassandraSE in the MariaDB source code is to have it as an example for such future attempts. It can stay in the source code but it should be removed from packaging to avoid Debian packaging maintenance work around trying to compile it and have tests pass on new platform. If somebody wants Cassandra, they can use the 10.4 branch.
* MDEV-21944: Remove TokuDB from Debian packagingOtto Kekäläinen2020-04-234-48/+1
| | | | | | | | | | | | | It was already disabled in 1589cf1cb3048984240f025ddc0c82fb311827fc but turns out that as long as the packaging is there, is requires maintenance, ensuring it still builds, debugging failing tests etc and that takes its toll and is not worth all the extra work. Having it "only disabled" does not help, since either we have it and keep it tested and working, or we don't have it and don't spend time on keeping it working and tested. In MDEV-19780 there was already a decision to drop TokuDB from MariaDB. If somebody wants TokuDB, they can use the 10.4 branch.
* Deb: Use 'eatmydata' when available to build faster with less disk I/OOtto Kekäläinen2020-04-231-1/+8
|
* Deb: Add a customized salsa-ci.yml for easy extra testingOtto Kekäläinen2020-04-235-11/+1019
| | | | | | | | | | | As initially most tests fail, they have allow_failures defined so that testing anyway proceeds all the way to the final 'upgrade extras' stage. All of these tests work for downstream Debian packaging of MariaDB 10.4 and should eventually pass on upstream MariaDB 10.5 as well. Also upstream the Debian autopkgtests from MariaDB 10.4 in Debian so that pipeline includes running mtr.
* Temporarily disable tests permanently failing on 10.5Otto Kekäläinen2020-04-231-0/+5
| | | | | | | | | | | | | | | | | | | | This are filed as issues so I trust these will not be forgotten: - MDEV-20372 - MDEV-21965 - MDEV-21968 - MDEV-22119 Having these tests fail the MTR permanently decreases the overall quality of the software as: - developers start neglecting the results from CI systems and do not spot the new regressions their changes introduce - reviews take many hours as a diligent reviewer needs to open all build logs that are failing, see what is failing, and check if those are new failures or not – alternatively reviewers stop looking at CI altogether It is better to disable these test now and prioritize the MDEVs for the test failure bugs than keep the MTR red and allow more test failures to creep in.
* MDEV-21807 : galera.galera_slave_replay MTR failed: WSREP: Unknown parameter ↵Jan Lindström2020-04-221-1/+1
| | | | | | | 'dbug Test do we have galera debug library with debug_sync functionality needs to be earlier.
* MDEV-22159: Don't redirect as root to a tmp file not owned by rootOtto Kekäläinen2020-04-221-1/+8
| | | | | | Also add a check for tmp file being empty and bail out with a clear error message in such a case, as mysqld_safe prevents normal stderr from being displayed anywhere and would fail silently on this.
* MDEV-22181 : galera.galera_sst_mysqldump_with_key MTR failed: INSERT failed: ↵Jan Lindström2020-04-221-0/+3
| | | | | | | 1146: Table 'test.t1' doesn't exist Add wait condition to make sure table test.t1 is replicated to node_2 before we insert to it.
* MDEV-22332: Assertion mtr_started == mtr.is_active() failedMarko Mäkelä2020-04-222-2/+3
| | | | | | | | | | | | | | Commit 5defdc382bbf606b83e556c4f0d29dcd7954ebbc (which aimed to reduce sizeof(mtr_t) for non-debug builds) replaced the ternary mtr_t::status with two debug-only bool data members m_start, m_commit and inadvertently made the (now debug-only) predicate mtr_t::is_active() wrongly hold after mtr_t::commit(). mtr_t::is_active(): Evaluate both m_start and m_commit, to be compatible with the old definition. row_merge_read_clustered_index(): Correct a debug assertion.
* MDEV-21884 MariaDB with Spider crashes on a queryKentoku SHIBA2020-04-221-5/+2
| | | | Fix a test result.
* MDEV-21941: Fix GCC 10 -Wmaybe-uninitializedMarko Mäkelä2020-04-211-2/+2
| | | | | | | commit 105b879d0f541f049a131a5c3b99d678fc7d3213 introduced this warning. The warning looks harmless, but GCC does not understand that the initialization and the use of the variables are guarded by the same predicate.
* Fix main.partition_debug_innodbMarko Mäkelä2020-04-211-1/+1
| | | | | | The test was broken in commit f40ca33bbc605af28492b58dde35bf2a97126b5f. The background DROP TABLE queue in InnoDB will continue to use names like #sql-ib, and we must filter out those file names.
* MDEV-18115: Remove fil_type_is_data()Marko Mäkelä2020-04-212-24/+2
| | | | | | | When commit 562c037b485b25f76fc7cb8e2c526d532450df7a removed FIL_TYPE_LOG, the function fil_type_is_data() became redundant, that is, always returning true for a valid value of fil_space_t::purpose. Remove it.
* Initialize error variable to 0 in alter_table_closeVicențiu Ciorbaru2020-04-201-1/+1
| | | | | f9f33b85be6b5006f0ecd0de7961c71d415a9d73 introduced a potential use of unitialized value when the if condition is false.
* Ship mariadb.service and mysql[d].service symlinksVicențiu Ciorbaru2020-04-202-5/+17
| | | | | | | | Create symlinks during configure time and install them. This is necessary as Alias support from systemd service file was dropped with: 6af0bd69074725c8d8b10f07ed4ccc013d010322 * Also ignore the generated symlinks in gitignore
* Added more digits to JSON output of doubleMonty2020-04-1915-730/+837
| | | | | | | sprintf() format of double changed from '%lg' to '%-.11lg' The change was to make it easier to read optimizer trace output with tables that has millions of records.
* Fixed compiler warningMonty2020-04-191-4/+4
|
* Make all #sql temporary table names uniformMonty2020-04-1916-119/+140
| | | | | | | | | | | | | | | | The reason for this is to make all temporary file names similar and also to be able to figure out from where a #sql-xxx name orginates. New format is for most cases: '#sql-name-current_pid-thread_id[-increment]' Where name is one of subselect, alter, exchange, temptable or backup The exceptions are: ALTER PARTITION shadow files: '#sql-shadow-thread_id-'original_table_name' Names used with temp pool: '#sql-name-current_pid-pool_number'
* Added support for more functions when using partitioned S3 tablesMonty2020-04-1948-311/+1665
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MDEV-22088 S3 partitioning support All ALTER PARTITION commands should now work on S3 tables except REBUILD PARTITION TRUNCATE PARTITION REORGANIZE PARTITION In addition, PARTIONED S3 TABLES can also be replicated. This is achived by storing the partition tables .frm and .par file on S3 for partitioned shared (S3) tables. The discovery methods are enchanced by allowing engines that supports discovery to also support of the partitioned tables .frm and .par file Things in more detail - The .frm and .par files of partitioned tables are stored in S3 and kept in sync. - Added hton callback create_partitioning_metadata to inform handler that metadata for a partitoned file has changed - Added back handler::discover_check_version() to be able to check if a table's or a part table's definition has changed. - Added handler::check_if_updates_are_ignored(). Needed for partitioning. - Renamed rebind() -> rebind_psi(), as it was before. - Changed CHF_xxx hadnler flags to an enum - Changed some checks from using table->file->ht to use table->file->partition_ht() to get discovery to work with partitioning. - If TABLE_SHARE::init_from_binary_frm_image() fails, ensure that we don't leave any .frm or .par files around. - Fixed that writefrm() doesn't leave unusable .frm files around - Appended extension to path for writefrm() to be able to reuse to function for creating .par files. - Added DBUG_PUSH("") to a a few functions that caused a lot of not critical tracing.
* Added support for VISIBLE attribute for indexes in CREATE TABLEMonty2020-04-195-3/+21
| | | | | | | MDEV-22199 Add VISIBLE attribute for indexes in CREATE TABLE This was done to make it easier to read in dumps from MySQL 8.0 generated with MySQL workbench
* Don't try to open temporary tables if there are no temporary tables.Monty2020-04-194-13/+21
| | | | | This was done to increase performance when not using temporary tables as checking if a table is a temporary table involves a lot of code.
* Handle errors from external_unlock & mysql_unlock_tablesMonty2020-04-1915-56/+101
| | | | | | Other things: - Handler errors from ha_maria::implict_commit - Disable DBUG in safe_mutex_lock to get trace file easier to read
* Updated client and server to use new binary names in --debug tracesMonty2020-04-196-7/+7
|
* Fixed some assert crashes related to keyread.Monty2020-04-195-5/+37
| | | | | | | | - MDEV-22062 Assertion `!table->file->keyread_enabled()' failed in close_thread_table() - MDEV-22077 table->no_keyread .. failed in join_read_first() - MDEV-22237 Assertion `!table->file->keyread_enabled()' failed in handler::ha_reset on DELETE
* Bug#19784790: ASSERTION `PART_SHARE->PARTITIONS_SHARE_REFS->NUM_PARTSMonty2020-04-193-60/+133
| | | | | | | | | | | | | | | | | | | | | >= M_TOT_PARTS' FAILED. This patch is taken from MySQL, originally written by Mattias Jonsson Here follows the original commit message: Problem in handle_alter_part_error(), result in altered partition_info object was still used if table was under LOCK TABLES. Solution was to always close and destroy all table and table_share instances if exclusive mdl lock was possible. If not succeeding in get an exlusive lock (only possible during rollback of DDL), at least close and destroy this table instance. rb#7361. Approved by Mikael and Aditya.
* Added error message to --die in mtrMonty2020-04-191-1/+2
|
* Cleanup whitespaceVicențiu Ciorbaru2020-04-191-1/+1
|
* MDEV-21869: Add temporary Lintian overridesOtto Kekäläinen2020-04-195-0/+36
| | | | | | With these in place Lintian will pass without errors (only warnings) and the CI systems will at least be able to stop anybody from introducing new Lintian errors.
* MDEV-21869: Make Debian packaging Lintian cleanOtto Kekäläinen2020-04-194-3/+5
| | | | | | | | Fix Lintian complaints on: P: maintainer-script-without-set-e W: mariadb-server-10.5: script-not-executable usr/share/mysql/mysql.init W: mariadb-client-10.5: incorrect-path-for-interpreter usr/bin/innotop (#!/usr/bin/env perl != /usr/bin/perl)
* MDEV-6284: Sync correct Debian handling of auth_pam_toolOtto Kekäläinen2020-04-192-6/+17
| | | | | | | | | Manages the security risk in way that also fixes Lintian warning: W: mariadb-server-10.5: setuid-binary usr/lib/mysql/plugin/auth_pam_tool_dir/auth_pam_tool 4755 root/root Applied downstream in https://salsa.debian.org/mariadb-team/mariadb-10.4/-/commit/9605a48a99a61f439698676da192799de45d732a
* MDEV-6284: Sync mariadb-server maintainer scripts as much as possibleOtto Kekäläinen2020-04-194-56/+78
| | | | | | | | | | | | | | There are still some differences in due to systemd and service triggers, but these differences make sense and are likely to be synced the other way later so that downstream Debian official packaging adopts them. The synced changes include among others: - https://salsa.debian.org/mariadb-team/mariadb-10.4/-/commit/9f49e4b494f3dad8c403972996f7a1ebceb4b34f - https://salsa.debian.org/mariadb-team/mariadb-10.4/-/commit/6440c0d6e75aeda134f4f942eee4fbfd62b1ce20 - https://salsa.debian.org/mariadb-team/mariadb-10.4/-/commit/6e5ee72d647744bf84c42e02c3dfe888912e739e - https://salsa.debian.org/mariadb-team/mariadb-10.4/-/commit/e62e67ae4b7679c43e80a20ab3ba3c51f01f0714 - https://salsa.debian.org/mariadb-team/mariadb-10.4/-/commit/df2415a53d5604755768f00aad0c640df1ad815c - https://salsa.debian.org/mariadb-team/mariadb-10.4/-/commit/643558da74990f8648b3c86039e253dbae337c84
* MDEV-6284: Sync breaks/replaces relationships and file locationsOtto Kekäläinen2020-04-193-5/+47
| | | | | | | | | | | | | | These changes are in line with what has been changes in downstream Debian and they fix the following errors: $ check_for_missing_breaks_replaces.py -o ${WORKING_DIR}/missing_breaks.xml --changes-file ${WORKING_DIR}/*.changes [ERROR] mariadb-client-10.5 conflicts with mytop files: {'/usr/bin/mytop'} [ERROR] mariadb-client-10.5 conflicts with mariadb-client-core-10.3 files: {'/usr/bin/mysqlcheck'} [ERROR] mariadb-server-10.5 conflicts with mariadb-server-core-10.3 files: {'/usr/share/man/man1/resolveip.1.gz', '/usr/bin/resolveip', '/usr/share/mysql/mysql_test_data_timezone.sql'} [ERROR] mariadb-client-10.5 conflicts with mysql-client-core-5.7 files: {'/usr/bin/mysqlcheck'} [ERROR] mariadb-server-10.5 conflicts with mariadb-server-core-10.3 files: {'/usr/share/man/man1/resolveip.1.gz', '/usr/bin/resolveip', '/usr/share/mysql/mysql_test_data_timezone.sql'} [ERROR] mariadb-server-10.5 conflicts with mysql-client-5.7 files: {'/usr/bin/myisam_ftdump', '/usr/share/man/man1/myisam_ftdump.1.gz'} [ERROR] mariadb-server-core-10.5 conflicts with mysql-server-5.7 files: {'/usr/share/mysql/mysql_test_data_timezone.sql', '/usr/bin/resolveip', '/usr/share/man/man1/resolveip.1.gz'} [ERROR] mariadb-test conflicts with mysql-server-5.7 files: {'/usr/lib/mysql/plugin/adt_null.so', '/usr/lib/mysql/plugin/mypluglib.so'}
* MDEV-6284: Sync deb build rules etc with downstreamOtto Kekäläinen2020-04-194-112/+39
| | | | | | | | | | - Ensure cmake builds also apply CPPFLAGS flags for hardening to fully work https://salsa.debian.org/mariadb-team/mariadb-10.4/-/commit/fc4f33cf40d0a10ef5d1992accd2af734ba96356 - Install Ubuntu Apport files in the same way with same filename. - MDEV-21705: Build flags to keep WolfSSL from crashing - Clean away sql-bench from packaging immediately after build step. - Delete private files from libraries so they don't get shipped in the -dev packages.
* MDEV-6284: Correctly place files in libmariadb-dev, libmariadbd-dev etc packagesOtto Kekäläinen2020-04-198-9/+46
| | | | | | | | | | | | | | | | | | | | - Make full contents, also header files, explicit in -dev packages https://salsa.debian.org/mariadb-team/mariadb-10.4/-/commit/fb77df0c75422449c32ab1f5f8650a7e9e91091f - Don't ship private header files at all. - Ship both libmariadb.pc and maridb.pc. - Ship mysql_config only as a symlink. - Keep 'mariadbcheck' as symlink as somebody could have used it already https://salsa.debian.org/mariadb-team/mariadb-10.3/commit/d0466f74d543ac574dcd832e081fdc18538f3edd - The mariadb.pc is the server pkg-config, ship in libmariadbd-dev. - The client pkg-config is called libmariadb.pc. Ship only it in the client library packages. Use versioned breaks/replaces for mysql* packages we also provide and fix: [ERROR] libmariadb-dev conflicts with libmysqlclient-dev files: {'/usr/share/man/man1/mysql_config.1.gz', '/usr/share/aclocal/mysql.m4'} [ERROR] libmariadb-dev conflicts with libmysqld-dev files: {'/usr/lib/x86_64-linux-gnu/libmysqlservices.a'}
* MDEV-6284: Sync deb build dependencies and control file with downstreamOtto Kekäläinen2020-04-192-65/+68
| | | | | | | | | | | | | - Remove versioned depends that are far outdated and not relevant anymore in 2020. - Link with libedit instead of unmaintained readline5 https://salsa.debian.org/mariadb-team/mariadb-10.4/-/commit/d8796a0e3b5fc4450f4dc80fd159599a7f03997a - Add [linux-any] for Linux specific depends and other smaller control file tweaks. - Update .travis-ci.yml to match. - Also fixes the Debian autopkgtest detected error: ERROR 1231 (42000) at line 1: Variable 'innodb_compression_algorithm' can't be set to the value of 'lz4'
* MDEV-15526 systemd unit files naming and installationFaustin Lammler2020-04-182-2/+2
| | | | | | | | | | | Drop Aliases from the service file directive. Aliases in the service file only take effect when the service is enabled. This is the case because Aliases in service files do not have to be unique across various services. Shipping symlinks guarantees that one can always enable mariadb service using `systemctl enable mysql` or `systemctl enable mysqld` and makes the commands indempotent.
* Update plugins.pam_* tests to no longer provide --plugin-dir to mysqltestVicențiu Ciorbaru2020-04-183-11/+11
| | | | | | Post change of 8447edb7473c5532ecb2544ce6d00d5a868f5bd5, --plugin-dir is set in the default my.cnf file under [client]. The value is automatically detected during mtr startup.
* MDEV-20502 Queries against spider tables return wrong values for columns ↵Kentoku SHIBA2020-04-1710-4/+216
| | | | | | following constant declarations. When executing a query like "select id, 0 as const, val from ...", there are 3 columns(items) in Query->select at handlerton->create_group_by(). After that, MariaDB makes a temporary table with 2 columns. The skipped items are const item, so fixing Spider to skip const items for items at Query->select.
* MDEV-21884 MariaDB with Spider crashes on a queryKentoku SHIBA2020-04-176-0/+293
|
* Post-fixes for MDEV-18851 for WindowsVladislav Vaintroub2020-04-171-3/+1
| | | | | | | | | - On Windows, do not handle lack of SeLockMemory privilege as fatal error. Just like on any other platform, there is a fallback to ordinary pages. It is better than server that does not start, silently. - On Windows, remove incorrect irritating "fallback to conventional pages failed" from the warning, when allocating large pages fails.
* MDEV-22242 B-trees can become extremely skewedMarko Mäkelä2020-04-1420-246/+236
| | | | | | | | | | | | | | | | | | | | The test innodb.innodb_wl6326 that had been disabled in 10.4 due to MDEV-21535 is failing on 10.5 due to a different reason: the removal of the MLOG_COMP_END_COPY_CREATED operations in MDEV-12353 commit 276f996af917851b9c5fef4a41f93e68d398af36 caused PAGE_LAST_INSERT to be set to something nonzero by the function page_copy_rec_list_end(). This in turn would cause btr_page_get_split_rec_to_right() to behave differently: we would not attempt to split the page at all, but simply insert the new record into the new, empty, right leaf page. Even though the change reduced the sizes of some tables, it is better to aim for balanced trees. page_copy_rec_list_end(), PageBulk::finishPage(): Preserve PAGE_LAST_INSERT, PAGE_N_DIRECTION, PAGE_DIRECTION. PageBulk::finish(): Move some common code from PageBulk::finishPage().