mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
mysql-5.5 merge
This commit is contained in:
6
mysql-test/suite/innodb/r/innodb_bug12902967.result
Normal file
6
mysql-test/suite/innodb/r/innodb_bug12902967.result
Normal file
@ -0,0 +1,6 @@
|
||||
create table t1 (f1 integer primary key) engine innodb;
|
||||
alter table t1 add constraint c1 foreign key (f1) references t1(f1);
|
||||
ERROR HY000: Error on rename of '#sql-temporary' to './test/t1' (errno: 150)
|
||||
InnoDB: which are not compatible with the new table definition.
|
||||
InnoDB: has or is referenced in foreign key constraints
|
||||
drop table t1;
|
56
mysql-test/suite/innodb/r/innodb_bug14007649.result
Normal file
56
mysql-test/suite/innodb/r/innodb_bug14007649.result
Normal file
@ -0,0 +1,56 @@
|
||||
create table t1 (
|
||||
rowid int,
|
||||
f1 int,
|
||||
f2 int,
|
||||
key i1 (f1, f2),
|
||||
key i2 (f2)) engine=innodb;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`rowid` int(11) DEFAULT NULL,
|
||||
`f1` int(11) DEFAULT NULL,
|
||||
`f2` int(11) DEFAULT NULL,
|
||||
KEY `i1` (`f1`,`f2`),
|
||||
KEY `i2` (`f2`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
||||
insert into `t1` (rowid, f1, f2) values (1, 1, 10), (2, 1, NULL);
|
||||
start transaction with consistent snapshot;
|
||||
start transaction;
|
||||
update t1 set f2 = 4 where f1 = 1 and f2 is null;
|
||||
(b) Number of rows updated:
|
||||
select row_count();
|
||||
row_count()
|
||||
1
|
||||
insert into t1 values (3, 1, null);
|
||||
(b) After update and insert query.
|
||||
select rowid, f1, f2 from t1;
|
||||
rowid f1 f2
|
||||
1 1 10
|
||||
2 1 4
|
||||
3 1 NULL
|
||||
commit;
|
||||
(a) Before the update statement is executed.
|
||||
select rowid, f1, f2 from t1;
|
||||
rowid f1 f2
|
||||
1 1 10
|
||||
2 1 NULL
|
||||
SET SESSION debug_dbug="+d,bug14007649";
|
||||
update t1 set f2 = 6 where f1 = 1 and f2 is null;
|
||||
(a) Number of rows updated:
|
||||
select row_count();
|
||||
row_count()
|
||||
1
|
||||
(a) After the update statement is executed.
|
||||
select rowid, f1, f2 from t1;
|
||||
rowid f1 f2
|
||||
1 1 10
|
||||
2 1 NULL
|
||||
3 1 6
|
||||
commit;
|
||||
"The trx with consistent snapshot ended."
|
||||
select rowid, f1, f2 from t1;
|
||||
rowid f1 f2
|
||||
1 1 10
|
||||
2 1 4
|
||||
3 1 6
|
||||
drop table t1;
|
42
mysql-test/suite/innodb/t/innodb_bug12902967.test
Normal file
42
mysql-test/suite/innodb/t/innodb_bug12902967.test
Normal file
@ -0,0 +1,42 @@
|
||||
# Bug 12902967: Creating self referencing fk on same index unhandled,
|
||||
# confusing error
|
||||
#
|
||||
# Creating a self referencing foreign key on the same
|
||||
# column/index is an unhandled exception, it should throw a sensible
|
||||
# error but instead implies that your data dictionary may now be out
|
||||
# of sync:
|
||||
|
||||
--source include/have_innodb.inc
|
||||
--source include/not_embedded.inc
|
||||
|
||||
let error_log= $MYSQLTEST_VARDIR/log/mysqld.1.err;
|
||||
--source include/restart_mysqld.inc
|
||||
|
||||
create table t1 (f1 integer primary key) engine innodb;
|
||||
|
||||
# The below statement should produce error message in error log.
|
||||
# This error message should mention problem with foreign keys
|
||||
# rather than with data dictionary.
|
||||
--replace_regex /'\.\/test\/#sql-[0-9a-f_]*'/'#sql-temporary'/
|
||||
--error ER_ERROR_ON_RENAME
|
||||
alter table t1 add constraint c1 foreign key (f1) references t1(f1);
|
||||
--source include/restart_mysqld.inc
|
||||
perl;
|
||||
|
||||
$file = "$ENV{'error_log'}";
|
||||
open ( FILE, $file) || die "can't open file! ($file)\n";
|
||||
@lines = <FILE>;
|
||||
close (FILE);
|
||||
$count = 0;
|
||||
foreach $line (reverse @lines) {
|
||||
if ($line =~ "^InnoDB:") {
|
||||
++$count;
|
||||
print "$line";
|
||||
if ($count == 2) {
|
||||
last;
|
||||
}
|
||||
}
|
||||
}
|
||||
EOF
|
||||
|
||||
drop table t1;
|
63
mysql-test/suite/innodb/t/innodb_bug14007649.test
Normal file
63
mysql-test/suite/innodb/t/innodb_bug14007649.test
Normal file
@ -0,0 +1,63 @@
|
||||
--source include/have_innodb.inc
|
||||
--source include/have_debug.inc
|
||||
|
||||
if (`select plugin_auth_version <= "1.1.8-24.1" from information_schema.plugins where plugin_name='innodb'`)
|
||||
{
|
||||
--skip Not fixed in XtraDB 1.1.8-24.1 or earlier
|
||||
}
|
||||
|
||||
create table t1 (
|
||||
rowid int,
|
||||
f1 int,
|
||||
f2 int,
|
||||
key i1 (f1, f2),
|
||||
key i2 (f2)) engine=innodb;
|
||||
|
||||
show create table t1;
|
||||
insert into `t1` (rowid, f1, f2) values (1, 1, 10), (2, 1, NULL);
|
||||
|
||||
connect (a,localhost,root,,);
|
||||
connect (b,localhost,root,,);
|
||||
|
||||
connection a;
|
||||
start transaction with consistent snapshot;
|
||||
|
||||
connection b;
|
||||
start transaction;
|
||||
update t1 set f2 = 4 where f1 = 1 and f2 is null;
|
||||
|
||||
-- echo (b) Number of rows updated:
|
||||
select row_count();
|
||||
|
||||
insert into t1 values (3, 1, null);
|
||||
|
||||
-- echo (b) After update and insert query.
|
||||
select rowid, f1, f2 from t1;
|
||||
|
||||
commit;
|
||||
|
||||
connection a;
|
||||
|
||||
-- echo (a) Before the update statement is executed.
|
||||
select rowid, f1, f2 from t1;
|
||||
|
||||
SET SESSION debug_dbug="+d,bug14007649";
|
||||
update t1 set f2 = 6 where f1 = 1 and f2 is null;
|
||||
|
||||
-- echo (a) Number of rows updated:
|
||||
select row_count();
|
||||
|
||||
-- echo (a) After the update statement is executed.
|
||||
select rowid, f1, f2 from t1;
|
||||
|
||||
commit;
|
||||
|
||||
--echo "The trx with consistent snapshot ended."
|
||||
|
||||
select rowid, f1, f2 from t1;
|
||||
|
||||
connection default;
|
||||
disconnect a;
|
||||
disconnect b;
|
||||
|
||||
drop table t1;
|
Reference in New Issue
Block a user