Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  purge_pessimistic.test  Sprache: unbekannt

 
Spracherkennung für: .test vermutete Sprache: SQL {SQL[110] ABAP[62] Lisp[51]} [Methode: maximale Elemente, drei Dimensionen]

--source include/have_innodb.inc
--source include/have_debug.inc
--source include/have_debug_sync.inc
--source include/not_embedded.inc

--echo #
--echo # MDEV-35508: Race condition between purge and secondary index INSERT or UPDATE
--echo #

SET @old_debug_dbug = @@global.debug_dbug;

CREATE TABLE t1(col1 INT PRIMARY KEY, col2 int, KEY k1(col2)) ENGINE=Innodb;
INSERT INTO t1 VALUES(1, 100);

CREATE TABLE t2(col1 INT PRIMARY KEY) Engine=Innodb;
--source include/wait_all_purged.inc

START TRANSACTION;
INSERT INTO t2 VALUES(10);

SET DEBUG_SYNC='RESET';

SET GLOBAL debug_dbug= "+d,btr_force_pessimistic_delete";
SET GLOBAL debug_dbug= "+d,enable_row_purge_sec_tree_sync";

--connect (con1,localhost,root)
UPDATE t1 SET col2 = 200 WHERE col1 = 1;

--connection default
SET DEBUG_SYNC= 'now WAIT_FOR purge_sec_tree_begin';
SET GLOBAL debug_dbug= "-d,enable_row_purge_sec_tree_sync";

UPDATE t1 SET col2 = 100 WHERE col1 = 1;
SET DEBUG_SYNC= 'now SIGNAL purge_sec_tree_execute';

COMMIT;
--source include/wait_all_purged.inc

--disconnect con1

SELECT * FROM t1;
CHECK TABLE t1;
DROP TABLE t1;

SELECT * FROM t2;
DROP TABLE t2;

SET @@GLOBAL.debug_dbug = @old_debug_dbug;
SET DEBUG_SYNC='RESET';

--echo #
--echo #  MDEV-39706  Assertion `!thd || !coordinator_thd' failed
--echo #
CREATE TABLE t1(f1 INT NOT NULL)ENGINE=InnoDB;
INSERT INTO t1 VALUES(1);
START TRANSACTION WITH CONSISTENT SNAPSHOT;

connect(con1,localhost,root,,);
UPDATE t1 set f1= f1 + 1;
DELETE FROM t1;

connection default;
disconnect con1;
COMMIT;
SET @old_view_update= @@global.innodb_trx_purge_view_update_only_debug;
SET @@GLOBAL.innodb_trx_purge_view_update_only_debug=1;
SET STATEMENT max_statement_time=0.1 FOR SET GLOBAL innodb_max_purge_lag_wait=1;
SET @@GLOBAL.innodb_trx_purge_view_update_only_debug=@old_view_update;
--source include/wait_all_purged.inc
DROP TABLE t1;

[Dauer der Verarbeitung: 0.10 Sekunden, vorverarbeitet 2026-10-08]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1126864
#Domains=1897691