mirror of
https://github.com/MariaDB/server.git
synced 2025-08-26 01:44:06 +03:00
It is not necessary to support INSERT DELAYED for a single value insert, while we do not support that for multi-values insert when binlog is enabled in SBR. The lock_type is upgrade to TL_WRITE from TL_WRITE_DELAYED for INSERT DELAYED for single value insert as multi-values insert did when binlog is enabled. Then it's safe. And binlog it as INSERT without DELAYED.
52 lines
2.2 KiB
Plaintext
52 lines
2.2 KiB
Plaintext
create table t1 (a int not null auto_increment, primary key (a)) engine=myisam;
|
|
insert /* before delayed */ delayed /* after delayed */ into t1 values (207);
|
|
insert /*! delayed */ into t1 values (null);
|
|
insert delayed into t1 values (300);
|
|
FLUSH TABLES;
|
|
show binlog events from <binlog_start>;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000001 # Query # # BEGIN
|
|
master-bin.000001 # Query # # use `mtr`; INSERT INTO test_suppressions (pattern) VALUES ( NAME_CONST('pattern',_latin1'Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT' COLLATE 'latin1_swedish_ci'))
|
|
master-bin.000001 # Query # # COMMIT
|
|
master-bin.000001 # Query # # use `test`; create table t1 (a int not null auto_increment, primary key (a)) engine=myisam
|
|
master-bin.000001 # Query # # BEGIN
|
|
master-bin.000001 # Query # # use `test`; insert /* before delayed */ /* after delayed */ into t1 values (207)
|
|
master-bin.000001 # Query # # COMMIT
|
|
master-bin.000001 # Query # # BEGIN
|
|
master-bin.000001 # Intvar # # INSERT_ID=208
|
|
master-bin.000001 # Query # # use `test`; insert /*! */ into t1 values (null)
|
|
master-bin.000001 # Query # # COMMIT
|
|
master-bin.000001 # Query # # BEGIN
|
|
master-bin.000001 # Query # # use `test`; insert into t1 values (300)
|
|
master-bin.000001 # Query # # COMMIT
|
|
master-bin.000001 # Query # # use `test`; FLUSH TABLES
|
|
RESET MASTER;
|
|
insert /* before delayed */ delayed /* after delayed */ into t1 values (null),(null),(null),(null);
|
|
insert /*! delayed */ into t1 values (null),(null),(400),(null);
|
|
FLUSH TABLES;
|
|
show binlog events from <binlog_start>;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000001 # Query # # BEGIN
|
|
master-bin.000001 # Intvar # # INSERT_ID=301
|
|
master-bin.000001 # Query # # use `test`; insert /* before delayed */ /* after delayed */ into t1 values (null),(null),(null),(null)
|
|
master-bin.000001 # Query # # COMMIT
|
|
master-bin.000001 # Query # # BEGIN
|
|
master-bin.000001 # Intvar # # INSERT_ID=305
|
|
master-bin.000001 # Query # # use `test`; insert /*! */ into t1 values (null),(null),(400),(null)
|
|
master-bin.000001 # Query # # COMMIT
|
|
master-bin.000001 # Query # # use `test`; FLUSH TABLES
|
|
select * from t1;
|
|
a
|
|
207
|
|
208
|
|
300
|
|
301
|
|
302
|
|
303
|
|
304
|
|
305
|
|
306
|
|
400
|
|
401
|
|
drop table t1;
|