Commit graph

172573 commits

Author SHA1 Message Date
Jan Lindström
9b577edd50 MDEV-8577: With enforce-storage-engine mysql_upgrade corrupts the schema:
ALTER TABLE should either bypass enforce-storage-engine, or mysql_upgrade
should refuse to run

Allow user to alter contents of existing table without enforcing
storage engine. However, enforce storage engine on ALTER TABLE
x ENGINE=y;
2015-09-12 13:16:05 +03:00
Kristian Nielsen
1e9ab68e4a Merge. 2015-09-12 00:44:20 +02:00
Kristian Nielsen
528729fc5d MDEV-8193: UNTIL clause in START SLAVE is sporadically disobeyed by parallel replication
Adjust the test case to try and avoid some sporadic failures on loaded test
hosts.

The wait for SQL thread to stop may complete before worker threads
have completed.
2015-09-12 00:42:21 +02:00
Alexander Barkov
96f4a906ce MDEV-8675 Different results of GIS functions on NULL vs NOT NULL columns 2015-09-11 23:26:02 +04:00
Alexander Barkov
aaf6334b64 MDEV-8709 Row equality elements do not get propagated
The problem was fixed earlier by one of the MDEV-8728 subtasks.
Adding a test case only.
2015-09-11 15:48:34 +04:00
Alexander Barkov
9158212a27 MDEV-8369 Unexpected impossible WHERE for a condition on a ZEROFILL field
Disable IDENTITY_SUBST propagation for ZEROFILL columns,
as discussed with Sergei.
2015-09-11 15:41:53 +04:00
Kristian Nielsen
df9b8aee58 Merge MDEV-8193 into 10.1
Conflicts:
	sql/rpl_rli.cc
2015-09-11 12:01:48 +02:00
Kristian Nielsen
51eaa7fe53 MDEV-8193: UNTIL clause in START SLAVE is sporadically disobeyed by parallel replication
The code was using the wrong variable when comparing the binlog name
for the UNTIL position. This could cause the comparison to fail after
binlog rotation, in turn causing the UNTIL clause to not trigger slave
stop.
2015-09-11 10:51:56 +02:00
Alexander Barkov
6f302d9f6c MDEV-8755 Equal field propagation is not performed any longer for the IN list when multiple comparison types 2015-09-11 11:35:15 +04:00
Alexander Barkov
0302efca7f MDEV-8705 Wrong result for SELECT..WHERE latin1_bin_column='a' AND latin1_bin_column='A'
MDEV-8712 Wrong result for SELECT..WHERE latin1_bin_column=_latin1'a' AND latin1_bin_column='A'
2015-09-11 09:20:40 +04:00
Alexander Barkov
4aebba3aeb MDEV-8740 Wrong result for SELECT..WHERE year_field=10 AND NULLIF(year_field,2011.1)='2011'
MDEV-8754 Wrong result for SELECT..WHERE year_field=2020 AND NULLIF(year_field,2010)='2020'
Problems:
1. Item_func_nullif stored a copy of args[0] in a private member m_args0_copy,
   which was invisible for the inherited Item_func menthods, like
   update_used_tables(). As a result, after equal field propagation
   things like Item_func_nullif::const_item() could return wrong result
   and a non-constant NULLIF() was erroneously treated as a constant
   at optimize_cond() time.
   Solution: removing m_args0_copy and storing the return value item
   in args[2] instead.
2. Equal field propagation did not work well for Item_fun_nullif.
   Solution: using ANY_SUBST for args[0] and args[1], as they are in
   comparison, and IDENTITY_SUBST for args[2], as it's not in comparison.
