- 26 Apr, 2022 1 commit
-
-
Tuukka Pasanen authored
Remove version suffix from Debian packages (for example mariadb-server-10.9) because installing suffixed package removes older version of package even if it's suffixed (for example mariadb-server-10.7) This make also Debian package management easier in future MariaDB version iterations because there is no need for stacking Conlicts/Breaks/Replaces-parameters in every new major release
-
- 20 Apr, 2022 1 commit
-
-
Rucha Deodhar authored
Analysis: When --old option is used, the corresponding --old-mode variables are set but warning is not given. Fix: Use sql_print_warning() to give warning.
-
- 19 Apr, 2022 2 commits
-
-
Rucha Deodhar authored
Analysis: There are 2 server variables- "old_mode" and "old". "old" is no longer needed as "old_mode" has replaced it (however still used in some places in the code). "old_mode" and "old" has same purpose- emulate behavior from previous MariaDB versions. So they can be merged to avoid confusion. Fix: Deprecate "old" variable and create another mode for @@old_mode to mimic behavior of previous "old" variable. Create specific modes for specifix task that --old sql variable was doing earlier and use the new modes instead.
-
Brandon Nesterenko authored
MDEV-20119: Implement the --do-domain-ids, --ignore-domain-ids, and --ignore-server-ids options for mysqlbinlog New Feature: ============ Extend mariadb-binlog command-line tool to allow for filtering events using GTID domain and server ids. The functionality mimics that of a replica server’s DO_DOMAIN_IDS, IGNORE_DOMAIN_IDS, and IGNORE_SERVER_IDS from CHANGE MASTER TO. For completeness, this patch additionally adds the option --do-server-ids as an alias for --server-id, which now accepts a list of server ids instead of a single one. Example usage: mariadb-binlog --do-domain-ids=2,3,4 --do-server-ids=1,3 master-bin.000001 Functional Notes: 1. --do-domain-ids cannot be combined with --ignore-domain-ids 2. --do-server-ids cannot be combined with --ignore-server-ids 3. A domain id filter can be combined with a server id filter 4. When any new filter options are combined with the --gtid-strict-mode option, events from excluded domains/servers are not validated. 5. Domain/server id filters can be combined with GTID ranges (i.e. specifications of --start-position and --stop-position). However, because the --stop-position option implicitly undertakes filtering to only output events within its range of domains, when combined with --do-domain-ids or --ignore-domain-ids, output will consist of the intersection between the filters. Specifically, with --do-domain-ids and --stop-position, only events with domain ids present in both argument lists will be output. Conversely, with --ignore-domain-ids and --stop-position, only events with domain ids present in the --stop-position and absent from the --ignore-domain-ids options will be output. Reviewed By ============ Andrei Elkin <andrei.elkin@mariadb.com>
-
- 15 Apr, 2022 1 commit
-
-
Rucha Deodhar authored
-
- 14 Apr, 2022 4 commits
-
-
Rucha Deodhar authored
path (when range is used) Analysis: When 0 comes after space, then the json path parser changes the state to JE_SYN instead of PS_Z (meaning parse zero). Hence the warning. Fix: Make the state PS_Z instead of JE_SYN.
-
Rucha Deodhar authored
json path Analysis: When searching for the given path in json string, if the current step is of array range type, then path was considered reached which meant path exists. So output was always true. The end indexes of range were not evaluated. Fix: If the current step type for a path is array range, then check if the value array_counter[] is in range of n_item and n_item_end. If it is, then path exists. Only then return true. If the range criteria is never met then return false.
-
Rucha Deodhar authored
Analysis: When current date is '2022-03-17', dayname() gives 'Thursday'. The previous json state is PS_KEYX which means key started with quote. So now json parser for path is supposed to parse the key. The keyname starts with 'T'. But the path transition table has JE_SYN when previous state is PS_KEYX and next letter is 'T'. So it gives error. Fix: We want to continue parsing the quoted keyname. So JE_SYN is incorrect. Replaced it with PS_KNMX.
-
Rucha Deodhar authored
Range can be thought about in similar manner as wildcard (*) where more than one elements are processed. To implement range notation, extended json parser to parse the 'to' keyword and added JSON_PATH_ARRAY_RANGE for path type. If there is 'to' keyword then use JSON_PATH_ARRAY range for path type along with existing type. This new integer to store the end index of range is n_item_end. When there is 'to' keyword, store the integer in n_item_end else store in n_item.
-
- 13 Apr, 2022 6 commits
-
-
Rucha Deodhar authored
JSON Path Analysis: When we have '-' followed by 0, then the state is changed to JE_SYN, meaning syntax error. Fix: Change the state to PS_INT instead, because we are reading '0' next (integer) and it is not a syntax error.
-
Rucha Deodhar authored
This patch can be viewed as combination of two parts: 1) Enabling '-' in the path so that the parser does not give out a warning. 2) Setting the negative index to a correct value and returning the appropriate value. 1) To enable using the negative index in the path: To make the parser not return warning when negative index is used in path '-' needs to be allowed in json path characters. P_NEG is added to enable this and is made recognizable by setting the 45th index of json_path_chr_map[] to P_NEG (instead of previous P_ETC) because 45 corresponds to '-' in unicode. When the path is being parsed and '-' is encountered, the parser should recognize it as parsing '-' sign, so a new json state PS_NEG is required. When the state is PS_NEG, it means that a negative integer is going to be parsed so set is_negative_index of current step to 1 and n_item is set accordingly when integer is encountered after '-'. Next proceed with parsing rest of the path and get the correct path. Next thing is parsing the json and returning correct value. 2) Setting the negative index to a correct value and returning the value: While parsing json if we encounter array and the path step for the array is a negative index (n_item < 0), then we can count the number of elements in the array and set n_item to correct corresponding value. This is done in json_skip_array_and_count.
-
Marko Mäkelä authored
-
Nayuta Yanagisawa authored
-
KiyoshiTakeda authored
The variable spider_internal_limit is for specifying the number of records acquired by Spider from each remote server. There seems not to be much use of the variable. Thus, we deprecate it and the corresponding table options. Reviewed-by: Nayuta Yanagisawa <nayuta.yanagisawa@hey.com>
-
Daniel Black authored
We can only remove a subdirectory in mtr on an installed instance Example failure previously: CURRENT_TEST: rocksdb.rocksdb_log_dir mysqltest: At line 15: Path '/usr/local/mariadb-10.9.0-linux-systemd-x86_64/mysql-test/var/tmp/1' is not a subdirectory of MYSQLTEST_VARDIR '/usr/local/mariadb-10.9.0-linux-systemd-x86_64/mysql-test/var/1'or MYSQL_TMP_DIR '/usr/local/mariadb-10.9.0-linux-systemd-x86_64/mysql-test/var/tmp/1'
-
- 12 Apr, 2022 10 commits
-
-
Xinyi Hong authored
Parameter rocksdb_log_dir specifies the path of MyRocks error logs. By default, the error logs are stored in the same folder with MyRocks redo logs. Being able to put human readable logs in one place and machine logs in another place improves usability. All new code of the whole pull request, including one or several files that are either new files or modified ones, are contributed under the BSD-new license. I am contributing on behalf of my employer Amazon Web Services, Inc.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Alexander Barkov authored
The problem was not with the server behavior, it was with wrong test results recorded. Enabling both type_set and type_enum. type_set.result was OK. The test did not fail. type_enum.result was incorrectly recorded in this commit: eb483c51 Recording correct results.
-
Thirunarayanan Balathandayuthapani authored
- Trigger statement initiate update statement after bulk insert operation and leads to disable of bulk operation. During commit, InnoDB expects transaction to be in bulk insert mode before applying the bulk insert operation. InnoDB transaction should apply all bulk insert operation before disabling bulk insert operation.
-
Monty authored
-
Monty authored
Author: Erki Aring
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Tuukka Pasanen authored
Remove unndeeded paths from mariadb-server-10.6.postinst as it's already in export PATH and it fires 'command-with-path-in-maintainer-script' in lintian checks
-
- 11 Apr, 2022 5 commits
-
-
Tuukka Pasanen authored
Fix Debian lintian warnings: W: mariadb-10.7 source: duplicate-override-context version-substvar-for-external-package (lines 12 13) [debian/source/lintian-overrides:13] W: mariadb-10.7 source: duplicate-override-context version-substvar-for-external-package (lines 14 15) [debian/source/lintian-overrides:15] W: mariadb-10.7 source: duplicate-override-context version-substvar-for-external-package (lines 16 17) [debian/source/lintian-overrides:17] W: mariadb-10.7 source: duplicate-override-context version-substvar-for-external-package (lines 18 19) [debian/source/lintian-overrides:19] W: mariadb-10.7 source: duplicate-override-context version-substvar-for-external-package (lines 20 21) [debian/source/lintian-overrides:21] W: mariadb-10.7 source: duplicate-override-context version-substvar-for-external-package (lines 4 5) [debian/source/lintian-overrides:5] by removing duplicate override lines
-
Thirunarayanan Balathandayuthapani authored
- Purge thread is trying to access the table name when other thread does rename of the table name. It leads to heap use after free error by purge thread. purge thread should check whether the table name is temporary while holding dict_sys.mutex.
-
Marko Mäkelä authored
dict_acquire_mdl_shared(): Invoke the correct variant dict_table_t::parse_name<true>() also when trylock=true, that is, we are being called from fts_optimize_sync_table(). Ever since commit 82b7c561 (MDEV-24258) this code was prone to a hang. If another thread requested an exclusive dict_sys.latch between the time dict_acquire_mdl_shared<trylock=true>() acquired a shared dict_sys.latch and dict_table_t::parse_name<false>() was trying to acquire another shared dict_sys.latch, InnoDB would get into an infinite livelock of threads, because the futex-based srw-lock implementation prioritizes exclusive latch requests. dict_table_t::parse_name(): Rename the template parameter dict_locked into dict_frozen.
-
Marko Mäkelä authored
buf_page_t::set_state(): Relax a debug assertion. It is fine to update a read-fixed block descriptor to be both read-fixed and buffer-fixed. buf_pool_t::watch_unset(): Fix some incorrect logic that was implemented in commit e9e6db93. Thanks to Elena Stepanova for the test case.
-
Vladislav Vaintroub authored
The implementation calls SetServiceStatus() with updated SERVICE_STATUS::dwHint and SERVICE_STATUS::dwCheckpoint
-
- 10 Apr, 2022 2 commits
-
-
Alexander Barkov authored
10.5 tests for MDEV-26507 Assertion `tmp != ((long long) 0x8000000000000000LL)' failed in TIME_from_longlong_datetime_packed The fix for MDEV-27673 (in 10.3) fixed MDEV-26507 as well. This patch only adds MTR tests.
-
Alexander Barkov authored
10.6 tests for MDEV-26507 Assertion `tmp != ((long long) 0x8000000000000000LL)' failed in TIME_from_longlong_datetime_packed The patch for MDEV-27673 (in 10.3) fixed MDEV-26507 as well. This patch only adds 10.6 specific MTR tests for MDEV-26507.
-
- 09 Apr, 2022 2 commits
-
-
Sergei Golubchik authored
use vio_type_names[] values as in MySQL
-
Marko Mäkelä authored
Noticed by Monty
-
- 08 Apr, 2022 2 commits
-
-
Nayuta Yanagisawa authored
MDEV-27239 Spider: Assertion `thd->transaction->stmt.ha_list == __null || trans == &thd->transaction->stmt' failed in ha_commit_trans on BEGIN WORK after FTWRL The check on the SQL command type, in ha_spider::external_lock() is deleted by e954d9de. This resulted in the wrong call of spider_internal_start_trx() (and thus Ha_trx_info::register_ha()). I reverted the check and refactored ha_spider::external_lock().
-
Norio Akagi authored
-
- 07 Apr, 2022 4 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Daniel Black authored
Rather than Debian logs containing a barely decipherable mix of build command and the output of some other command, we use the make option --output-sync=target. This make the compile line and the output stay together in the output stream. This option exists even in the make version in debian;stretch so should work everywhere. Test on debian:stretch, ubuntu:18.04, the two lowest version that use the debian/rules.
-
Daniel Black authored
Without doing the full build. Autobake now includes a dependency on lsb-release. As the BB CI images (https://github.com/MariaDB/mariadb.org-tools/blob/master/buildbot.mariadb.org/ci_build_images/debian.Dockerfile) have explicit dependencies, there's no point maintaining them in two places. We don't want do the full autobake-deb.sh there, just enough to have the control file containing the correct dependencies. Helps: https://github.com/MariaDB/mariadb.org-tools/pull/130
-