summaryrefslogtreecommitdiff
path: root/mysql-test/r
Commit message (Collapse)AuthorAgeFilesLines
* Update sponsorsIan Gilfillan2018-01-241-1/+2
|
* Fix for MDEV-14141 Crash in print_keydup_error()Monty2018-01-241-2/+2
| | | | | | | | | | | | | | | | | May also fix: MDEV-14970 "MariaDB crashed with signal 11 and Aria table" I am not able to reproduce a crash, however there was no protection in print_keydup_error() if the storage engine reported the wrong key number. This patch adds such a protection and should stop any further crashes in this case. Other things: - Added extra protection in Aria to not set errkey to more than number of keys. (Don't think this is cause of this crash, but better safe than sorry) - Extend test_if_equal_repl_errors() to handle different cases of ER_DUP_ENTRY. This is just mainly precaution for the future.
* MDEV-7533: COLUMN_JSON() doesn't escape control characters in string valuesOleksandr Byelkin2018-01-231-0/+10
| | | | | escape all charecters less or equal 0x1F (control symbols) (shorter sequence are not used to make code simple, long encoding is always legal according to the rfc4627)
* Merge 5.5 into 10.0Marko Mäkelä2018-01-116-0/+156
|\
| * MDEV-13933: Wrong results in COUNT() query with EXISTS and exists_to_inOleksandr Byelkin2018-01-105-0/+130
| | | | | | | | Roll back to most general duplicate removing strategi in case of different stratagies for one position.
* | Merge 5.5 into 10.0Marko Mäkelä2018-01-021-0/+18
|\ \ | |/
| * MDEV-10657: incorrect result returned with binary protocol (prepared statements)Oleksandr Byelkin2017-12-271-0/+18
| | | | | | | | | | | | | | If translation table present when we materialize the derived table then change it to point to the materialized table. Added debug info to see really what happens with what derived.
* | Merge remote-tracking branch '5.5' into 10.0Vicențiu Ciorbaru2017-12-206-17/+87
|\ \ | |/
| * MDEV-12350: Heap corruption, overrun buffer, ASAN errors, server crash in ↵Varun Gupta2017-12-201-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | my_fill_8bit / filesort In the function make_sortkey a tmp buffer was defined and in the absence of param->tmp_buffer, tmp buffer used the sort_keys buffer. sort_keys buffer has a length defined in sort_field->length, while param->tmp_buffer is stored in param->rec_length. Make sure to use the appropriate length based on which buffer we are using otherwise we'll overflow. Also added a type cast to size_t during the calculation of the sort keys buffer size to avoid an oveflow if the buffer size exceeds 32 bits.
| * MDEV-14619: VIEW and GROUP_CONCATOleksandr Byelkin2017-12-171-0/+14
| | | | | | | | Correctly print separator string in single quotes.
| * MDEV-14596 Crash in INTERVAL(ROW(..),ROW(..))Alexander Barkov2017-12-081-0/+9
| |
| * MDEV-10397: Server crashes in key_copy with join_cache_level > 2 and join on ↵Varun Gupta2017-11-302-0/+26
| | | | | | | | | | | | | | | | BIT fields For BIT field null_bit is not set to 0 even for a field defined as NOT NULL. So now in the function TABLE::create_key_part_by_field, if the bit field is not nullable then the null_bit is explicitly set to 0
| * Fixed bug MDEV-14368 Improper error for a grouping query thatIgor Babaev2017-11-111-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | uses alias in HAVING when sql_mode = 'ONLY_FULL_GROUP_BY' This patch corrects the patch for bug#18739: non-standard HAVING extension was allowed in strict ANSI sql mode added in 2006 by commit 4b7c4cd27f68b9aac1970b9f21c50d4eee35df7d. As a result of incompleteness of the fix in the above commit if a query with GROUP BY contained an aggregate function with an alias and this alias was used in the HAVING clause of the query the server reported an error when sql_mode was set to 'ONLY_FULL_GROUP_BY'.
* | MDEV-12681 Wrong VIEW results for CHAR(0xDF USING latin1)Alexander Barkov2017-11-152-0/+36
| |
* | MDEV-8949: COLUMN_CREATE unicode name breakageOleksandr Byelkin2017-11-141-0/+27
| | | | | | | | Use utf-mb4 if it is possible.
* | MDEV-12372 mysqlbinlog --version output is the same on 10.x as on 5.5.x, and ↵Sergei Golubchik2017-11-091-0/+1
| | | | | | | | | | | | contains not only version don't print usage() for --version
* | remove redundant tests from mysql-test/include/*.inc filesSergei Golubchik2017-11-091-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some tests are skipped by checks in suite.pm. It is redundant to have an sql-level run-time check in the .inc file itself. In some cases it's not only redundant, but dangerous. After one bug in 10.2 innodb.create_isl_with_direct failed to start InnoDB, but the server started fine (just without InnoDB) and instead of failing, the test was skipped by run-time check in have_innodb.inc. # Conflicts: # mysql-test/include/not_embedded.inc # mysql-test/r/change_user_notembedded.result # mysql-test/suite.pm # mysql-test/t/change_user_notembedded.test
* | MDEV-14164: Unknown column error when adding aggregate to function in oracle ↵Oleksandr Byelkin2017-11-091-0/+37
| | | | | | | | | | | | | | | | style procedure FOR loop Make differentiation between pullout for merge and pulout of outer field during exists2in transformation. In last case the field was outer and so we can safely start from name resolution context of the SELECT where it was pulled. Old behavior lead to inconsistence between list of tables and outer name resolution context (which skips one SELECT for merge purposes) which creates problem vor name resolution.
* | MDEV-14116 INET6_NTOA output is set as null to varchar(39) variableAlexander Barkov2017-11-071-0/+14
| |
* | MDEV-13776 mysqld got signal 11 on delete returningIgor Babaev2017-10-231-0/+12
| | | | | | | | | | The method Field_iterator_table::create_item() must take into account that it can be called when processing DELETE RETURNING.
* | MDEV-13607 MariaDB crash in fix_semijoin_strategies_for_picked_join_orderIgor Babaev2017-10-231-0/+469
| | | | | | | | | | | | An overflow of the double variable storing the estimate of the number of rows in a partial join could trigger an assertion failure during the optimization stage.
* | Merge branch '5.5' into 10.0Sergei Golubchik2017-10-1818-64/+444
|\ \ | |/
| * Bug#26361149 MYSQL SERVER CRASHES AT: COL IN(IFNULL(CONST, COL), ↵mariadb-5.5.58Sergei Golubchik2017-10-171-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NAME_CONST('NAME', NULL)) based on: commit f7316aa0c9a Author: Ajo Robert <ajo.robert@oracle.com> Date: Thu Aug 24 17:03:21 2017 +0530 Bug#26361149 MYSQL SERVER CRASHES AT: COL IN(IFNULL(CONST, COL), NAME_CONST('NAME', NULL)) Backport of Bug#19143243 fix. NAME_CONST item can return NULL_ITEM type in case of incorrect arguments. NULL_ITEM has special processing in Item_func_in function. In Item_func_in::fix_length_and_dec an array of possible comparators is created. Since NAME_CONST function has NULL_ITEM type, corresponding array element is empty. Then NAME_CONST is wrapped to ITEM_CACHE. ITEM_CACHE can not return proper type(NULL_ITEM) in Item_func_in::val_int(), so the NULL_ITEM is attempted compared with an empty comparator. The fix is to disable the caching of Item_name_const item.
| * Merge branch 'mysql/5.5' into 5.5Sergei Golubchik2017-10-171-0/+16
| |\
| | * Bug#19875294 ASSERTION `SRC' FAILED IN MY_STRNXFRM_UNICODE (SIG 6 ↵Tor Didriksen2017-08-231-0/+16
| | | | | | | | | | | | | | | | | | | | | -STRINGS/CTYPE-UTF8.C:5151) Backport from 5.7 to 5.5 Field_set::val_str() should return String("", 0, cs) rather than String(NULL, 0, cs)
| * | MDEV-14056 DROP TEMPORARY TABLE IF EXISTS causes error 1290 with read_only ↵Sergei Golubchik2017-10-171-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | option if it's a DROP TABLE, we cannot detect whether a table is temporary by looking in thd->temporary_tables - because the table might simply not exist at all.
| * | MDEV-13912 Can't refer the same column twice in one ALTER TABLESergei Golubchik2017-10-171-0/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | backport ce6c0e584e3 MDEV-8960: Can't refer the same column twice in one ALTER TABLE Problem was that if column was created in alter table when it was refered again it was not tried to find from list of current columns. mysql_prepare_alter_table: There is two cases (1) If alter table adds a new column and then later alter changes the field definition, there was no check from list of new columns, instead an incorrect error was given. (2) If alter table adds a new column and then later alter changes the default, there was no check from list of new columns, instead an incorrect error was given.
| * | MDEV-9619: Assertion `null_ref_table' failed in virtual table_map ↵Oleksandr Byelkin2017-10-131-0/+113
| | | | | | | | | | | | | | | | | | Item_direct_view_ref::used_tables() const on 2nd execution of PS Refer left expression indirectly in case it changes from execution to execution.
| * | Fixed the bug mdev-13135.Igor Babaev2017-10-131-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For each SELECT the list sj_nests is built by the function simplify_joins() when scanning different join nests. This function may be called several times for the same join nest. That's why before adding a new member to sj_nests it is necessary to check if it's already in the list. The code of simplify_joins() lacked this check and as a result it could cause memory overwright for some queries.
| * | MDEV-9208: Function->Function->View = Mysqld segfault (Server crashes in ↵Oleksandr Byelkin2017-10-131-0/+30
| | | | | | | | | | | | | | | | | | Dependency_marker::visit_field on 2nd execution with merged subquery) Prevent crossing name resolution border in finding item tables.
| * | MDEV-13530 VARBINARY doesn't convert to to BLOB for sizes 65533, 65534 and 65535Alexander Barkov2017-10-1310-10/+147
| | |
| * | MDEV-13149 -- show function status now works with PAD_CHAR_TO_FULL_LENGTHVesa Pentti2017-10-101-0/+24
| | |
| * | MDEV-13972 crash in Item_func_sec_to_time::get_dateAlexander Barkov2017-10-102-0/+28
| | |
| * | MDEV-11819 NO_ZERO_IN_DATE: Incorrect generated column valueAlexander Barkov2017-10-061-0/+14
| | |
* | | smaller stack size on quantal-x86 and wheezy-x86Sergei Golubchik2017-10-101-9/+9
| | | | | | | | | | | | fixes failures of func_regexp_pcre
* | | MDEV-13412 main.func_regexp_pcre fails in buildbot on ppc64leSergei Golubchik2017-10-091-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Caused by 2fcd8c12522. It used the documented pcre API -pcre_exec(NULL, NULL, NULL, -999, -999, 0, NULL, 0) to calculate the pcre stack frame size. Unfortunately, modern compilers broke it by cloning and inlining pcre match() function. 2fcd8c12522 tried to workaround it by setting the stack frame size to at least 500. It didn't work, 500 is not a universal constant. Now we fix our copy of pcre to not inline or clone match() - so that stack frame detection would work again - and detect at cmake time whether system pcre is broken or usable. Also use stack, not (much slower) malloc in bundled pcre, unless on Windows
* | | MDEV-9886 Illegal mix of collations with a view comparing a field to a ↵Alexander Barkov2017-10-072-0/+36
| | | | | | | | | | | | binary constant
* | | Fixed the bug mdev-11574.Igor Babaev2017-10-062-0/+162
| | | | | | | | | | | | | | | Do not build an index merge of two indexes when one index is an infix of the other index.
* | | MDEV-13861 Assertion `0' failed in Protocol::end_statementSergei Golubchik2017-09-211-0/+6
| | | | | | | | | | | | | | | followup for 378beed0a68 - only count WARN_LEVEL_ERROR, not warnings or notes.
* | | Merge branch 'bb-10.0-vicentiu' into 10.0Vicențiu Ciorbaru2017-09-203-7/+30
|\ \ \
| * \ \ Merge branch '5.5' into 10.0Vicențiu Ciorbaru2017-09-193-7/+30
| |\ \ \ | | |/ /
| | * | MDEV-11240: Server crashes in check_view_single_update or Assertion ↵Oleksandr Byelkin2017-08-161-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | `derived->table' failed in mysql_derived_merge_for_insert Before "merge" view shoud be inited to maintaing transitive attributes like "multitable".
| | * | MTR's internal check of main.log_tables-big failedElena Stepanova2017-08-151-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | The test wasn't restoring log_output properly. Also added output of query_time in case of wrong result, to investigate the failure described in MDEV-13408
| | * | MDEV-13458: Wrong result for aggregate function with distinct clause when ↵Varun Gupta2017-08-091-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | the value for tmp_table_size is small Fixed by making sure that the sort buffer would have atleast MERGEBUFF2 keys. Also fixed MDEV-13457 by making sure that an empty tree is never dumped to the disk
* | | | MDEV-13290: Assertion Assertion `!is_set() || (m_status == DA_OK_BULK && ↵Oleksandr Byelkin2017-09-191-0/+28
|/ / / | | | | | | | | | | | | | | | is_bulk_op())' or `! is_set()' failed Check error status which can be set by conversion procedures.
* | | MDEV-13685 Can not replay binary log due to Illegal mix of collations ↵Alexander Barkov2017-09-151-0/+17
| | | | | | | | | | | | (latin1_swedish_ci,IMPLICIT) and (utf8mb4_general_ci,COERCIBLE) for operation 'concat'
* | | MDEV-13437 InnoDB fails to return error for XA COMMIT or XA ROLLBACK in ↵Andrei Elkin2017-08-291-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | read-only mode Assertions failed due to incorrect handling of the --tc-heuristic-recover option when InnoDB is in read-only mode either due to innodb_read_only=1 or innodb_force_recovery>3. InnoDB failed to refuse a XA COMMIT or XA ROLLBACK operation, and there were errors in the error handling in the upper layer. This was fixed by making InnoDB XA operations respect the high_level_read_only flag. The InnoDB part of the fix and parts of the test main.tc_heuristic_recover were provided by Marko Mäkelä. LOCK_log mutex lock/unlock had to be added to fix MDEV-13438. The measure is confirmed by mysql sources as well. For testing of the conflicting option combination, mysql-test-run is made to export a new $MYSQLD_LAST_CMD. It holds the very last value generated by mtr.mysqld_start(). Even though the options have been also always stored in $mysqld->{'started_opts'} there were no access to them beyond the automatic server restart by mtr through the expect file interface. Effectively therefore $MYSQLD_LAST_CMD represents a more general interface to $mysqld->{'started_opts'} which can be used in wider scopes including server launch with incompatible options. Notice another existing method to restart the server with incompatible options relying on $MYSQLD_CMD is is aware of $mysqld->{'started_opts'} (the actual options that the server is launched by mtr). In order to use this method they would have to be provided manually. NOTE: When merging to 10.2, the file search_pattern_in_file++.inc should be replaced with the pre-existing search_pattern_in_file.inc.
* | | MDEV-13583 Improvements for MTR rebootstrap introduced in MDEV-12042Elena Stepanova2017-08-281-1/+1
| | | | | | | | | | | | | | | | | | | | | - make re-bootstrap run with all extra options, not only InnoDB ones - re-use previously created bootstrap.sql - add --console - fix debian patch to keep it applicable
* | | MDEV-8960: Can't refer the same column twice in one ALTER TABLEJan Lindström2017-08-181-0/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem was that if column was created in alter table when it was refered again it was not tried to find from list of current columns. mysql_prepare_alter_table: There is two cases (1) If alter table adds a new column and then later alter changes the field definition, there was no check from list of new columns, instead an incorrect error was given. (2) If alter table adds a new column and then later alter changes the default, there was no check from list of new columns, instead an incorrect error was given.
* | | Update myisam_debug test result post print_lock_error changeVicențiu Ciorbaru2017-08-011-1/+1
| | |