Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/MariaDB/mysql-test/suite/sql_sequence/   (MariaDB Server Version 8.1-8.4©)  Datei vom 1.9.2026 mit Größe 2 kB image not shown  

Quelle  slave_nextval.test  Sprache: unbekannt

 
Spracherkennung für: .test vermutete Sprache: SQL {SQL[80] ABAP[55] ADA[48]} [Methode: maximale Elemente, drei Dimensionen]

--source include/master-slave.inc
--source include/have_binlog_format_row.inc

#
# MDEV-14092  NEXTVAL() fails on slave
#

--disable_ps2_protocol
CREATE SEQUENCE s;
INSERT INTO s VALUES (1,1,4,1,1,1,0,0);
show create sequence s;
SELECT NEXTVAL(s);

--sync_slave_with_master
SELECT NEXTVAL(s);
SELECT NEXTVAL(s);

--connection master
SELECT NEXTVAL(s);
SELECT NEXTVAL(s);
SELECT NEXTVAL(s);

select * from s;

--sync_slave_with_master

select * from s;
--connection master
DROP SEQUENCE s;

#
# Same as above, but with cycles
#

CREATE SEQUENCE s;
INSERT INTO s VALUES (1,1,3,1,1,1,1,0);
show create sequence s;
SELECT NEXTVAL(s);

--sync_slave_with_master
SELECT NEXTVAL(s);
SELECT NEXTVAL(s);

--connection master
SELECT NEXTVAL(s);
SELECT NEXTVAL(s);
SELECT NEXTVAL(s);

select * from s;

--sync_slave_with_master

select * from s;

--connection master
DROP SEQUENCE s;

# Here is a bit more complicated concurrent scenario that
# causes the same effect without any updates on the slave. You might
# need to replace 100 with a bigger value if it doesn't happen on your
# machine right away.

CREATE SEQUENCE s;
INSERT INTO s VALUES (1,1,3,1,1,1,1,0);
SELECT NEXTVAL(s);

--delimiter $
CREATE PROCEDURE pr(n INT)
BEGIN
DECLARE i INT DEFAULT 0;
WHILE i < n
DO
SELECT NEXTVAL(s);
SELECT NEXTVAL(s);
SELECT NEXTVAL(s);
SET i= i+1;
END WHILE;
END $
--delimiter ;

--connect (con1,localhost,root,,)
--send CALL pr(100)
--connect (con2,localhost,root,,)
--send CALL pr(100)
--connect (con3,localhost,root,,)
--send CALL pr(100)
--connect (con4,localhost,root,,)
--send CALL pr(100)
--connect (con5,localhost,root,,)
--send CALL pr(100)
--connect (con6,localhost,root,,)
--send CALL pr(100)
--connect (con7,localhost,root,,)
--send CALL pr(100)
--connect (con8,localhost,root,,)
--send CALL pr(100)


--disable_query_log
--disable_result_log

--connection con1
--reap
--connection con2
--reap
--connection con3
--reap
--connection con4
--reap
--connection con5
--reap
--connection con6
--reap
--connection con7
--reap
--connection con8
--reap

--enable_query_log
--enable_result_log

--connection master

--sync_slave_with_master

--connection master
DROP SEQUENCE s;
DROP PROCEDURE pr;
--enable_ps2_protocol

#
# Cleanup
#
--source include/rpl_end.inc

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