- 18 Mar, 2021 20 commits
-
-
Vladislav Vaintroub authored
-
Sergei Petrunia authored
Don't remove (reasons given in Jira), instead add test coverage. Improve other printout in best_access_path.
-
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
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
- increase MAX_BOOTSTRAP_QUERY_SIZE (sys.schema has SP over 50K large) don't allocate bootstrap query on heap anymore. - support DELIMITER in bootstrap
-
Vladislav Vaintroub authored
- Innodb is not always available, which means t is not always possible to use innodb system variables, or innodb information schema tables. Thus creation of objects that use Innodb information_schema is enclosed into BEGIN NOT ATOMIC blocks with dummy SQLEXCEPTION handler. - sys_config table uses Aria, just like other system tables. - several tables that exist in MySQL, do not exist in MariaDB performance_schema.replication_applier_status, mysql.slave_master_info, mysql.slave_relay_log_info
-
-
Daniel Black authored
ALIGN was defined already: mysys/crc32/crc32c.cc:390: warning: "ALIGN" redefined #define ALIGN(n, m) ((n + ((1 << m) - 1)) & ~((1 << m) - 1)) In file included from /root/aix/build/include/my_global.h:543, from /root/aix/build/mysys/crc32/crc32c.cc:22: /opt/freeware/lib/gcc/powerpc-ibm-aix7.1.0.0/8/include-fixed/sys/socket.h:788: note: this is the location of the previous definition #define ALIGN(p) (ulong)((caddr_t)(p) + MACHINE_ALIGNMENT - 1 - \
-
Etienne Guesnet authored
-
- 17 Mar, 2021 13 commits
-
-
Sergei Petrunia authored
Note they key_or() may call tree_delete(), which will cause the weight asserts to be checked. In order to avoid them from firing, update key1 tree's weight after we've changed key1->some_local_child->next_key_part. Having done that, do we still need this at the function end: /* Re-compute the result tree's weight. */ key1->update_weight_locally(); ?
-
Otto Kekäläinen authored
-
Otto Kekäläinen authored
Upstreamed from https://salsa.debian.org/mariadb-team/mariadb-10.5/-/tree/master/debian/po
-
Marko Mäkelä authored
WITH_PMEM: Change the parameter from BOOL to a ternary STRING with a default value that allows to use libpmem when it is available. In this way, a libpmem dependency will be automatically installed on other than Debian-based systems, based on what is available on the continuous integraton system for building the packages. WITH_PMEM=auto (default): Use libpmem when available. WITH_PMEM=yes: Require libpmem to be available. WITH_PMEM=no: Do not depend on libpmem.
-
Otto Kekäläinen authored
Updating the debian/control file will automatically update the dependencies in all CI environments that directly read the debian/control file, such as Salsa-CI and buildbot.mariadb.org to some degree. (https://github.com/MariaDB/mariadb.org-tools/issues/43) On Debian/Ubuntu releases that don't have libpmem-dev available, automatically omit it. Debian/Ubuntu availability visible at: - https://packages.debian.org/search?searchon=names&keywords=libpmem-dev - https://packages.ubuntu.com/search?searchon=names&keywords=libpmem-dev Also modify debian/rules to activate the use of PMEM, as it does not seem to activate automatically. The scope of this change is also Debian/Ubuntu only. No RPM or Windows or Mac changes are included in this commit. This commit does not update the external libmariadb or ColumnStore CI pipelines, as those are maintained in different repositories.
-
Marko Mäkelä authored
-
Sergei Petrunia authored
ignore_indexes -> ignored_index ignore_indexes_innodb -> ignored_index_innodb
-
Sergei Petrunia authored
Add a test that marking index as [not] ignored uses algorithm=instant with InnoDB.
-
Varun Gupta authored
Allowing ALTER KEY syntax in ALTER TABLE,so one can use: ALTER TABLE tbl ALTER INDEX index_name IGNORED ALTER TABLE tbl ALTER KEY index_name IGNORED
-
Varun Gupta authored
- The patch itself - More changes to the parser - Fix by Sergei P to make the tests pass with --embedded
-
Vladislav Vaintroub authored
031b3dfc changed thread_stack for ASAN. Skip the tests to avoid the diff
-
Eugene Kosov authored
-
Jan Lindström authored
Add missing dbug sync point and correct the test case.
-
- 16 Mar, 2021 5 commits
-
-
Anel Husakovic authored
MDEV-24601: INFORMATION_SCHEMA doesn't differentiate between column and table-level CHECK constraints - Reviewed by: wlad@mariadb.com
-
Marko Mäkelä authored
-
Marko Mäkelä authored
If the user "opts in" (as in the parent commit 92b2a911), we can optimize multiple INSERT statements to use table-level locking and undo logging. There will be a change of behavior: CREATE TABLE t(a PRIMARY KEY) ENGINE=InnoDB; SET foreign_key_checks=0, unique_checks=0; BEGIN; INSERT INTO t SET a=1; INSERT INTO t SET a=1; COMMIT; will end up with an empty table, because in case of an error, the entire transaction will be rolled back, instead of rolling back the failing statement. Previously, the second INSERT statement would have been logged row by row, and only that second statement would have been rolled back, leaving the first INSERT intact. lock_table_x_unlock(), trx_mod_table_time_t::WAS_BULK: Remove. Because we cannot really support statement rollback in this optimized mode, we will not optimize the locking. The exclusive table lock will be held until the end of the transaction.
-
Marko Mäkelä authored
In MDEV-515, we enabled an optimization where an insert into an empty table will use table-level locking and undo logging. This may break applications that expect row-level locking. The SQL statements created by the mysqldump utility will include the following: SET unique_checks=0, foreign_key_checks=0; We will use these flags to enable the table-level locked and logged insert. Unless the parameters are set, INSERT will be executed in the old way, with row-level undo logging and implicit record locks.
-
Jan Lindström authored
MDEV-24916 : Assertion `current_stmt_binlog_format == BINLOG_FORMAT_STMT || current_stmt_binlog_format == BINLOG_FORMAT_ROW' failed in THD::is_current_stmt_binlog_format_row Store old value of binlog format before wsrep code so that if we bail out because wsrep is not ready for connections we can restore binlog format correctly.
-
- 15 Mar, 2021 2 commits
-
-
Vladislav Vaintroub authored
CONC-534 memory leak in ps_bugs.c
-
Vlad Lesin authored
fil_op_replay_rename(): Remove. fil_rename_tablespace_check(): Remove a parameter is_discarded=false. recv_sys_t::parse(): Instead of applying FILE_RENAME operations, buffer the operations in renamed_spaces. recv_sys_t::apply(): In the last_batch, apply renamed_spaces.
-