mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
64 lines
1.3 KiB
Text
64 lines
1.3 KiB
Text
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);
|
|
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;
|
|
(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;
|
|
connection a;
|
|
(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
|
|
connection default;
|
|
disconnect a;
|
|
disconnect b;
|
|
drop table t1;
|