- 07 Mar, 2023 2 commits
-
-
kevincheng2 authored
-
Julius Goryavsky authored
-
- 06 Mar, 2023 1 commit
-
-
Marko Mäkelä authored
rec_init_offsets_comp_ordinary(), rec_init_offsets(), rec_get_offsets_reverse(), rec_get_nth_field_offs_old(): Simplify some bitwise arithmetics to avoid conditional jumps, and add branch prediction hints with the assumption that most variable-length columns are short. Tested by: Matthias Leich
-
- 03 Mar, 2023 1 commit
-
-
Debjyoti authored
-
- 02 Mar, 2023 3 commits
-
-
Igor Babaev authored
MDEV-30668 Set function aggregated in outer select used in view definition This patch fixes two bugs concerning views whose specifications contain subqueries with set functions aggregated in outer selects. Due to the first bug those such views that have implicit grouping were considered as mergeable. This led to wrong result sets for selects from these views. Due to the second bug the aggregation select was determined incorrectly and this led to bogus error messages. The patch added several test cases for these two bugs and for four other duplicate bugs. The patch also enables view-protocol for many other test cases. Approved by Oleksandr Byelkin <sanja@mariadb.com>
-
Oleksandr Byelkin authored
- Avoid passing real field cache as a parameter when we check for duplicates. - Correct cache cleanup (cached field number also have to be reset). - Name resolution cache simple test added.
-
Hugo Wen authored
While performing SAST scanning using Cppcheck against source code of commit 81196469, several code vulnerabilities were found. Fix following issues: 1. Parameters of `snprintf` function are incorrect. Cppcheck error: client/mysql_plugin.c:1228: error: snprintf format string requires 6 parameters but only 5 are given. It is due to commit 630d7229 introduced option `--lc-messages-dir` in the bootstrap command. However the parameter was not even given in the `snprintf` after changing the format string. Fix: Restructure the code logic and correct the function parameters for `snprintf`. 2. Null pointer is used in a `snprintf` which could cause a crash. Cppcheck error: extra/mariabackup/xbcloud.cc:2534: error: Null pointer dereference The code intended to print the swift_project name, if the opt_swift_project_id is NULL but opt_swift_project is not NULL. However the parameter of `snprintf` was mistakenly using `opt_swift_project_id`. Fix: Change to use the correct string from `opt_swift_project`. 3. Potential double release of a memory Cppcheck error: plugin/auth_pam/testing/pam_mariadb_mtr.c:69: error: Memory pointed to by 'resp' is freed twice. A pointer `resp` is reused and allocated new memory after it has been freed. However, `resp` was not set to NULL after freed. Potential double release of the same pointer if the call back function doesn't allocate new memory for `resp` pointer. Fix: Set the `resp` pointer to NULL after the first free() to make sure the same address is not freed twice. 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.
-
- 01 Mar, 2023 2 commits
-
-
Lorna Luo authored
Running mysql_upgrade should end up with the exact same system tables as fresh installations have after running mysql_install_db. To ensure the upgrade is correct and complete: - Remove the redundant modification of thread_id`. On 5.5 version, the `general_log` table was created as `CREATE TABLE IF NOT EXISTS general_log (..., thread_id INTEGER NOT NULL, ...)`, and starting from 10.0+, the table is created as `CREATE TABLE IF NOT EXISTS general_log (..., thread_id BIGINT(21) UNSIGNED NOT NULL, ...)`, but mysql_upgrade is not properly upgrading the table. It modifies the `thread_id` twice in one query, which could leave the table not modified and lead to other potential error when upgrading from MariaDB 5.5 or older. - Update `servers` to ensure `Host` and `User` has correct data type if upgrading from 10.1 or older. On versions 10.0 and 10.1, the `servers` table was created as `CREATE TABLE IF NOT EXISTS servers (..., Host char(64) NOT NULL DEFAULT , ..., Owner char(64) NOT NULL DEFAULT , ...)`, and starting from 10.2, the table is created as `CREATE TABLE IF NOT EXISTS servers (..., Host varchar(2048) NOT NULL DEFAULT , ..., Owner varchar(512) NOT NULL DEFAULT , ...)`. 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.
-
Alexander Barkov authored
1. Adding a separate MY_COLLATION_HANDLER my_collation_ucs2_general_mysql500_ci_handler implementing a proper order for ucs2_general_mysql500_ci The problem happened because ucs2_general_mysql500_ci erroneously used my_collation_ucs2_general_ci_handler. 2. Cosmetic changes: Renaming: - plane00_mysql500 to my_unicase_mysql500_page00 - my_unicase_pages_mysql500 to my_unicase_mysql500_pages to use the same naming style with: - my_unicase_default_page00 - my_unicase_defaul_pages 3. Moving code fragments from - handler::check_collation_compatibility() in handler.cc - upgrade_collation() in table.cc into new methods in class Charset, to reuse the code easier.
-
- 27 Feb, 2023 1 commit
-
-
Igor Babaev authored
Subselect_single_value_engine cannot handle table value constructor used as subquery. That's why any table value constructor TVC used as subquery is converted into a select over derived table whose specification is TVC. Currently the names of the columns of the derived table DT are taken from the first element of TVC and if the k-th component of the element happens to be a subquery the text representation of this subquery serves as the name of the k-th column of the derived table. References of all columns of the derived table DT compose the select list of the result of the conversion. If a definition of a view contained a table value constructor used as a subquery and the view was registered after this conversion had been applied we could register an invalid view definition if the first element of TVC contained a subquery as its component: the name of this component was taken from the original subquery, while the name of the corresponding column of the derived table was taken from the text representation of the subquery produced by the function SELECT_LEX::print() and these names were usually differ from each other. To avoid registration of such invalid views the function SELECT_LEX::print() now prints the original TVC instead of the select in which this TVC has been wrapped. Now the specification of registered view looks like as if no conversions from TVC to selects were done. Approved by Oleksandr Byelkin <sanja@mariadb.com>
-
- 23 Feb, 2023 1 commit
-
-
Thirunarayanan Balathandayuthapani authored
- dtuple_vcol_data_missing() should check the DATA_MISSING only for indexed virtual column.
-
- 21 Feb, 2023 5 commits
-
-
Sergei Golubchik authored
note that `KILL USER foo` should *not* fail with ER_KILL_DENIED_ERROR when SHOW PROCESSLIST doesn't show connections of that user. Because no connections exist or because the caller has no PROCESS - doesn't matter. also, fix the error message to make sense ("You are not owner of thread <current connection id>" is ridiculous)
-
Sergei Golubchik authored
here global_index_stats is expected to be big, so we don't restart the search, but use a two-pass approach
-
Sergei Golubchik authored
another case of the antipattern "iterate the HASH and delete elements as we go"
-
Sergei Golubchik authored
This reverts commit d78ac04e. The benefits of `ignore=all` are that submodules are omitted from `git status` and `git citool`. The drawbacks are - submodules are not omitted from `git commit -a` *and* they are omitted from `git diff` and `git show` output. As a result one can unintentionally commit changes to submodules and not see it in the history. Thus drawbacks outweigh benefits here.
-
Andrew Hutchings authored
When using the MySQL table type the CONNECT engine converted the YEAR datatype to DATETIME for INSERT queries. This is incorrect, causing an error on the INSERT. It should be SHORT instead.
-
- 17 Feb, 2023 9 commits
-
-
Monty authored
SELECT DISTINCT did not work with expressions with sum functions. Distinct was only done on the values stored in the intermediate temporary tables, which only stored the value of each sum function. In other words: SELECT DISTINCT sum(a),sum(b),avg(c) ... worked. SELECT DISTINCT sum(a),sum(b) > 2,sum(c)+sum(d) would not work. The later query would do ONLY apply distinct on the sum(a) part. Reviewer: Sergei Petrunia <sergey@mariadb.com> This was fixed by extending remove_dup_with_hash_index() and remove_dup_with_compare() to take into account the columns in the result list that where not stored in the temporary table. Note that in many cases the above dup removal functions are not used as the optimizer may be able to either remove duplicates early or it will discover that duplicate remove is not needed. The later happens for example if the group by fields is part of the result. Other things: - Backported from 11.0 the change of Sort_param.tmp_buffer from char* to String. - Changed Type_handler::make_sort_key() to take String as a parameter instead of Sort_param. This was done to allow make_sort_key() functions to be reused by distinct elimination functions. This makes Type_handler_string_result::make_sort_key() similar to code in 11.0 - Simplied error handling in remove_dup_with_compare() to remove code duplication.
-
Anel Husakovic authored
```------------------------------ File: `mysqltest` ``` ------------------------------ - Coverity (SIZEOF_MISMATCH): - https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728385&defectInstanceId=53074863&mergedDefectId=972322 Function `qsort` have to use size of element that is `uchar *` - Coverity (REVERSE_INULL): - https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728385&defectInstanceId=53074524&mergedDefectId=1519693&fileStart=3376&fileEnd=3625 First check if null and then use `strlen`, not reversed. - FALSE POSITIVES - Coverity (TAINTED_SCALAR): https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728385&defectInstanceId=53074760&mergedDefectId=1519321 - Coverity (CHECKED_RETURN): - https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728385&defectInstanceId=53074692&mergedDefectId=971714 - https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728385&defectInstanceId=53072839&mergedDefectId=971715 - Coverity (FORWARD_NULL): There is already issued DBUG_ASSERT(query_end) few lines before https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728385&defectInstanceId=53074002&mergedDefectId=971916&eventId=53074002-5 - Coverity (OVERRUN): - https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728385&defectInstanceId=53074470&mergedDefectId=1519697 - https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728385&defectInstanceId=53074862&mergedDefectId=1520391 `uint64_max` and `SIZE_MAX` (max for `size_t`) are same as `count` argument for `memcmp`. - Coverity (RESOURCE_LEAK): - https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728385&defectInstanceId=53074163&mergedDefectId=1519889&eventId=53074163-446 - INTENTION: - Coverity (SIZEOF_MISMATCH): - https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728385&defectInstanceId=53074650&mergedDefectId=1520109 `len` argument is used only in printing so it is not making impact (may be removed as an alternative). In this example size of pointer (8B) is used, that is not the size of value that pointer points to.
-
Anel Husakovic authored
```------------------------------ File: `mysqlslap` ``` ------------------------------ - Coverity (CHECKED_RETURN): https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728428&defectInstanceId=53073524&mergedDefectId=1520114 - FALSE POSITIVES - Coverity (DC.WEAK_CRYPTO) (`random()`): https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728428&defectInstanceId=53073112&mergedDefectId=1225806 https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728428&defectInstanceId=53074491&mergedDefectId=1409160 https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728428&defectInstanceId=53074151&mergedDefectId=1409180 https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728428&defectInstanceId=53073799&mergedDefectId=1409183 - Coverity (TAINTED_SCALAR): https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728428&defectInstanceId=53074667&mergedDefectId=1519586 - Coverity (UNINT): - Coverity (BAD_FREE): https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728428&defectInstanceId=53074415&mergedDefectId=1520371
-
Anel Husakovic authored
-------------------------------- File: `mysqldump`: -------------------------------- -Coverity (`BAD_SHIFT`): https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728415&defectInstanceId=53073433&mergedDefectId=1211186&eventId=53073433-25 `mysqldump` - Error obtained by coverity is implication of type conversion. It may happen that function `find_type` returns -1 which is assigned to `uint` that gets converted by compiler to max (UINT_32/64). In that situation left bit shift may lead to UB. Converting from `uint` to `int` will solve the problem. - Coverity (`RESOURCE_LEAK`): - https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728415&defectInstanceId=53072912&mergedDefectId=1519239 - https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728415&defectInstanceId=53073706&mergedDefectId=1519368 - https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728415&defectInstanceId=53073560&mergedDefectId=1519655 - https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728415&defectInstanceId=53074494&mergedDefectId=1519822&fileStart=4001&fileEnd=4250 - https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728415&defectInstanceId=53074999&mergedDefectId=1519915&eventId=53074999-53 - https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728415&defectInstanceId=53075060&mergedDefectId=1519964 - https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728415&defectInstanceId=53073268&mergedDefectId=1519967 - https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728415&defectInstanceId=53073015&mergedDefectId=1520164 `mysqldump` - in case of error memory should be freeed. - Coverity (`UNINT`) - FALSE POSITIVES: - https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728415&defectInstanceId=53074364&mergedDefectId=1519587&eventId=53074364-10 - https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728415&defectInstanceId=53072619&mergedDefectId=1519684&eventId=53072619-1 - https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728415&defectInstanceId=53073256&mergedDefectId=1519722 - https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728415&defectInstanceId=53074251&mergedDefectId=1519979 - https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728415&defectInstanceId=53074996&mergedDefectId=1520021 - https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728415&defectInstanceId=53073425&mergedDefectId=1520166&eventId=53073425-9 --------------------------------- File: `mysqladmin` --------------------------------- - Coverity (PRECEDANCE_ERROR) a.k.a MDEV-15736: https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728425&defectInstanceId=53074187&mergedDefectId=1519944 - Coverity (BAD_FREE) - FALSE POSITIVE: https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728425&defectInstanceId=53074614&mergedDefectId=1520042 --------------------------------- File: `mysqlimport` --------------------------------- - FALSE POSITIVES - Coverity (TAINTED_SCALAR): https://scan5.scan.coverity.com/reports.htm#v58936/p10357/ fileInstanceId=231728411&defectInstanceId=53074012&mergedDefectId=1519158&eventId=53074012-6 - Coverity (UNINT): https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728411&defectInstanceId=53072860&mergedDefectId=1520020 --------------------------------- File: `mysqlshow` --------------------------------- - FALSE POSITIVES - Coverity (TAINTED_SCALAR): https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728418&defectInstanceId=53074361&mergedDefectId=1519232&eventId=53074361-4 - Coverity (UNINT): https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728411&defectInstanceId=53072860&mergedDefectId=1520020 - Coverity (BAD_FREE): https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728418&defectInstanceId=53073408&mergedDefectId=1519972
-
Anel Husakovic authored
```------------------------------ File: `mysqlcheck` ``` ------------------------------ - Coverity (FORWARD_NULL): https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728409&defectInstanceId=53075052&mergedDefectId=1520314&eventId=53075052-7 `mysqlcheck` - make sure `op` is non-null - Coverity (TAINTED_SCALAR) - FALSE POSITIVES: https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728409&defectInstanceId=53074482&mergedDefectId=1519904
-
Anel Husakovic authored
```------------------------------ File: `mysqlbinlog` ``` ------------------------------ - Coverity (FORWARD_NULL): https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728438&defectInstanceId=53074517&mergedDefectId=1519690&eventId=53074517-46 `mysqlbinlog` - for `opt_raw_mode` file is set to 0, make sure it opened before.
-
Anel Husakovic authored
```------------------------------ File: `mysqladmin` ``` ------------------------------ - Coverity (PRINTF_ARGS): https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728412&defectInstanceId=53073308&mergedDefectId=1520228&eventId=53073308-0 `mysql_upgrade` - extra argument to printf format specifiera - Coverity (TAINTED_SCALAR) - FAlSE POSITIVE: https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728412&defectInstanceId=53072897&mergedDefectId=1519349
-
Anel Husakovic authored
```------------------------------ File: `mysql` ``` ------------------------------ - Coverity (RESOURCE_LEAK): https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728394&defectInstanceId=53073025&mergedDefectId=1520090&eventId=53073025-15 `mysql`: memory allocated by `mysql_fetch_row` is not freed. - FALSE POSITIVES: - Coverity (TAINTED_SCALAR): - https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728394&defectInstanceId=53074559&mergedDefectId=1520403 - Coverity (COPY_PASTE_ERROR): https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728394&defectInstanceId=53074521&mergedDefectId=1520300 - Coverity (STRING_NULL): https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728394&defectInstanceId=53072524&mergedDefectId=1519374 - Coverity (CHECKED_RETURN): https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728394&defectInstanceId=53074932&mergedDefectId=971708 - INTENTIONAL: - Coverity (UNINIT): https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728394&defectInstanceId=53074758&mergedDefectId=1519932 https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728394&defectInstanceId=53073939&mergedDefectId=1519738 - Coverity(BAD_FREE): https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728394&defectInstanceId=53073938&mergedDefectId=1519491 https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728394&defectInstanceId=53074819&mergedDefectId=1519462 --------------------------------- File: `mysql_plugin` --------------------------------- - Coverity (FORWARD_NULL): https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728420&defectInstanceId=53074485&mergedDefectId=971915 Dereference after null check when using `fclose`. - FALSE POSITIVES: - Coverity (STRING_OVERFLOW): https://scan5.scan.coverity.com/reports.htm#v58936/p10357/fileInstanceId=231728420&defectInstanceId=53075014&mergedDefectId=972410 - Additionally fix typo
-
Fabrice Fontaine authored
Fix the following build failure with libressl >= 3.5.0: In file included from /tmp/instance-10/output-1/build/mariadb-10.3.36/vio/viosslfactories.c:18: /tmp/instance-10/output-1/build/mariadb-10.3.36/vio/viosslfactories.c: In function 'get_dh2048': /tmp/instance-10/output-1/build/mariadb-10.3.36/include/ssl_compat.h:68:45: error: invalid use of incomplete typedef 'DH' {aka 'struct dh_st'} 68 | #define DH_set0_pqg(D,P,Q,G) ((D)->p= (P), (D)->g= (G)) | ^~ Fixes: - http://autobuild.buildroot.org/results/524198344aafca58d214537af64c5961c407b0f8Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-
- 16 Feb, 2023 1 commit
-
-
Thirunarayanan Balathandayuthapani authored
- MY_I_S_MAYBE_NULL field attributes is added PAGE_NO and SPACE in innodb_sys_index table. By doing this, InnoDB can set null for these fields when it encounters discarded tablespace
-
- 15 Feb, 2023 5 commits
-
-
Sergei Petrunia authored
Final corrections: - Remove incorrect tracing, "rowid_filter_skipped" - Put the worst_seeks sanity check back
-
Igor Babaev authored
Correction over the last patch for this MDEV.
-
Haidong Ji authored
When one session SELECT ... FOR UPDATE and holds the lock, subsequent sessions that SELECT ... FOR UPDATE will wait to get the lock. Currently, that event is labeled as `wait/io/table/sql/handler`, which is incorrect. Instead, it should have been `wait/lock/table/sql/handler`. Two factors contribute to this bug: 1. Instrumentation interface and the heavy usage of `TABLE_IO_WAIT` in `sql/handler.cc` file. See interface [^1] for better understanding; 2. The balancing act [^2] of doing instrumentation aggregration _AND_ having good performance. For example, EVENTS_WAITS_SUMMARY... is aggregated using EVENTS_WAITS_CURRENT. Aggregration needs to be based on the same wait class, and the code was overly aggressive in label a LOCK operation as an IO operation in this case. The proposed fix is pretty simple, but understanding the bug took a while. Hence the footnotes below. For future improvement and refactoring, we may want to consider renaming `TABLE_IO_WAIT` and making it less coarse and more targeted. Note that newly added test case, events_waits_current_MDEV-29091, initially didn't pass Buildbot CI for embedded build tests. Further research showed that other impacted tests all included not_embedded.inc. This oversight was fixed later. 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. [^1]: To understand `performance_schema` instrumentation interface, I found this URL is the most helpful: https://dev.mysql.com/doc/dev/mysql-server/latest/PAGE_PFS_PSI.html [^2]: The best place to understand instrumentation projection, composition, and aggregration is through the source file. Although I prefer reading Doxygen produced html file, but for whatever reason, the rendering is not ideal. Here is link to 10.6's pfs.cc: https://github.com/MariaDB/server/blob/10.6/storage/perfschema/pfs.cc
-
Daniel Black authored
MDEV-28227 added the error messages in simplified characters. Lets use these for those running a zh_CN profile. From Haidong Ji in the MDEV, Taiwan/Hong Kong (zh_TW/zh_HK) would expect traditional characters so this is left for when we have these.
-
Robin Newhouse authored
Add .gitlab-ci.yml file to earliest supported branch to enable automated building and testing for all MariaDB major branches. For 10.4 we use the bundled SSL to build MariaDB when the platform does not have OpenSSL 1.1 available. This requires the installation of gnutls-devel as a dependency of MariaDB Connector/C. OpenSSL 3.0 support was backported to MariaDB 10.5 (see https://github.com/MariaDB/server/pull/2036, f0fa40ef, 8a9c1e9c) 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.
-
- 14 Feb, 2023 3 commits
-
-
Thirunarayanan Balathandayuthapani authored
- InnoDB tries to build the previous version of the record for the virtual index, but the undo log record doesn't contain virtual column information. This leads to assert failure while building the tuple.
-
Sergei Petrunia authored
ha_partition doesn't forward Rowid Filter API calls to the storage engines handling partitions. An attempt to use rowid filtering with caused either - Rowid Filter being shown in EXPLAIN but not actually used - Assertion failure when subquery code tried to disable/enable rowid filter, which was not present. Fixed by returning correct flags from ha_partition::index_flags()
-
Weijun Huang authored
-
- 10 Feb, 2023 1 commit
-
-
Daniel Black authored
As requested to the UN the country formerly known as Turkey is to be refered to as Türkiye. Reviewer: Alexander Barkov
-
- 09 Feb, 2023 5 commits
-
-
Brandon Nesterenko authored
MDEV-30608: rpl.rpl_delayed_parallel_slave_sbm sometimes fails with Seconds_Behind_Master should not have used second transaction timestamp One of the constraints added in the MDEV-29639 patch, is that only the first event after idling should update last_master_timestamp; and as long as the replica has more events to execute, the variable should not be updated. The corresponding test, rpl_delayed_parallel_slave_sbm.test, aims to verify this; however, if the IO thread takes too long to queue events, the SQL thread can appear to catch up too fast. This fix ensures that the relay log has been fully written before executing the events. Note that the underlying cause of this test failure needs to be addressed as a bug-fix, this is a temporary fix to stop test failures. To track work on the bug-fix for the underlying issue, please see MDEV-30619.
-
Igor Babaev authored
The parser code for single-table DELETE missed the call of the function LEX::check_main_unit_semantics(). As a result the the field nested level of SELECT_LEX structures remained set 0 for all non-top level selects. This could lead to different kind of problems. In particular this did not allow to determine properly the selects where set functions had to be aggregated when they were used in inner subqueries. Approved by Oleksandr Byelkin <sanja@mariadb.com>
-
Vicențiu Ciorbaru authored
This patch is the result of running run-clang-tidy -fix -header-filter=.* -checks='-*,modernize-use-equals-default' . Code style changes have been done on top. The result of this change leads to the following improvements: 1. Binary size reduction. * For a -DBUILD_CONFIG=mysql_release build, the binary size is reduced by ~400kb. * A raw -DCMAKE_BUILD_TYPE=Release reduces the binary size by ~1.4kb. 2. Compiler can better understand the intent of the code, thus it leads to more optimization possibilities. Additionally it enabled detecting unused variables that had an empty default constructor but not marked so explicitly. Particular change required following this patch in sql/opt_range.cc result_keys, an unused template class Bitmap now correctly issues unused variable warnings. Setting Bitmap template class constructor to default allows the compiler to identify that there are no side-effects when instantiating the class. Previously the compiler could not issue the warning as it assumed Bitmap class (being a template) would not be performing a NO-OP for its default constructor. This prevented the "unused variable warning".
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
-