2015-09-10 17:13:35 +04:00
Alexander Barkov
8e553c455c MDEV-8785 Wrong results for EXPLAIN EXTENDED...WHERE NULLIF(latin1_col, _utf8'a' COLLATE utf8_bin) IS NOT NULL 2015-09-10 15:01:44 +04:00
Alexander Barkov
4278d6d402 MDEV-8786 Wrong result for SELECT FORMAT=JSON * FROM t1 WHERE a=_latin1 0xDF 2015-09-10 14:04:52 +04:00
Sergei Golubchik
416b811a4a MDEV-8775 enabling encryption is too error-prone
create a "preset" file to enable all encryption options at once
2015-09-09 14:22:30 +02:00
Sergei Golubchik
7bd2f20e88 make encrypt-binlog and encrypt-tmp-files to fail if no encryption
--encrypt-binlog and --encrypt-tmp-files used to mean
"encrypt XXX if encryption is available, otherwise don't encrypt",
now they mean "encrypt or fail with an error".
2015-09-09 14:22:22 +02:00
Alexander Barkov
39b46ae934 MDEV-8706 Wrong result for SELECT..WHERE time_column=TIMESTAMP'2015-08-30 00:00:00' AND time_column='00:00:00' 2015-09-09 15:39:09 +04:00
Alexander Barkov
3fcd84c289 MDEV-8741 Equal field propagation leaves some remainders after simplifying WH ERE zerofill_column=2010 AND zerofill_column>=2010 2015-09-09 08:11:43 +04:00
Nirbhay Choubey
4cb6edba78 Update failing galera tests 2015-09-08 17:46:03 -04:00
Nirbhay Choubey
28ad6a7f28 MDEV-8763: Galera tests failures with --ps-protocol
(MDEV-8617: Post-fix for 10.1)
* Reset THD's PS members before returning when node is
not ready
* Add CF_SKIP_WSREP_CHECK flag to COM_STMT_XXX commands
* Skip TO replication of COM_STMT_PREPAREs for MyISAM
* Updated tests
2015-09-08 17:43:48 -04:00
Jan Lindström
067ed23c27 MDEV-8774: Test innodb.innodb_bug53290 failures on buildbot
Problem was -O2 and __attribute__((nonnull)) when it should have been
__attribute__((nonnull(1,2,3,4,5)))
2015-09-08 21:04:46 +03:00
Sergei Golubchik
bbb238ce75 disable main.max_statement_time test 2015-09-08 15:47:28 +02:00
Sergei Golubchik
edb37ae3c7 disable encrypt_tmp_files and encrypt_binlog by default 2015-09-08 15:47:27 +02:00
Jan Lindström
2c1553e545 MDEV-8774: Test innodb.innodb_bug53290 failures on buildbot
Fixed unsafe reference to null pointer.
2015-09-08 16:23:19 +03:00
Alexander Barkov
de269f2f1f MDEV-8766 Wrong result for SELECT..WHERE LENGTH(time_column)=8 AND time_column=TIMESTAMP'2001-01-01 10:20:31' 2015-09-08 16:02:29 +04:00
Sergei Golubchik
b119110a82 MDEV-8581 Unique prefix for default-tmp-storage-engine does not work
remove old "to-be-implemented" definition of
the default-tmp-storage-engine option.
2015-09-08 09:36:38 +02:00
Jan Lindström
509b836623 MDEV-8708: InnoDB temp file encryption
Added encryption support for online alter table where InnoDB temporary
files are used. Added similar support also for tables containing
full text-indexes.

