summaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge 10.3 into 10.4Marko Mäkelä2021-03-311-750/+0
|\
| * Merge 10.2 into 10.3Marko Mäkelä2021-03-311-750/+0
| |\
| | * remove broken tests/grant.plDaniel Black2021-03-301-750/+0
| | |
* | | Merge branch '10.3' into 10.4mariadb-10.4.17Sergei Golubchik2020-11-101-2/+5
|\ \ \ | |/ /
| * | Merge branch '10.2' into 10.3Sergei Golubchik2020-11-091-2/+5
| |\ \ | | |/
| | * MDEV-19838: followup to make happy following protocol implementations:Oleksandr Byelkin2020-11-051-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - mysqlnd from PHP < 7.3 - mysql-connector-python any version - mysql-connector-java any version Relaxed check about garbage at the end of the packet in case of no parameters. Added check for array binding. Fixed test according to the new paradigm (allow junk at the end of the packet)
* | | Merge branch '10.3' into 10.4Oleksandr Byelkin2020-10-311-0/+150
|\ \ \ | |/ /
| * | Merge branch '10.2' into 10.3Oleksandr Byelkin2020-10-301-0/+150
| |\ \ | | |/
| | * MDEV-19838 Wrong direxec param data caused crashLawrin Novitsky2020-10-291-0/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case of direct execution(stmtid=-1, mariadb_stmt_execute_direct in C API) application is in control of how many parameters client sends to the server. In case this number is not equal to actual query parameters number, the server may start to interprete packet data incorrectly, e.g. starting from the size of null bitmap. And that could cause it to crash at some point. The commit introduces some additional COM_STMT_EXECUTE packet sanity checks: - checking that "types sent" byte is set, and the value is equal to 1. if it's not direct execution, then that value is 0 or 1. - checking that parameter type value is a valid type, and parameter flags value is 0 or only "unsigned" bit is set - added more checks that read does not go beyond the end of the packet
* | | Merge branch '10.3' into 10.4Sujatha2020-09-2812-13/+14
|\ \ \ | |/ /
| * | Merge branch '10.2' into 10.3Sujatha2020-09-2812-13/+14
| |\ \ | | |/
| | * Merge branch '10.1' into 10.2Sujatha2020-09-2811-11/+11
| | |\
| | | * MDEV-23697: perl -w -> perlDaniel Black2020-09-2411-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Leave debian/additions/mysqlreport as #!/usr/bin/perl Acknowledge that `env perl` is a hack, a complete fix needs to consider which path perl is at and insert into these scripts. The usefulness of these scripts is questionable.
| | * | Fix GCC 10.2.0 -Og -fsanitize=undefined -Wformat-overflowMarko Mäkelä2020-09-231-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For some reason, adding -fsanitize=undefined (cmake -DWITH_UBSAN=ON) to the compilation flags will cause even more warnings to be emitted. The warning was a bogus one: tests/mysql_client_test.c:8632:22: error: '%d' directive writing between 1 and 11 bytes into a region of size 9 [-Werror=format-overflow=] 8632 | sprintf(field, "c%d int", i); | ^~ tests/mysql_client_test.c:8632:20: note: directive argument in the range [-2147483648, 999] The warning does not take into account that the lower bound of the variable actually is 0. But, we can help the compiler and use an unsigned variable.
* | | | Merge 10.3 into 10.4Marko Mäkelä2020-07-0217-17/+71
|\ \ \ \ | |/ / /
| * | | Merge 10.2 into 10.3Marko Mäkelä2020-07-0217-17/+72
| |\ \ \ | | |/ /
| | * | MDEV-22779: Fix a memory leak in the unit testMarko Mäkelä2020-07-011-0/+2
| | | |
| | * | Merge 10.1 into 10.2bb-10.2-mergeMarko Mäkelä2020-07-0116-16/+16
| | |\ \ | | | |/
| | | * mtr: use env for perlDaniel Black2020-06-2316-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On FreeBSD, perl isn't in /usr/bin, its in /usr/local/bin or elsewhere in the path. Like storage/{maria/unittest/,}ma_test_* , we use /usr/bin/env to find perl and run it.
| | * | MDEV-22779: Crash: Prepared Statement with a '?' parameter inside a re-used CTESergei Petrunia2020-06-141-0/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a prepared statement parameter '?' is used in a CTE that is used multiple times, the following happens: - The CTE definition is re-parsed multiple times. - There are multiple Item_param objects referring to the same "?" in the original query. - Prepared_statement::param has a pointer to the first of them, the others are "clones". - When prepared statement parameter gets the value, it should be passed over to clones with param->sync_clones() call. This call is made in insert_params(), etc. It was not made in insert_params_with_log(). This would cause Item_param to not have any value which would confuse the query optimizer. Added the missing call.
* | | | MDEV-20261 NULL passed to String::eq, SEGV, server crash, regression in 10.4Alexander Barkov2020-05-121-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Type_handler_xxx::Item_const_eq() can handle only non-NULL values. The code in Item_basic_value::eq() did not take this into account. Adding a test to detect three different combinations: - Both values are NULLs, return true. - Only one value is NULL, return false. - Both values are not NULL, call Type_handler::Item_const_eq() to check equality.
* | | | MDEV-17592 Create MariaDB named commands/symlinksSergei Golubchik2019-06-171-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | post-merge fixes: * .gitignore * don't put the keyword COMPONENT into ${COMP} anymore * don't alias mytop, but do alias mysql_client_test * don't symlink manpages, use troff aliasing technique instead (symlinked manpages break rpm and out-of-source bintar builds) * move debian to use troff aliased manpages, fix typos in debian files, put aliases in the correct packages, add more aliases to match rpm/bintar packaging
* | | | Merge 10.3 into 10.4Marko Mäkelä2019-06-121-6/+24
|\ \ \ \ | |/ / /
| * | | Merge 10.2 into 10.3Marko Mäkelä2019-06-111-6/+24
| |\ \ \ | | |/ /
| | * | Ensure that tests and programs can restore variablesMonty2019-06-031-6/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - --default-character-set can now be disabled in mysqldump - --skip-resolve can be be disabled in mysqld - mysql_client_test now resets global variables it changes - mtr couldn't handle [mysqldump] in config files (wrong regexp used)
* | | | Merge branch '10.3' into 10.4Oleksandr Byelkin2019-05-1927-27/+48
|\ \ \ \ | |/ / /
| * | | Merge branch '10.2' into 10.3Sergei Golubchik2019-05-171-0/+21
| |\ \ \ | | |/ /
| | * | MDEV-19490 show tables fails when selecting the information_schema databaseMonty2019-05-161-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The bug was that when using mysql_list_fields, then table_list->schema_table_name was not filled in. Fixed by using table_list->schema_table instead, which is always filled in.
| * | | Merge 10.2 into 10.3Marko Mäkelä2019-05-1427-27/+27
| |\ \ \ | | |/ /
| | * | Merge 10.1 into 10.2Marko Mäkelä2019-05-1327-27/+27
| | |\ \ | | | |/
| | | * Merge branch '5.5' into 10.1Vicențiu Ciorbaru2019-05-1127-27/+27
| | | |\
| | | | * Update FSF AddressVicențiu Ciorbaru2019-05-1127-27/+27
| | | | | | | | | | | | | | | | | | | | * Update wrong zip-code
* | | | | Merge 10.3 into 10.4Marko Mäkelä2019-05-051-1/+61
|\ \ \ \ \ | |/ / / /
| * | | | Merge 10.2 into 10.3Marko Mäkelä2019-04-271-1/+61
| |\ \ \ \ | | |/ / /
| | * | | MDEV-17036: BULK with replace doesn't take the first parameter in accountOleksandr Byelkin2019-04-251-0/+61
| | | | | | | | | | | | | | | | | | | | INSERT and REPLACE served by the same function, so flags (and processing) should be the same.
* | | | | MDEV-19125 Change Send_field::type from enum_field_types to Type_handler*Alexander Barkov2019-04-021-0/+45
| | | | |
* | | | | Merge 10.3 into 10.4Marko Mäkelä2019-03-261-1/+1
|\ \ \ \ \ | |/ / / /
| * | | | Merge 10.2 into 10.3Marko Mäkelä2019-03-261-1/+1
| |\ \ \ \ | | |/ / /
| | * | | Merge 10.1 into 10.2Marko Mäkelä2019-03-261-1/+1
| | |\ \ \ | | | |/ /
| | | * | Merge 10.0 into 10.1Marko Mäkelä2019-03-261-1/+1
| | | |\ \
| | | | * | Fix USE_AFTER_FREE (CWE-416)FaramosCZ2019-03-221-1/+1
| | | | | | | | | | | | | | | | | | swap two lines
| | | * | | MDEV-11966: Impossible to execute prepared ANALYZE SELECTOleksandr Byelkin2019-03-121-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | Prepare os ANALYZE now respond as EXPLAIN.
| | | * | | MDEV-14265 - RPMLint warning: shared-lib-calls-exitSergey Vojtovich2018-03-163-15/+5
| | | | | | | | | | | | | | | | | | | | | | | | Eliminated last exit() call from libmysqld.
* | | | | | Merge 10.3 into 10.4Marko Mäkelä2019-03-081-2/+22
|\ \ \ \ \ \ | |/ / / / /
| * | | | | Merge 10.2 into 10.3Marko Mäkelä2019-03-081-2/+2
| |\ \ \ \ \ | | |/ / / /
| | * | | | fix memory leaks in mysql_client_testSergei Golubchik2019-03-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes main.mysql_client_test, main.mysql_client_test_comp, main.mysql_client_test_nonblock failures in ASAN_OPTIONS="abort_on_error=1" runs
| * | | | | fix memory leaks in mysql_client_testSergei Golubchik2019-03-071-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes main.mysql_client_test, main.mysql_client_test_comp, main.mysql_client_test_nonblock failures in ASAN_OPTIONS="abort_on_error=1" runs
* | | | | | MDEV-18408 Assertion `0' failed in Item::val_native_result / ↵Alexander Barkov2019-02-251-1/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Timestamp_or_zero_datetime_native_null::Timestamp_or_zero_datetime_native_null upon mysqld_list_fields after crash recovery The problem happened because Item_ident_for_show did not implement val_native(). Solution: - Removing class Item_ident_for_show - Implementing a new method Protocol::send_list_fields() instead, which accepts a List<Field> instead of List<Item> as input. Now no any Item creation is done during mysqld_list_fields(). Adding helper methods, to reuse the code easier: - Moved a part of Protocol::send_result_set_metadata(), responsible for sending an individual field metadata, into a new method Protocol_text::store_field_metadata(). Reusing it in both send_list_fields() and send_result_set_metadata(). - Adding Protocol_text::store_field_metadata() - Adding Protocol_text::store_field_metadata_for_list_fields() Note, this patch also automatically fixed another bug: MDEV-18685 mysql_list_fields() returns DEFAULT 0 instead of DEFAULT NULL for view columns The reason for this bug was that Item_ident_for_show::val_xxx() and get_date() did not check field->is_null() before calling field->val_xxx()/get_date(). Now the default value is correctly sent by Protocol_text::store(Field*).
* | | | | | Merge branch '10.4' into bb-10.4-mdev16188Igor Babaev2019-02-031-1/+61
|\ \ \ \ \ \
| * \ \ \ \ \ Merge 10.3 into 10.4Marko Mäkelä2018-12-141-1/+61
| |\ \ \ \ \ \ | | |/ / / / /