summaryrefslogtreecommitdiff
path: root/sql-common
Commit message (Collapse)AuthorAgeFilesLines
* Fix various spelling errors still found in codeOtto Kekäläinen2021-03-221-2/+2
| | | | | | | | | | | | | | | Reseting -> Resetting Unknow -> Unknown capabilites -> capabilities choosen -> chosen direcory -> directory informations -> information openned -> opened refered -> referred to access -> one to access missmatch -> mismatch succesfully -> successfully dont -> don't
* Merge branch '10.4' into 10.5Sujatha2020-09-291-2/+2
|\
| * Merge branch '10.3' into 10.4Sujatha2020-09-281-2/+2
| |\
| | * Merge branch '10.2' into 10.3Sujatha2020-09-281-2/+2
| | |\
| | | * UBSAN: Fix a bit shift overflowMarko Mäkelä2020-09-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Shifting a 16-bit type by 16 bits is undefined behaviour. The result is at least 32 bits, so let us cast the shift operand to a wider type before shifting.
* | | | Part2: MDEV-23568 Improve performance of my_{time|date|datetime}_to_str()Alexander Barkov2020-09-031-36/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As an additional improvement, let's store string representations of the numbers using an array uint16[256] instead of char[512]. This allows to use int2store(), which copies two bytes at a time on x86, instead of copying the two bytes with digits one-by-one. This change gives an additional 7% to 26% query time reduce for: SELECT BENCHMARK(10*1000*1000,CONCAT(TIME'10:20:30')); SELECT BENCHMARK(10*1000*1000,CONCAT(TIME'10:20:30.123456')); SELECT BENCHMARK(10*1000*1000,CONCAT(DATE'2001-01-01')); SELECT BENCHMARK(10*1000*1000,CONCAT(TIMESTAMP'2001-01-01 10:20:30')); SELECT BENCHMARK(10*1000*1000,CONCAT(TIMESTAMP'2001-01-01 10:20:30.123456')); The total time reduce (part1 + part2) is now between 15% to 38% for these queries.
* | | | MDEV-23568 Improve performance of my_{time|date|datetime}_to_str()Alexander Barkov2020-08-281-24/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch improves functions my_xxx_to_str() using the idea introduced in this change in MySQL-8.0: commit 8d10f2fff6bbdea7f436b868ebb5fd811defc68a Author: Knut Anders Hatlen <knut.hatlen@oracle.com> Date: Thu Oct 10 13:55:07 2019 +0200 Bug#30472888: IMPROVE THE PERFORMANCE OF INTEGER HANDLING IN THE TEXT PROTOCOL The new way prints 2 digits at a time and demonstrates a very impressing query time reduce: 10% to 38%, depending on the exact data type and the number of fractional digits: SELECT BENCHMARK(10*1000*1000,CONCAT(TIME'10:20:30')); SELECT BENCHMARK(10*1000*1000,CONCAT(TIME'10:20:30.123456')); SELECT BENCHMARK(10*1000*1000,CONCAT(DATE'2001-01-01')); SELECT BENCHMARK(10*1000*1000,CONCAT(TIMESTAMP'2001-01-01 10:20:30')); SELECT BENCHMARK(10*1000*1000,CONCAT(TIMESTAMP'2001-01-01 10:20:30.123456')); See MDEV for details on the benchmark results.
* | | | MDEV-19275 Provide SQL service to plugins.Alexey Botchkov2020-08-141-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Protocol_local fixed so it can be used now. Some Protocol:: methods made virtual so they can adapt. as well as net_ok and net_send_error functions. execute_sql_string function is exported to the plugins. To be changed with the mysql_use_result.
* | | | Merge 10.4 into 10.5Marko Mäkelä2020-08-011-0/+2
|\ \ \ \ | |/ / /
| * | | Merge 10.3 into 10.4Marko Mäkelä2020-07-311-0/+2
| |\ \ \ | | |/ /
| | * | Merge 10.2 into 10.3Marko Mäkelä2020-07-311-0/+2
| | |\ \ | | | |/
| | | * MDEV-14203: rpl.rpl_extra_col_master_myisam, ↵Sujatha2020-07-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rpl.rpl_slave_load_tmpdir_not_exist failed in buildbot with a warning Problem: ======= rpl.rpl_slave_load_tmpdir_not_exist 'stmt' w3 [ fail ] Found warnings/errors in server log file! Test ended at 2017-09-27 20:34:55 [Warning] Master is configured to log replication events with checksum, but will not send such events to slaves that cannot process them ^ Found warnings in /mnt/buildbot/build/mariadb-10.2.10/mysql-test/var/3/log/mysqld.1.err ok Analysis: ======== When slave tries to connect to master 'get_master_version_and_clock' function is invoked to perform elaborated slave-master handshake. During this process slave server queries master server, to know if it is checksum aware and at the same time master is notified about its CRC-awareness. The master's side instant value of @@global.binlog_checksum is stored in the dump thread's uservar area as well as cached locally to become known in consensus by master and slave. Post hand-shake slave requests master for binlog dump. It sends 'COM_BINLOG_DUMP'. This command is sent to master by 'cli_advanced_command' call. If there is some temporary network failure during this request_dump call, 'end_server' is invoked to close the current connection between master and slave. Upon connection close the dump thread on the master gets terminated and it clears the 'uservar' data it got through master-slave handshake. The 'COM_BINLOG_DUMP' command is sent once again without master-slave handshake. Since the checksum data is not available with new dump thread a warning gets reported. Fix: === Upon network write error donot attempt reconnect, proceed to master-slave handshake. This ensures that master is aware of slave's capability to use checksums.
* | | | Merge 10.4 into 10.5Marko Mäkelä2020-05-051-3/+17
|\ \ \ \ | |/ / /
| * | | Merge 10.3 into 10.4Marko Mäkelä2020-05-051-3/+17
| |\ \ \ | | |/ /
| | * | Merge branch '10.2' into 10.3Oleksandr Byelkin2020-05-041-3/+17
| | |\ \ | | | |/
| | | * Merge branch '10.1' into 10.2Oleksandr Byelkin2020-05-021-3/+17
| | | |\
| | | | * Merge branch '5.5' into 10.1Oleksandr Byelkin2020-04-301-3/+17
| | | | |\
| | | | | * Bug#30689251 - BACKPORT TO MYSQL-5.6, BUG#29597896 - NULL POINTER ↵Anushree Prakash B2020-04-301-3/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DEREFERENCE IN LIBMYSQL DESCRIPTION: ============ There can be issues if the packets sent by the server are not proper. Certain checks should be performed at the client side while unpacking fields data. FIX: ==== Check for the appropriate fields data and error out if it is not present. RB: 23601
* | | | | | MDEV-17812 Use MariaDB in error messages instead of MySQLRasmus Johansson2020-04-081-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changed wording in error messages from MySQL to MariaDB. In cases where the word server could be used instead it was done. Tests that have these errors recorded were updated.
* | | | | | cleanup: PSI key is *always* the first argumentSergei Golubchik2020-03-101-4/+5
| | | | | |
* | | | | | perfschema memory related instrumentation changesSergei Golubchik2020-03-102-41/+135
| | | | | |
* | | | | | Merge 10.4 into 10.5Marko Mäkelä2020-01-281-1/+4
|\ \ \ \ \ \ | |/ / / / /
| * | | | | Merge branch '10.3' into 10.4Oleksandr Byelkin2020-01-211-1/+4
| |\ \ \ \ \ | | |/ / / /
| | * | | | Merge branch '10.2' into 10.3Oleksandr Byelkin2020-01-211-1/+4
| | |\ \ \ \ | | | |/ / /
| | | * | | Merge branch '10.1' into 10.2Oleksandr Byelkin2020-01-201-1/+4
| | | |\ \ \ | | | | |/ /
| | | | * | Merge branch '5.5' into 10.1Oleksandr Byelkin2020-01-191-1/+4
| | | | |\ \ | | | | | |/
| | | | | * Bug#29630767 - USE OF UNINITIALIZED VALUE IN LIBMYSQL (CLIENT.CC FUNCTION ↵mariadb-5.5.67Sergei Golubchik2020-01-181-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | RUN_PLUGIN_AUTH)
* | | | | | Merge 10.4 into 10.5Marko Mäkelä2019-12-161-1/+1
|\ \ \ \ \ \ | |/ / / / /
| * | | | | Merge branch '10.3' into 10.4Oleksandr Byelkin2019-12-091-1/+1
| |\ \ \ \ \ | | |/ / / /
| | * | | | Lintian complains on spelling errorFaustin Lammler2019-12-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The lintian check complains on spelling error: https://salsa.debian.org/mariadb-team/mariadb-10.3/-/jobs/95739
* | | | | | cleanup: don't use my_getopt_is_args_separator()Sergei Golubchik2019-10-141-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | only my_getopt should use it, because it changes my_getopt's behavior. If one simply wants to skip the separator - don't ask it to be added in the first place
* | | | | | Merge 10.4 into 10.5Marko Mäkelä2019-10-111-8/+5
|\ \ \ \ \ \ | |/ / / / /
| * | | | | Merge 10.3 into 10.4Marko Mäkelä2019-10-101-8/+5
| |\ \ \ \ \ | | |/ / / /
| | * | | | Merge 10.2 into 10.3Marko Mäkelä2019-10-091-8/+5
| | |\ \ \ \ | | | |/ / /
| | | * | | Fix problem with warnings of new compilers.Oleksandr Byelkin2019-10-041-2/+0
| | | | | |
* | | | | | Merge 10.4 into 10.5Marko Mäkelä2019-09-061-1/+1
|\ \ \ \ \ \ | |/ / / / /
| * | | | | Merge 10.3 into 10.4, except for MDEV-20265Marko Mäkelä2019-08-231-1/+1
| |\ \ \ \ \ | | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MDEV-20265 commit e746f451d57def4be679caafc29976741b3e89f7 introduces DBUG_ASSERT(right_op == r_tbl) in st_select_lex::add_cross_joined_table(), and that assertion would fail in several tests that exercise joins. That commit was skipped in this merge, and a separate fix of MDEV-20265 will be necessary in 10.4.
| | * | | | Merge 10.2 into 10.3Marko Mäkelä2019-08-211-1/+1
| | |\ \ \ \ | | | |/ / /
| | | * | | Merge 10.1 into 10.2Marko Mäkelä2019-08-201-1/+1
| | | |\ \ \ | | | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For MDEV-15955, the fix in create_tmp_field_from_item() would cause a compilation error. After a discussion with Alexander Barkov, the fix was omitted and only the test case was kept. In 10.3 and later, MDEV-15955 is fixed properly by overriding create_tmp_field() in Item_func_user_var.
| | | | * | MDEV-19034 ASAN unknown-crash in get_date_time_separator with ↵Alexander Barkov2019-08-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | PAD_CHAR_TO_FULL_LENGTH
* | | | | | Merge remote-tracking branch 'origin/10.4' into 10.5Alexander Barkov2019-08-132-2/+12
|\ \ \ \ \ \ | |/ / / / /
| * | | | | MDEV-19301 Assertion `!is_valid_datetime() || ↵Alexander Barkov2019-08-061-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | fraction_remainder(((item->decimals) < (6) ? (item->decimals) : (6))) == 0' failed in Datetime_truncation_not_needed::Datetime_truncation_not_needed
| * | | | | Merge branch '10.3' into 10.4Oleksandr Byelkin2019-07-281-1/+7
| |\ \ \ \ \ | | |/ / / /
| | * | | | Merge branch '10.2' into 10.3Oleksandr Byelkin2019-07-261-1/+7
| | |\ \ \ \ | | | |/ / /
| | | * | | Merge branch '10.1' into 10.2Oleksandr Byelkin2019-07-261-1/+7
| | | |\ \ \ | | | | |/ /
| | | | * | Merge branch '5.5' into 10.1Oleksandr Byelkin2019-07-251-1/+1
| | | | |\ \ | | | | | |/
| | | | | * Backslash added to wrong cachacters of names of client plugin.mariadb-5.5.65Oleksandr Byelkin2019-07-251-1/+1
| | | | | |
| | | | * | Merge branch '5.5' into 10.1Oleksandr Byelkin2019-07-251-1/+7
| | | | |\ \ | | | | | |/
| | | | | * MDEV-20110 don't try to load client plugins with invalid namesSergei Golubchik2019-07-211-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | reported by lixtelnis
* | | | | | Merge 10.4 into 10.5Marko Mäkelä2019-06-201-247/+7
|\ \ \ \ \ \ | |/ / / / /