summaryrefslogtreecommitdiff
path: root/mysql-test
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/10.0' into 10.1Alexander Barkov2017-11-094-0/+107
|\
| * MDEV-14164: Unknown column error when adding aggregate to function in oracle ↵Oleksandr Byelkin2017-11-092-0/+77
| | | | | | | | | | | | | | | | 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-072-0/+30
| |
* | MDEV-10728 test excluded from embedded testsVesa Pentti2017-11-071-0/+2
| |
* | MDEV-8867 Wrong field type or metadata for COALESCE(bit_column, 1)Alexander Barkov2017-11-072-0/+43
| | | | | | | | This problem was earlier fixed by the patch for MDEV-8910. Adding tests only.
* | Fix test caseVladislav Vaintroub2017-11-062-4/+6
| |
* | MDEV-12108 Fix backup for Innodb tables with DATA DIRECTORYVladislav Vaintroub2017-11-065-0/+81
| |
* | Merge 10.0 into 10.1Marko Mäkelä2017-11-0613-222/+178
|\ \ | |/
| * MDEV-14140 IMPORT TABLESPACE must not go beyond FSP_FREE_LIMITMarko Mäkelä2017-11-064-336/+251
| | | | | | | | | | | | | | | | | | | | | | | | | | ibuf_check_bitmap_on_import(): Only access the pages that are below FSP_FREE_LIMIT. It is possible that especially with ROW_FORMAT=COMPRESSED, the FSP_SIZE will be much bigger than the FSP_FREE_LIMIT, and the bitmap pages (page_size*N, 1+page_size*N) are filled with zero bytes. buf_page_is_corrupted(), buf_page_io_complete(): Make the fault injection compatible with MariaDB 10.2. Backport the IMPORT tests from 10.2.
| * MDEV-10651, MDEV-14196 sys_vars.innodb_buffer_pool_* tests failElena Stepanova2017-11-057-55/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - innodb_buffer_pool_dump_now_basic is modified to make sure it really performs a dump and waits till it completion, to avoid the apparent or hidden failure similar to MDEV-9713 / MDEV-10651 - innodb_buffer_pool_dump_pct_basic is modified to re-use the new code from innodb_buffer_pool_dump_now_basic and thus avoid the failure MDEV-10651 - innodb_buffer_pool_load_now_basic is re-written to simplify the logic by re-using the code innodb_buffer_pool_dump_now_basic and is given an opt file to avoid race conditions with buffer pool load performed upon server startup, which causes MDEV-14196 failure
| * MDEV-14029 Server does not remove #sql*.frm files after crash during ALTER TABLEElena Stepanova2017-11-051-0/+5
| | | | | | | | Add a check for #sql* files in test and mysql subdirs to the testcase check
| * MDEV-11864 main.view test uses CHECK PARTITION but does not check for the ↵Elena Stepanova2017-11-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | partition plugin The test would pass even with skipped partitioning, because CHECK PARTITION for a view works identically with enabled/disabled partitioning; but if the server is compiled without partitioning at all, it cannot execute the statement, and the test would fail. Check for the presence of partitioning allows to skip the test in this case, rather than let it fail
| * MDEV-13921 Audit log writes invalid SQL if single-line comments areAlexey Botchkov2017-11-032-4/+10
| | | | | | | | | | | | | | present. thread_pool_server_audit.test fixed. plugin version updated.
| * MDEV-13921 Audit log writes invalid SQL if single-line comments areAlexey Botchkov2017-11-032-4/+10
| | | | | | | | | | | | | | present. Escape special characters (like \r \n \t) instead of replacing them with spaces.
| * List of unstable tests for 10.0.33 releasemariadb-10.0.33Elena Stepanova2017-10-271-101/+137
| |
* | MDEV-10728 -- mysqlbinlog can't be input to mysql clientVesa Pentti2017-11-063-0/+7
| | | | | | | | | | | | String comparison with utf8_bin collation is case sensitive. Hence "DELIMITER" did not match with "delimiter". The delimiter command matching now uses my_charset_latin1.
* | MDEV-13921 Audit log writes invalid SQL if single-line comments areAlexey Botchkov2017-11-032-4/+10
| | | | | | | | | | | | | | present. thread_pool_server_audit.test fixed. plugin version updated.
* | MDEV-13921 Audit log writes invalid SQL if single-line comments areAlexey Botchkov2017-11-032-4/+10
| | | | | | | | | | | | | | present. Escape special characters (like \r \n \t) instead of replacing them with spaces.
* | MDEV-14221 Assertion `0' failed in Item::field_type_for_temporal_comparisonAlexander Barkov2017-11-022-0/+20
| |
* | MDEV-14219 Allow online table rebuild when encryption or compression ↵Marko Mäkelä2017-10-3111-25/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | parameters change When MariaDB 10.1.0 introduced table options for encryption and compression, it unnecessarily changed ha_innobase::check_if_supported_inplace_alter() so that ALGORITHM=COPY is forced when these parameters differ. A better solution is to move the check to innobase_need_rebuild(). In that way, the ALGORITHM=INPLACE interface (yes, the syntax is very misleading) can be used for rebuilding the table much more efficiently, with merge sort, with no undo logging, and allowing concurrent DML operations.
* | Merge 10.0 into 10.1Marko Mäkelä2017-10-2414-20/+865
|\ \ | |/
| * Merge 5.5 into 10.0Marko Mäkelä2017-10-244-8/+289
| |\
| | * MDEV-14051 'Undo log record is too big.' error occurring in very narrow ↵bb-5.5-markoMarko Mäkelä2017-10-244-2/+285
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | range of string lengths InnoDB was writing unnecessary information to the update undo log records. Most notably, if an indexed column is updated, the old value of the column would be logged twice: first as part of the update vector, and then another time because it is an indexed column. Because the InnoDB undo log record must fit in a single page, this would cause unnecessary failure of certain updates. Even after this fix, InnoDB still seems to be unnecessarily logging indexed column values for non-updated columns. It seems that non-updated secondary index columns only need to be logged when a PRIMARY KEY column is updated. To reduce risk, we are not fixing this remaining flaw in GA versions. trx_undo_page_report_modify(): Log updated indexed columns only once.
| * | MDEV-13776 mysqld got signal 11 on delete returningIgor Babaev2017-10-232-0/+27
| | | | | | | | | | | | | | | 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-232-0/+529
| | | | | | | | | | | | | | | | | | 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.
* | | Do not use File::Which, it is not always available.Vladislav Vaintroub2017-10-231-2/+4
| | |
* | | MDEV-14102 restore --remove-original options for mariabackupVladislav Vaintroub2017-10-233-0/+41
| | |
* | | Merge branch '10.0' into 10.1Sergei Golubchik2017-10-2266-253/+1813
|\ \ \ | |/ /
| * | Merge branch '5.5' into 10.0Sergei Golubchik2017-10-1838-114/+896
| |\ \ | | |/
| | * Bug#26361149 MYSQL SERVER CRASHES AT: COL IN(IFNULL(CONST, COL), ↵mariadb-5.5.58Sergei Golubchik2017-10-172-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-172-0/+28
| | |\
| | | * Bug#19875294 ASSERTION `SRC' FAILED IN MY_STRNXFRM_UNICODE (SIG 6 ↵Tor Didriksen2017-08-232-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | -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)
| | | * Bug#26161247: MTR: --NOREORDER IS SEARCHING FOR TEST SCRIPT ONLY IN MAIN SUITEDeepa Dixit2017-07-251-12/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue: ------ Running MTR with the --no-reorder option by specifying test cases on the command line, without prefixing the suite name results in an error saying the test case was not found in the main suite. This is because MTR looks for the test case only in the main suite, and no other suites. Fix: ---- The fix involves searching for the test in every suite if only the test name is specified. This back-ports two bug fixes: Bug#24967869 and Bug#24365783 Reviewed-by: Pavan Naik <pavan.naik@oracle.com> RB: 16812
| | * | MDEV-13937 Aria engine: Internal Error 160 after partition handlingSergei Golubchik2017-10-172-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Partition wasn't setting HA_OPTION_PACK_RECORD on ALTER TABLE if the row format was PAGE. (so one bit in the null bitmap was reserved for a deleted bit - see make_empty_rec - and all actual null bits were one off)
| | * | MDEV-14056 DROP TEMPORARY TABLE IF EXISTS causes error 1290 with read_only ↵Sergei Golubchik2017-10-172-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-172-0/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-132-0/+216
| | | | | | | | | | | | | | | | | | | | | | | | 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-132-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-132-0/+56
| | | | | | | | | | | | | | | | | | | | | | | | 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-1318-16/+253
| | | |
| | * | MDEV-13149 -- show function status now works with PAD_CHAR_TO_FULL_LENGTHVesa Pentti2017-10-102-0/+47
| | | |
| | * | MDEV-13972 crash in Item_func_sec_to_time::get_dateAlexander Barkov2017-10-104-0/+50
| | | |
| | * | MDEV-11819 NO_ZERO_IN_DATE: Incorrect generated column valueAlexander Barkov2017-10-064-0/+69
| | | |
| * | | Import, adapt and extend a test from OracleMarko Mäkelä2017-10-182-0/+45
| | | |
| * | | Add a test of LIMIT with FULLTEXT INDEXMarko Mäkelä2017-10-182-5/+52
| | | | | | | | | | | | | | | | | | | | In MariaDB, InnoDB fulltext search does not currently truncate results based on LIMIT. In MySQL 5.7, it does.
| * | | MDEV-14086 Setting innodb_buffer_pool_load_now or innodb_buffer_load_abort ↵Marko Mäkelä2017-10-182-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | will crash if innodb_read_only When MySQL 5.6.10 introduced innodb_read_only mode, it skipped the creation of the InnoDB buffer pool dump/restore subsystem in that mode. Attempts to set the variable innodb_buf_pool_dump_now would have no effect in innodb_read_only mode, but the corresponding condition was forgotten in from the other two update functions. MySQL 5.7.20 would fix the innodb_buffer_pool_load_now, but not innodb_buffer_pool_load_abort. Let us fix both in MariaDB.
| * | | MDEV-12676 MySQL#78423 InnoDB FTS duplicate key errorMarko Mäkelä2017-10-162-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | fts_get_next_doc_id(): Assign the first and subsequent FTS_DOC_ID in the same way: by post-incrementing the cached value. If there is a user-specified FTS_DOC_ID, do not touch the internal sequence.
| * | | MDEV-13051 MySQL#86607 InnoDB crash after failed ADD INDEX and ↵Marko Mäkelä2017-10-162-0/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | table_definition_cache eviction There are two bugs related to failed ADD INDEX and the InnoDB table cache eviction. dict_table_close(): Try dropping failed ADD INDEX when releasing the last table handle, not when releasing the last-but-one. dict_table_remove_from_cache_low(): Do not invoke row_merge_drop_indexes() after freeing all index metadata. Instead, directly invoke row_merge_drop_indexes_dict() to remove the metadata from the persistent data dictionary and to free the index pages.
| * | | MDEV-13676: Field "create Procedure" is NULL, even if the the user has role ↵Vicențiu Ciorbaru2017-10-112-0/+236
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | which is the definer. (SHOW CREATE PROCEDURE) During show create procedure we ommited to check the current role, if it is the actual definer of the procedure. In addition, we should support indirectly granted roles to the current role. Implemented a recursive lookup to search the tree of grants if the rolename is present. SQL Standard 2016, Part 5 Section 53 View I_S.ROUTINES selects ROUTINE_BODY and its WHERE clause says that the GRANTEE must be either PUBLIC, or CURRENT_USER or in the ENABLED_ROLES.
| * | | MDEV-13838: Wrong result after altering a partitioned tableJan Lindström2017-10-106-69/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reverted incorrect changes done on MDEV-7367 and MDEV-9469. Fixes properly also related bugs: MDEV-13668: InnoDB unnecessarily rebuilds table when renaming a column and adding index MDEV-9469: 'Incorrect key file' on ALTER TABLE MDEV-9548: Alter table (renaming and adding index) fails with "Incorrect key file for table" MDEV-10535: ALTER TABLE causes standalone/wsrep cluster crash MDEV-13640: ALTER TABLE CHANGE and ADD INDEX on auto_increment column fails with "Incorrect key file for table..." Root cause for all these bugs is the fact that MariaDB .frm file can contain virtual columns but InnoDB dictionary does not and previous fixes were incorrect or unnecessarily forced table rebuilt. In index creation key_part->fieldnr can be bigger than number of columns in InnoDB data dictionary. We need to skip not stored fields when calculating correct column number for InnoDB data dictionary. dict_table_get_col_name_for_mysql Remove innobase_match_index_columns Revert incorrect change done on MDEV-7367 innobase_need_rebuild Remove unnecessary rebuild force when column is renamed. innobase_create_index_field_def Calculate InnoDB column number correctly and remove unnecessary column name set. innobase_create_index_def, innobase_create_key_defs Remove unneeded fields parameter. Revert unneeded memset. prepare_inplace_alter_table_dict Remove unneeded col_names parameter index_field_t Remove unneeded col_name member. row_merge_create_index Remove unneeded col_names parameter and resolution. Effected tests: innodb-alter-table : Add test case for MDEV-13668 innodb-alter : Remove MDEV-13668, MDEV-9469 FIXMEs and restore original tests innodb-wl5980-alter : Remove MDEV-13668, MDEV-9469 FIXMEs and restore original tests