- 30 Jun, 2021 1 commit
-
-
Sergei Petrunia authored
Consider a query of the form: select ... from (select item2 as COL1) as T where COL1=123 Condition pushdown into derived table will try to push "COL1=123" condition down into table T. The process of pushdown involves "substituting" the item, that is, replacing Item_field("T.COL1") with its "producing item" item2. In order to use item2, one needs to clone it (call Item::build_clone). If the item is not cloneable (e.g. Item_func_sp is not), the pushdown process will fail and nothing at all will be pushed. Fixed by introducing transform_condition_or_part() which will try to apply the transformation for as many parts of condition as possible. The parts of condition that couldn't be transformed are dropped.
-
- 29 Jun, 2021 2 commits
-
-
xing-zhi, jiang authored
Add KEYWORDS table and SQL_FUNCTIONS table to INFORMATION_SCHEMA. This commits needs some minor changes when propagated upwards (e.g. func_array in item_create.cc has a termination element that doesn't exist in later versions of MariaDB)
-
Marko Mäkelä authored
os_file_set_size(): Trim the current size down to the file system block size, to obey the constraints for unbuffered I/O.
-
- 28 Jun, 2021 1 commit
-
-
Alexey Botchkov authored
Handle invalid GEOJSON-s in Geometry::create_from_json().
-
- 27 Jun, 2021 1 commit
-
-
Igor Babaev authored
-
- 26 Jun, 2021 2 commits
-
-
Igor Babaev authored
-
Igor Babaev authored
If the first token of the body of a stored procedure was 'WITH' then the beginning of the body was determined incorrectly and that token was missing in the string representing the body of the SP in mysql.proc. As a resultnany call of such procedure failed as the string representing the body could not be parsed. The patch corrects the code of the functions get_tok_start() and get_cpp_tok_start() of the class Lex_input_stream to make them take into account look ahead tokens. The patch is needed only for 10.2 as this problem has neen resolved in 10.3+.
-
- 25 Jun, 2021 1 commit
-
-
Julius Goryavsky authored
Fixed typo in variable name that breaks SST in some scenatios. Also fixed one small inaccuracy after MDEV-25978 which leads to the use of an uninitialized variable when the --log-bin option is specified without an argument.
-
- 23 Jun, 2021 3 commits
-
-
Jan Lindström authored
wsrep_sst_common did not correctly set name for binlog index file if custom binlog name was used and this name was not added to script command line. Added test case for both log_basename and log_binlog.
-
Jan Lindström authored
-
Daniel Bartholomew authored
-
- 22 Jun, 2021 2 commits
-
-
Alexey Bychko authored
added %config directive to /etc/logrotate.d/mysql and put it to server package. if file is edited by customer and defaults are changed - new .rpmnew file with defaults will be created next to old one.
-
Marko Mäkelä authored
init_crypt_key(): On failure, set info->key_version to ENCRYPTION_KEY_VERSION_INVALID. log_crypt_101_read_block(): Refuse to attempt decryption if info->key_version is ENCRYPTION_KEY_VERSION_INVALID.
-
- 21 Jun, 2021 2 commits
-
-
Igor Babaev authored
This bug affected queries with views / derived_tables / CTEs whose specifications were of the form (SELECT ... LIMIT <n>) ORDER BY ... Units representing such specifications contains one SELECT_LEX structure for (SELECT ... LIMIT <n>) and additionally SELECT_LEX structure for fake_select_lex. This fact should have been taken into account in the function mysql_derived_fill(). This patch has to be applied to 10.2 and 10.3 only.
-
Marko Mäkelä authored
Builds on travis-ci.org ceased on 2021-06-15.
-
- 17 Jun, 2021 1 commit
-
-
Thirunarayanan Balathandayuthapani authored
- Make innodb_fts.misc_debug test case more stable.
-
- 16 Jun, 2021 2 commits
-
-
Sergei Golubchik authored
-
Marko Mäkelä authored
In commit 1c35a3f6 a useless computation that used the variable was removed.
-
- 15 Jun, 2021 9 commits
-
-
Julius Goryavsky authored
Additional improvements aimed at improving operational reliability of the SST scripts: 1) Script need to give rsync and stunnel a short time to terminate after "kill -9" before the first PID check using ps utility; 2) The temporary file used to create the binlog index could sometimes remain in the data directory if tar failed and then may be reused without being cleaned up (the next time when SST was run) - now it's fixed; 3) The temporary file used to build the binlog index is now created using mktemp and, if this variable is present in the configuration file, in tmpdir; 4) Checking the secret tag in SST via rsync is made faster and does not require creating a temporary file, which could remain in the data directory in case of failure; 5) Added "-F" option to grep to check the tag when using mariabackup/xtrabackup-v2 - to avoid possible collisions in case of special characters in the tag value (unlikely scenario, but the new check is more reliable).
-
Julius Goryavsky authored
This commit fixes a bug was originally discovered during the galera_nbo_sst_slave mtr test for 10.6 branch. However it is relevant for all versions and can lead to intermittent SST crashes via rsync on very fast server restarts - when a new SST process (for example, after starting a new server instance) overlaps the old SST process started by the previous, already terminated server. This overlap can result in the new rsync being killed instead of the old rsync, or the pid file from the new rsync being killed, which then lead to problems.
-
Eugene Kosov authored
a new warning -Wunused-but-set-variable was introduced recently to clang
-
Thirunarayanan Balathandayuthapani authored
- During online alter conversion from compact to redundant, virtual column field length already set during innobase_get_computed_value(). Skip the char(n) check for virtual column in row_merge_buf_add()
-
Thirunarayanan Balathandayuthapani authored
MDEV-25872 InnoDB: Assertion failure in row_merge_read_clustered_index upon ALTER on table with indexed virtual columns - InnoDB fails to check DB_COMPUTE_VALUE_FAILED error in row_merge_read_clustered_index() and wrongly asserts that the buffer shouldn't be ran out of memory. Alter table should give warning when the column value is being truncated.
-
Thirunarayanan Balathandayuthapani authored
Problem: ======= - InnoDB iterates the fil_system space list to encrypt the tablespace in case of key rotation. But it is not necessary for any encryption plugin which doesn't do key version rotation. Solution: ========= - Introduce a new variable called srv_encrypt_rotate to indicate whether encryption plugin does key rotation fil_space_crypt_t::key_get_latest_version(): Enable the srv_encrypt_rotate only once if current key version is higher than innodb_encyrption_rotate_key_age fil_crypt_must_default_encrypt(): Default encryption tables should be added to default_encryp_tables list if innodb_encyrption_rotate_key_age is zero and encryption plugin doesn't do key version rotation fil_space_create(): Add the newly created space to default_encrypt_tables list if fil_crypt_must_default_encrypt() returns true Removed the nondeterministic select from innodb-key-rotation-disable test. By default, InnoDB adds the tablespace to the rotation list and background crypt thread does encryption of tablespace. So these select doesn't give reliable results.
-
Thirunarayanan Balathandayuthapani authored
- Rename the rotation list to default_encrypt_tables in fil_system_t. Because rotation list naming could be misleading when it comes to key version rotation - Rename is_in_rotation_list to is_in_default_encrypt in fil_space_t - Rename keyrotate_next function to default_encrypt_next fil_system_t::default_encrypt_next(): Find the next suitable default encrypt table if beginning of default_encrypt_tables list has been scheduled to be deleted
-
Daniel Black authored
Brad Smith made this OpenBSD file based of the FreeBSD cmake directives in commit ab589043 by the Monty Program Ab. As such the Oracle Copyright header isn't really applicable.
-
Jordy Zomer authored
Fix malloc/delete mismatch. This causes a double free in the cleanup. closes #1845
-
- 14 Jun, 2021 1 commit
-
-
Vladislav Vaintroub authored
-
- 12 Jun, 2021 2 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
* read_command_buf is a pointer now, sizeof() no longer reflects its length, read_command_buflen is. * my_safe_print_str() prints multiple screens of '\0' bytes after the query end and up to read_command_buflen. Use fprintf() instead. * when setting connection->name to "-closed_connection-" update connection->name_len to match.
-
- 11 Jun, 2021 1 commit
-
-
Brad Smith authored
-
- 10 Jun, 2021 2 commits
-
-
Otto Kekäläinen authored
Not all environments have 'diff' installed. Most notably CentOS 8 does not have diff out-of-the-box. Thus users running 'cmake .' and 'make' would fail to build MariaDB, and they would think the error was in ABI incompatibilities due to the error message emitted by CMake when in reality simply 'diff' was missing. This fixes it and makes the developer experience better by simply skipping the diffing if 'diff' is not found. Closes #1846
-
Marko Mäkelä authored
This was missed in commit 1d0f70c2.
-
- 09 Jun, 2021 2 commits
-
-
Elena Stepanova authored
-
Sergei Petrunia authored
* Make Item_in_optimizer::fix_fields inherit the with_window_func attribute of the subquery's left expression (the subquery itself cannot have window functions that are aggregated in this select) * Make Item_cache_wrapper::Item_cache_wrapper() inherit with_window_func attribute of the item it is caching.
-
- 08 Jun, 2021 1 commit
-
-
Marko Mäkelä authored
buf_read_ibuf_merge_pages(): If space->size is 0, invoke fil_space_get_size() to determine the size of the tablespace by reading the header page. Only after that proceed to delete any entries that are beyond the end of the tablespace. Otherwise, we could be deleting valid entries that actually need to be applied. This fixes a regression that had been introduced in commit b80df9eb (MDEV-21069), which aimed to avoid crashes during DROP TABLE of corrupted tables.
-
- 06 Jun, 2021 2 commits
-
-
Otto Kekäläinen authored
This partially reverts commit d7321893. The *.jar files are not being built and all Debian builds are failing as dh_install stops on missing files. To build them we would need to also add new Java build dependencies. In a stable release (10.2->10.5) we shouldn't add new files and certainly not any new build dependencies, so reverting commit. Also, the files are located in a different path, and already included in the mariadb-test-data package: /usr/share/mysql/mysql-test/plugin/connect/connect/std_data/JavaWrappers.jar /usr/share/mysql/mysql-test/plugin/connect/connect/std_data/JdbcMariaDB.jar /usr/share/mysql/mysql-test/plugin/connect/connect/std_data/Mongo2.jar /usr/share/mysql/mysql-test/plugin/connect/connect/std_data/Mongo3.jar This change needs to be redesigned and applies only on 10.6 or newer.
-
Vladislav Vaintroub authored
The fix is to quote service name parameter, when it is passed to mysql_upgrade_service subprocess.
-
- 05 Jun, 2021 1 commit
-
-
Vladislav Vaintroub authored
-
- 04 Jun, 2021 1 commit
-
-
Anel Husakovic authored
MDEV-25777: JAVA_INCLUDE_PATH and JAVA_INCLUDE_PATH2 not found with out of source configuration and Ninja generator - As solution `PLUGIN_CONNECT=NO` use early check to disable plugin: Solution suggested by wlad@mariadb.com - `JNI_FOUND` is a internal result variable and should be set with cached library and header variables (like `JAVA_INCLUDE_PATH`) defined. * Note: wrapper cmake/FindJNI.cmake runs first time and cmake native Find<module> returns only cached variable, like `JAVA_INCLUDE_PATH`, results variable are not cached). Reviewed by: serg@mariadb.com
-