mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
Added missing tests for GET DIAGNOSTICS.
This commit is contained in:
@ -213,4 +213,52 @@ ERROR 23000: Duplicate entry '2147483647' for key 'PRIMARY'
|
||||
include/diff_tables.inc [master:t1,slave:t1]
|
||||
DROP TRIGGER tr1;
|
||||
DROP TABLE t1;
|
||||
|
||||
# The GET DIAGNOSTICS itself is not replicated, but it can set
|
||||
# variables which can be used in statements that are replicated.
|
||||
|
||||
include/rpl_reset.inc
|
||||
CREATE TABLE t1 (a INT, b INT);
|
||||
GET DIAGNOSTICS @var1 = NUMBER;
|
||||
INSERT INTO t1 VALUES (@var1, 0), (@var1, 0);
|
||||
CREATE PROCEDURE p1()
|
||||
LANGUAGE SQL
|
||||
BEGIN
|
||||
DECLARE count INT;
|
||||
UPDATE t1 SET b = 2 WHERE a = 0;
|
||||
GET DIAGNOSTICS count = ROW_COUNT;
|
||||
INSERT INTO t1 VALUES (1, count);
|
||||
END|
|
||||
CALL p1();
|
||||
# On slave, check if the statement was replicated.
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
a b
|
||||
0 2
|
||||
0 2
|
||||
1 2
|
||||
# Show events and cleanup
|
||||
include/show_binlog_events.inc
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 # Gtid # # GTID #-#-#
|
||||
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT, b INT)
|
||||
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
|
||||
master-bin.000001 # User var # # @`var1`=0
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (@var1, 0), (@var1, 0)
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Gtid # # GTID #-#-#
|
||||
master-bin.000001 # Query # # use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
|
||||
BEGIN
|
||||
DECLARE count INT;
|
||||
UPDATE t1 SET b = 2 WHERE a = 0;
|
||||
GET DIAGNOSTICS count = ROW_COUNT;
|
||||
INSERT INTO t1 VALUES (1, count);
|
||||
END
|
||||
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
|
||||
master-bin.000001 # Query # # use `test`; UPDATE t1 SET b = 2 WHERE a = 0
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
master-bin.000001 # Gtid # # BEGIN GTID #-#-#
|
||||
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1, NAME_CONST('count',2))
|
||||
master-bin.000001 # Query # # COMMIT
|
||||
DROP TABLE t1;
|
||||
DROP PROCEDURE p1;
|
||||
include/rpl_end.inc
|
||||
|
Reference in New Issue
Block a user