- 21 Feb, 2019 23 commits
-
-
Sergei Golubchik authored
move the assignment out of a function, so that it wouldn't happen in a subshell
-
Marko Mäkelä authored
ib_counter_element_t: Declare as struct, not union. Based on patch by Vladislav Vaintroub
-
Sergei Golubchik authored
Debian part. Do not ask to set a root password, do not create debian-sys-maint user (but preserve an existing one on upgrades - user scripts might be relying on it). Just create an empty /etc/mysql/debian.cnf for --defaults-file not to fail
-
Sergei Golubchik authored
and, again, *don't use thd->clear_error()* this fixed main.sp_notembedded failure on various amd64 platforms (where ER_STACK_OVERRUN_NEED_MORE happens to fire in open_stat_tables() under Dummy_error_handler)
-
Sergei Golubchik authored
-
Sergei Golubchik authored
After FLUSH PRIVILEGES remember if the connection started under --skip-grant-tables and keep it all-powerful, not a lowly anonymous. One could use this connection to reset passwords as needed. Also fix a crash in SHOW CREATE USER
-
Sergei Golubchik authored
-
Sergei Golubchik authored
post-merge changes: * handle password expiration on old tables like everything else - make changes in memory, even if they cannot be done on disk * merge "debug" tests with non-debug tests, they don't use dbug anyway * only run rpl password expiration in MIXED mode, it doesn't replicate anything, so no need to repeat it thrice * restore update_user_table_password() prototype, it should not change ACL_USER, this is done in acl_user_update() * don't parse json twice in get_password_lifetime and get_password_expired * remove LEX_USER::is_changing_password, see if there was any auth instead * avoid overflow in expiration calculations * don't initialize Account_options in the constructor, it's bzero-ed later * don't create ulong sysvars - they're not portable, prefer uint or ulonglong * misc simplifications
-
Robert Bindar authored
This patch adds support for expiring user passwords. The following statements are extended: CREATE USER user@localhost PASSWORD EXPIRE [option] ALTER USER user@localhost PASSWORD EXPIRE [option] If no option is specified, the password is expired with immediate effect. If option is DEFAULT, global policy applies according to the default_password_lifetime system var (if 0, password never expires, if N, password expires every N days). If option is NEVER, the password never expires and if option is INTERVAL N DAY, the password expires every N days. The feature also supports the disconnect_on_expired_password system var and the --connect-expired-password client option. Closes #1166
-
Sergei Golubchik authored
fix unix_socket tests to work if unix_socket is a built-in
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
* don't suppress output unnecessary * only run system versioning tests with two innodb combinations * show results of delete/update (add SELECTs as needed)
-
Nikita Malyavin authored
* implicit period constraint is hidden and cannot be dropped independently * create...like and create...select support
-
Nikita Malyavin authored
-
Nikita Malyavin authored
* inject portion of time updates into mysql_delete main loop * triggered case emits delete+insert, no updates * PORTION OF `SYSTEM_TIME` is forbidden * `DELETE HISTORY .. FOR PORTION OF ...` is forbidden as well
-
Nikita Malyavin authored
* add syntax `CREATE TABLE ... PERIOD FOR <apptime>` * add table period entity
-
Sergei Golubchik authored
-
Oleksandr Byelkin authored
-
- 20 Feb, 2019 7 commits
-
-
Oleksandr Byelkin authored
-
Vladislav Vaintroub authored
This is done in order to help debugging buildbot failures.
-
Marko Mäkelä authored
This is follow-up to MDEV-18048: Relax a too strict debug assertion This assertion should have been relaxed when implementing the first part of MDEV-15563: instant removal of NOT NULL attribute for ROW_FORMAT=REDUNDANT tables. For ROW_FORMAT=REDUNDANT, there is no bitmap of null columns; the null flags are encoded in the end offset of each field. We do not really care about the number of fields that can be NULL.
-
Oleksandr Byelkin authored
-
Marko Mäkelä authored
Revert the type casts of 58e525e4.
-
Vladislav Vaintroub authored
-
Elena Stepanova authored
-
- 19 Feb, 2019 10 commits
-
-
Oleksandr Byelkin authored
-
Thirunarayanan Balathandayuthapani authored
MariaDB data-at-rest encryption (innodb_encrypt_tables) had repurposed the same unused data field that was repurposed in MySQL 5.7 (and MariaDB 10.2) for the Split Sequence Number (SSN) field of SPATIAL INDEX. Because of this, MariaDB was unable to support encryption on SPATIAL INDEX pages. Furthermore, InnoDB page checksums skipped some bytes, and there are multiple variations and checksum algorithms. By default, InnoDB accepts all variations of all algorithms that ever existed. This unnecessarily weakens the page checksums. We hereby introduce two more innodb_checksum_algorithm variants (full_crc32, strict_full_crc32) that are special in a way: When either setting is active, newly created data files will carry a flag (fil_space_t::full_crc32()) that indicates that all pages of the file will use a full CRC-32C checksum over the entire page contents (excluding the bytes where the checksum is stored, at the very end of the page). Such files will always use that checksum, no matter what the parameter innodb_checksum_algorithm is assigned to. For old files, the old checksum algorithms will continue to be used. The value strict_full_crc32 will be equivalent to strict_crc32 and the value full_crc32 will be equivalent to crc32. ROW_FORMAT=COMPRESSED tables will only use the old format. These tables do not support new features, such as larger innodb_page_size or instant ADD/DROP COLUMN. They may be deprecated in the future. We do not want an unnecessary file format change for them. The new full_crc32() format also cleans up the MariaDB tablespace flags. We will reserve flags to store the page_compressed compression algorithm, and to store the compressed payload length, so that checksum can be computed over the compressed (and possibly encrypted) stream and can be validated without decrypting or decompressing the page. In the full_crc32 format, there no longer are separate before-encryption and after-encryption checksums for pages. The single checksum is computed on the page contents that is written to the file. We do not make the new algorithm the default for two reasons. First, MariaDB 10.4.2 was a beta release, and the default values of parameters should not change after beta. Second, we did not yet implement the full_crc32 format for page_compressed pages. This will be fixed in MDEV-18644. This is joint work with Marko Mäkelä.
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Oleksandr Byelkin authored
-
Marko Mäkelä authored
-
Alexander Barkov authored
For example, with this cmake command line: cmake . -DCMAKE_C_FLAGS="-DDBUG_ASSERT_AS_PRINTF" \ -DCMAKE_CXX_FLAGS="-DDBUG_ASSERT_AS_PRINTF"
-
Sergey Vojtovich authored
Apparently DBUG_ASSERT() can co-exist with DBUG_OFF when -DCMAKE_CXX_FLAGS="-DDBUG_ASSERT_AS_PRINTF". Removed assertion as it is useless now, since the type is unsigned.
-
Oleksandr Byelkin authored
but even if this script called as /bin/mysql_install_db it is still standard install and scripts are in /usr/share/ (but not in the /share/) 2. fix of bindir path
-
Teemu Ollakka authored
The replayer did not signal replaying waiters. Added mysql_cond_broadcast() after replaying is over. Assertion on client error failed after replay attempt failed due to certification failure. At this point the transaction does not go through client state, so the client error cannot be overridden. Assign ER_LOCK_DEADLOCK to thd directly instead. Use timed cond wait when waiting for replayers to finish and check if the transaction has been BF aborted during the wait.
-