Made sure that table remains encrypted during discard and import
tablespace.
2015-09-08 08:38:12 +03:00
Alexander Barkov
42574427e6 MDEV-8699 Wrong result for SELECT..WHERE HEX(date_column)!='323030312D30312D3031' AND date_column='2001-01-01x' 2015-09-07 17:43:53 +04:00
Alexander Barkov
2029163999 MDEV-8742 Wrong result for SELECT..WHERE view_latin1_swedish_ci_field='a' COLLATE latin1_bin
The fix for MDEV-8749 also fixed MDEV-8742.
Just adding the test case from the bug report.
2015-09-07 11:07:40 +04:00
Alexander Barkov
bf7a2bb12c MDEV-8704 Wrong result for SELECT..WHERE LENGTH(double_column)!=6 AND double_column=100e0 2015-09-07 10:50:27 +04:00
Jan Lindström
5448e0a6dc MDEV-8745: Bad InnoDB logging: "[Note] InnoDB: not started" 2015-09-07 08:34:04 +03:00
Alexander Barkov
e7dcec5471 MDEV-8703 Wrong result for SELECT..WHERE LENGTH(decimal_10_1_column)!=3 AND decimal_10_1_column=1.10 2015-09-07 08:55:55 +04:00
Alexander Barkov
0736cddbd4 Field_num::get_equal_const_item() appeared to be in a wrong file (item.cc).
Moving to field.cc.
2015-09-07 06:45:51 +04:00
Elena Stepanova
4be6eee8f1 MDEV-8760 main.mysqlbinlog_row_big fails due to new default for max_allowed_packet
Follow-up for MDEV-6066: new default value, the result file needs to be updated
2015-09-07 02:22:35 +03:00
Elena Stepanova
e6162888b8 MDEV-8761 encryption.innodb-bad-key-change2 fails with static file_key_management plugin
Suppress errors about not being able to load plugins from file_key_management library.
Errors about the non-existing library are already suppressed globally.
2015-09-07 02:18:49 +03:00
Elena Stepanova
675ca12ae4 Follow-up for MDEV-6066 (new defaults from 5.6 and 5.7)
New defaults for query cache caused wrong test output
2015-09-06 21:01:59 +03:00
Alexander Barkov
1a36caf0e9 MDEV-8729 Wrong result for SELECT..WHERE HEX(enum_column)='61' AND enum_column='a ' 2015-09-06 18:49:17 +04:00
Alexander Barkov
e0df116056 A clean-up after the patch for MDEV-8747 and MDEV-8749:
removing IMPOSSIBLE_RESULT from Item_result, as it's not
needed any more. The fact that an Item is not in a comparison
context is now always designated by IDENTITY_SUBST in Subst_constraint.
Previously IMPOSSIBLE_RESULT and IDENTITY_SUBST co-existed but
actually meant the same thing.
2015-09-06 13:25:47 +04:00
Alexander Barkov
c108019a48 MDEV-8747 Wrong result for SELECT..WHERE derived_table_column='a' AND derived_table_column<>_latin1'A' COLLATE latin1_bin
MDEV-8749 Wrong result for SELECT..WHERE derived_table_enum_column='number' AND derived_table_enum_column OP number
2015-09-06 01:30:46 +04:00
Alexander Barkov
3d9abaf052 MDEV-8752 Wrong result for SELECT..WHERE CASE enum_field WHEN 1 THEN 1 ELSE 0 END AND a='5' 2015-09-05 23:54:18 +04:00
Jan Lindström
67dbfab3d7 Fix test not to be run on embedded, because of restart. 2015-09-05 14:30:42 +03:00
Jan Lindström
a0df8225ec MDEV-8753: 10.1 build is broken: xtradb/handler/ha_innodb.cc:21430: error: redefinition of 'void ib_push_warning(trx_t*, ulint, const char*, ...)'
Fixed bad merge.
2015-09-05 07:18:57 +03:00
Jan Lindström
e04723d754 MDEV-8750: Server crashes in page_cur_is_after_last on altering table using a wrong encryption key
Analysis: Server tried to continue reading tablespace using a cursor after
we had resolved that pages in the tablespace can't be decrypted.

Fixed by addind check is tablespace still encrypted.
2015-09-04 20:19:45 +03:00
Jan Lindström
7e916bb86f MDEV-8588: Assertion failure in file ha_innodb.cc line 21140 if at least one encrypted table exists and encryption service is not available
Analysis: Problem was that in fil_read_first_page we do find that
    table has encryption information and that encryption service
    or used key_id is not available. But, then we just printed
    fatal error message that causes above assertion.

    Fix: When we open single table tablespace if it has encryption
    information (crypt_data) store this crypt data to the table
    structure. When we open a table and we find out that tablespace
    is not available, check has table a encryption information
    and from there is encryption service or used key_id is not available.
    If it is, add additional warning for SQL-layer.
2015-09-04 20:19:45 +03:00
Jan Lindström
e1978234eb MDEV-8588: Assertion failure in file ha_innodb.cc line 21140 if at least one encrypted table exists and encryption service is not available
Analysis: Problem was that in fil_read_first_page we do find that
table has encryption information and that encryption service
or used key_id is not available. But, then we just printed
fatal error message that causes above assertion.

Fix: When we open single table tablespace if it has encryption
information (crypt_data) store this crypt data to the table
structure. When we open a table and we find out that tablespace
is not available, check has table a encryption information
and from there is encryption service or used key_id is not available.
If it is, add additional warning for SQL-layer.
2015-09-04 20:19:33 +03:00
Sergei Golubchik
e9b6f95013 test failure 2015-09-04 16:30:11 +02:00
Sergei Golubchik
6246b4c9f1 update encryption plugin and service versions 2015-09-04 12:33:14 +02:00
Sergei Golubchik
096510d02c fix dbug tags 2015-09-04 12:28:47 +02:00
Sergei Golubchik
7cd3c427da document new encryption plugin api 2015-09-04 11:39:24 +02:00
Sergei Golubchik
bc12d5fd43 MDEV-6066: Merge new defaults from 5.6 and 5.7
cosmetic fixes. test fixes.
2015-09-04 10:33:56 +02:00
Oleksandr Byelkin
e3982cead2 MDEV-6066: Merge new defaults from 5.6 and 5.7 (defaults changed, QC can be stopped with no-zero size) 2015-09-04 10:33:56 +02:00