summaryrefslogtreecommitdiff
path: root/mysql-test/suite
Commit message (Collapse)AuthorAgeFilesLines
* Upstream MIPS test fixes from Debian Bug 838557.Kristian Nielsen2016-10-211-2/+2
| | | | | | https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=838557 MIPS has a different errno for "directory not empty".
* Merge branch '5.5' into 10.0Sergei Golubchik2016-09-276-327/+6
|\
| * MDEV-10441 Document the server_audit_loc_info variableSergei Golubchik2016-09-262-6/+0
| | | | | | | | | | fix PLUGIN_VAR_NOSYSVAR | PLUGIN_VAR_NOCMDOPT plugin thdvars to work. use that for server_audit_loc_info
| * Merge branch 'mysql/5.5' into 5.5Sergei Golubchik2016-09-114-280/+19
| |\ | | | | | | | | | 80% reverted
| | * Bug #23280699: MYSQLD GOT SIGNAL 11 IN IS_NULL ON SELECTSreeharsha Ramanavarapu2016-07-222-10/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FROM I_S Issue: ------ There is a difference in the field type created when the following DDLs are used: 1) CREATE TABLE t0 AS SELECT NULL; 2) CREATE TABLE t0 AS SELECT GREATEST(NULL,NULL); The first statement creates field of type Field_string and the second one creates a field of type Field_null. This creates a problem when the query mentioned in this bug is used. Since the null_ptr is calculated differently for Field_null. Solution: --------- When there is a function returning null in the select list as mentioned above, the field should be of type Field_string. This was fixed in 5.6+ as part of Bug#14021323. This is a backport to mysql-5.5. An incorrect comment in innodb_bug54044.test has been corrected in all versions.
| | * Bug#14111584 PB2: PERFSCHEMA.AGGREGATE FAILS ON PB2 SPORADICALLYChristopher Powers2016-06-302-276/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Permanently removed test case perfschema.aggregate. The Performance Schema is generally lock-free, allowing for race conditions that might arise from multi-threaded operation which occasionally results in temporary and/or minor variances when aggregating statistics. This test needs to be redesigned to accommodate such variances.
* | | MDEV-10775 System table in InnoDB format allowed in MariaDB could lead to crashSergei Golubchik2016-09-232-0/+20
| | | | | | | | | | | | | | | when opening a system table for a SELECT-like read, pretend (for the sake of engines) it's SQLCOM_SELECT
* | | Debian bug#837369 - test failures on hppaKristian Nielsen2016-09-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ENOTEMPTY is 247 on hppa, not 39 like on Linux, according to this report: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=837369 So add another replacement for this to rpl.rpl_drop_db and binlog.binlog_databasae tests (there were already a couple similar replacements for other platforms). Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
* | | MDEV-10630 rpl.rpl_mdev6020 fails in buildbot with timeoutMonty2016-08-221-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The issue was that when running with valgrind the wait for master_pos_Wait() was not long enough. This patch also fixes two other failures that could affect rpl_mdev6020: - check_if_conflicting_replication_locks() didn't properly check domains - 'did_mark_start_commit' was after signals to other threads was sent which could get the variable read too early.
* | | Merge branch 'bb-10.0-serg' into 10.0Sergei Golubchik2016-08-1410-4/+272
|\ \ \
| * | | after merge fixesSergei Golubchik2016-08-101-0/+56
| | | |
| * | | Merge branch '5.5' into 10.0Sergei Golubchik2016-08-109-4/+216
| |\ \ \ | | |/ /
| | * | MDEV-10465 general_log_file can be abusedSergei Golubchik2016-08-094-0/+8
| | | | | | | | | | | | | | | | Windows!
| | * | MDEV-10465 general_log_file can be abusedSergei Golubchik2016-08-084-0/+8
| | | | | | | | | | | | | | | | followup
| | * | MDEV-10465 general_log_file can be abusedSergei Golubchik2016-08-034-0/+32
| | | | | | | | | | | | | | | | | | | | This issue was discovered by Dawid Golunski (http://legalhackers.com)
| | * | MDEV-7329 plugins.pam_cleartext fails sporadically in buildbotSergei Golubchik2016-08-032-1/+4
| | | | | | | | | | | | | | | | | | | | wait until the failed connection thread completely dies before uninstalling pam plugin
| | * | improve pam_cleartext.test a bitSergei Golubchik2016-08-032-2/+15
| | | |
| | * | Merge branch 'mysql/5.5' into 5.5Sergei Golubchik2016-08-032-0/+149
| | |\ \ | | | |/ | | | | | | | | without a fix for Bug#12818255 (MDEV-6581)
| | | * Bug#23251517: SEMISYNC REPLICATION HANGINGSujatha Sivakumar2016-05-132-86/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert following bug fix: Bug#20685029: SLAVE IO THREAD SHOULD STOP WHEN DISK IS FULL Bug#21753696: MAKE SHOW SLAVE STATUS NON BLOCKING IF IO THREAD WAITS FOR DISK SPACE This fix results in a deadlock between slave IO thread and SQL thread.
| | | * Bug#12818255: READ-ONLY OPTION DOES NOT ALLOWSujatha Sivakumar2016-05-042-0/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | INSERTS/UPDATES ON TEMPORARY TABLES Bug#14294223: CHANGES NOT ALLOWED TO TEMPORARY TABLES ON READ-ONLY SERVERS Problem: ======== Running 5.5.14 in read only we can create temporary tables but can not insert or update records in the table. When we try we get Error 1290 : The MySQL server is running with the --read-only option so it cannot execute this statement. Analysis: ========= This bug is very specific to binlog being enabled and binlog-format being stmt/mixed. Standalone server without binlog enabled or with row based binlog-mode works fine. How standalone server and row based replication work: ===================================================== Standalone server and row based replication mark the transactions as read_write only when they are modifying non temporary tables as part of their current transaction. Because of this when code enters commit phase it checks if a transaction is read_write or not. If the transaction is read_write and global read only mode is enabled those transaction will fail with 'server is read only mode' error. In the case of statement based mode at the time of writing to binary log a binlog handler is created and it is always marked as read_write. In case of temporary tables even though the engine did not mark the transaction as read_write but the new transaction that is started by binlog handler is considered as read_write. Hence in this case when code enters commit phase it finds one handler which has a read_write transaction even when we are modifying temporary table. This causes the server to throw an error when global read-only mode is enabled. Fix: ==== At the time of commit in "ha_commit_trans" if a read_write transaction is found, we should check if this transaction is coming from a handler other than binlog_handler. This will ensure that there is a genuine read_write transaction being sent by the engine apart from binlog_handler and only then it should be blocked.
| | | * Bug#22897202: RPL_IO_THD_WAIT_FOR_DISK_SPACE HAS OCCASIONALSujatha Sivakumar2016-04-192-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FAILURES Analysis: ========= Test script is not ensuring that "assert_grep.inc" should be called only after 'Disk is full' error is written to the error log. Test checks for "Queueing master event to the relay log" state. But this state is set before invoking 'queue_event'. Actual 'Disk is full' error happens at a very lower level. It can happen that we might even reset the debug point before even the actual disk full simulation occurs and the "Disk is full" message will never appear in the error log. In order to guarentee that we must have some mechanism where in after we write "Disk is full" error messge into the error log we must signal the test to execute SSS and then reset the debug point. So that test is deterministic. Fix: === Added debug sync point to make script deterministic.
| | | * Bug#20685029: SLAVE IO THREAD SHOULD STOP WHEN DISK ISSujatha Sivakumar2016-03-071-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FULL Bug#21753696: MAKE SHOW SLAVE STATUS NON BLOCKING IF IO THREAD WAITS FOR DISK SPACE Fixing a post push test issue.
| | | * Bug#20685029: SLAVE IO THREAD SHOULD STOP WHEN DISK ISSujatha Sivakumar2016-03-012-0/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FULL Bug#21753696: MAKE SHOW SLAVE STATUS NON BLOCKING IF IO THREAD WAITS FOR DISK SPACE Problem: ======== Currently SHOW SLAVE STATUS blocks if IO thread waits for disk space. This makes automation tools verifying server health block on taking relevant action. Finally this will create SHOW SLAVE STATUS piles. Analysis: ========= SHOW SLAVE STATUS hangs on mi->data_lock if relay log write is waiting for free disk space while holding mi->data_lock. mi->data_lock is needed to protect the format description event (mi->format_description_event) which is accessed by the clients running FLUSH LOGS and slave IO thread. Note relay log writes don't need to be protected by mi->data_lock, LOCK_log is used to protect relay log between IO and SQL thread (see MYSQL_BIN_LOG::append_event). The code takes mi->data_lock to protect mi->format_description_event during relay log rotate which might get triggered right after relay log write. Fix: ==== Release the data_lock just for the duration of writing into relay log. Made change to ensure the following lock order is maintained to avoid deadlocks. data_lock, LOCK_log data_lock is held during relay log rotations to protect the description event.
* | | | MDEV-10535: ALTER TABLE causes standalone/wsrep cluster crashJan Lindström2016-08-132-0/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When checking is any of the renamed columns part of the columns for new indexes we accessed NULL pointer if checked column used on index was added on same statement. Additionally, we tried to check too many indexes, added_index_count is enough here.
* | | | MDEV-10469: innodb.innodb-alter-tempfile fails in buildbot: InnoDB: Warning: ↵Jan Lindström2016-08-132-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | database page corruption or a failed Test case intentionally crashes the server and that could lead partially written pages that are then restored from doublewrite buffer.
* | | | MDEV-8569 build_table_filename() doesn't support temporary tables.Alexey Botchkov2016-07-182-10/+24
|/ / / | | | | | | | | | Temporary tables support added for RENAME and ALTER TABLE.
* | | Merge branch '5.5' into 10.0Sergei Golubchik2016-07-121-1/+1
|\ \ \ | |/ /
| * | MDEV-10311 - funcs_1.processlist_priv_no_prot fails sporadicallySergey Vojtovich2016-06-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | State column of SHOW PROCESSLIST can have NULL values for being initialized threads (between new connection was acknowledged and waiting for network data). Fixed test case to handle such cases by waiting for State to become empty string.
| * | MDEV-10083: Orphan ibd file when playing with foreign keysJan Lindström2016-06-232-0/+202
| | | | | | | | | | | | | | | | | | | | | | | | | | | Analysis: row_drop_table_for_mysql did not allow dropping referenced table even in case when actual creating of the referenced table was not successfull if foreign_key_checks=1. Fix: Allow dropping referenced table even if foreign_key_checks=1 if actual table create returned error.
* | | add a test case vcol.charsetsSergei Golubchik2016-07-122-0/+55
| | | | | | | | | | | | | | | a test case for a broken vcols behavior with different charsets. this is fixed in 10.2
* | | Merge following commit from 5.5:Jan Lindström2016-06-232-0/+204
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit ef92aaf9ece92c873ae0f3448ab2274c958ba3fe Author: Jan Lindström <jan.lindstrom@mariadb.com> Date: Wed Jun 22 22:37:28 2016 +0300 MDEV-10083: Orphan ibd file when playing with foreign keys Analysis: row_drop_table_for_mysql did not allow dropping referenced table even in case when actual creating of the referenced table was not successfull if foreign_key_checks=1. Fix: Allow dropping referenced table even if foreign_key_checks=1 if actual table create returned error.
* | | MDEV-8638: REVOKE ALL PRIVILEGES, GRANT OPTION FROM CURRENT_ROLE breaks ↵Vicențiu Ciorbaru2016-06-222-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | replication Fix the replication failure caused by incorect initialization of THD::invoker_host && THD::invoker_user. Breakdown of the failure is this: Query_log_event::host and Query_log_event::user can have their LEX_STRING's set to length 0, but the actual str member points to garbage. Code afterwards copies Query_log_event::host and user to THD::invoker_host and THD::invoker_user. Calling code for these members expects both members to be initialized. Eg. the str member be a NULL terminated string and length have appropriate size.
* | | [MDEV-9614] Roles and Users longer than 6 charactersIgor Pashev2016-06-222-0/+178
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The bug is apparent when the username is longer than the rolename. It is caused by a simple typo that caused a memcmp call to compare a different number of bytes than necessary. The fix was proposed by Igor Pashev. I have reviewed it and it is the correct approach. Test case introduced by me, using the details provided in the MDEV. Signed-off-by: Vicențiu Ciorbaru <vicentiu@mariadb.org>
* | | Fixed for failures in buildbot: ReplicationSergei Golubchik2016-06-222-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | 1. remove unnecessary rpl-tokudb combination file. 2. fix rpl_ignore_table to cleanup properly (not leave test grants in memory) 3. check_temp_dir() is supposed to set the error in stmt_da - do it even when called multiple times, this fixes a crash when rpl.rpl_slave_load_tmpdir_not_exist is run twice.
* | | Merge branch 'merge-perfschema-5.6' into 10.0Sergei Golubchik2016-06-214-0/+323
|\ \ \
| * | | 5.6.30Sergei Golubchik2016-04-264-0/+322
| | | |
| * | | 5.6.29Sergei Golubchik2016-02-162-2/+2
| | | |
* | | | Merge branch '5.5' into bb-10.0Sergei Golubchik2016-06-2110-199/+137
|\ \ \ \ | | |/ / | |/| |
| * | | MDEV-8328 Evaluation of two "!" operators depends on space in beetweenSergei Golubchik2016-06-142-2/+2
| | | | | | | | | | | | | | | | | | | | fix the lexer to backtrack when parsing "<=", "<>", "!=", ">=", "<<", ">>", "<=>".
| * | | MDEV-8859 rpl.rpl_mdev382 sporadically fails to finish due to disappeared ↵Elena Stepanova2016-06-123-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | expect file The combination of --remove_file and --write_file on .expect file creates a race condition which can be hit by MTR which reads the file in a loop. Instead, .expect file should be changed with --append_file. It was fixed in 10.x, but in 5.5 the sporadic failure still affected buildbot. Fixed 3 test files which use the problematic combination
| * | | MDEV-7139: Sporadic failure in innodb.innodb_corrupt_bit on P8Jan Lindström2016-06-082-118/+56
| | | | | | | | | | | | | | | | | | | | | | | | Use direct persistent index corruption set on InnoDB dictionary for this test. Do not allow creating new indexes if one of the existing indexes is already marked as corrupted.
* | | | after-merge fixes for failures in buildbotSergei Golubchik2016-04-271-0/+1
| | | |
* | | | Merge branch '5.5' into 10.0Sergei Golubchik2016-04-2613-38/+192
|\ \ \ \ | |/ / /
| * | | MDEV-9142 :Adding Constraint with no database referenceJan Lindström2016-04-232-0/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | results in ERROR 1046 (3D000) at line 13: No database selected. Use database from create table to foreign key database if nothing else is given.
| * | | Merge branch 'mysql/5.5' into 5.5Sergei Golubchik2016-04-207-31/+100
| |\ \ \ | | | |/ | | |/|
| | * | BUG#20574550 MAIN.MERGE TEST CASE FAILS IF BINLOG_FORMAT=ROWVenkatesh Duggirala2016-02-265-6/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main.merge test case was failing when tested using row based binlog format. While analyzing the issue it was found the following issues: a) The server is calling binlog related code even when a statement will not be binlogged; b) The child table list was not present into table structure by the time to generate the create table statement; c) The tables in the child table list will not be opened yet when generating table create info using row based replication; d) CREATE TABLE LIKE TEMP_TABLE does not preserve original table storage engine when using row based replication; This patch addressed all above issues. @ sql/sql_class.h Added a function to determine if the binary log is disabled to the current session. This is related with issue (a) above. @ sql/sql_table.cc Added code to skip binary logging related code if the statement will not be binlogged. This is related with issue (a) above. Added code to add the children to the query list of the table that will have its CREATE TABLE generated. This is related with issue (b) above. Added code to force the storage engine to be generated into the CREATE TABLE. This is related with issue (d) above. @ storage/myisammrg/ha_myisammrg.cc Added a test to skip a table getting info about a child table if the child table is not opened. This is related to issue (c) above.
| | * | Bug#22086528: TEST CODE DISABLED THOUGH THE HISTORIC REASONS - BUGS - ARE FIXEDDeepthi Eranti_Sreenivas2016-01-222-7/+6
| | | | | | | | | | | | | | | | Post push fix for 5.5 and 5.6.Disabled the test code due to Bug#22587377
| | * | Bug#22086528 : TEST CODE DISABLED THOUGH THE HISTORIC REASONS - BUGS - ARE FIXEDDeepthi Eranti_Sreenivas2016-01-202-29/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: mysql-test/suite/rpl/t/rpl_killed_ddl.test This test contains code which was disabled because of certain bugs. BUG#44041 declared to be a duplicate of Bug#45516 which was fixed 2010 BUG#43353 fixed 2012 BUG#44171 fixed 2010 Fix: Enabled the test code related to the above mentioned bugs.
* | | | MDEV-9918: [ERROR] mysqld got signal 11 during ALTER TABLE `name` COLUMN ADDJan Lindström2016-04-222-0/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem was that in-place online alter table was used on a table that had mismatch between MySQL frm file and InnoDB data dictionary. Fixed so that traditional "Copy" method is used if the MySQL frm and InnoDB data dictionary is not consistent.
* | | | MDEV-9713 Sporadic test failure: sys_vars.innodb_buffer_pool_load_now_basicElena Stepanova2016-04-041-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Previous fix using wait condition did not work because of MDEV-9867, so we have to use conditional sleep instead. Sleep will only happen if the test is executed after another one which also ran buffer pool dump without server restart between two tests