mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-26830: Wrong ROW_NUMBER in diagnostics upon INSERT IGNORE with
CHECK violation Analysis: When there is constraint fail we return non-zero value for view_check_option(). So we continue the loop which doesn't increment the counter because it increments at the end of the loop. Fix: Increment m_current_row_for_warning() at the beginning of loop. This will also fix similar bugs if any, about counter not incrementing correctly because of continue.
This commit is contained in:
committed by
Sergei Golubchik
parent
797bd73cfa
commit
e13dc7d0d0
@ -1765,3 +1765,21 @@ SELECT @n, @m;
|
||||
@n @m
|
||||
1 Column count doesn't match value count at row 1
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-26830: Wrong ROW_NUMBER in diagnostics upon INSERT IGNORE with
|
||||
# CHECK violation
|
||||
#
|
||||
CREATE TABLE t1 (a INT, CHECK(a>0));
|
||||
INSERT IGNORE INTO t1 VALUES (1),(0),(2),(0);
|
||||
Warnings:
|
||||
Warning 4025 CONSTRAINT `CONSTRAINT_1` failed for `test`.`t1`
|
||||
Warning 4025 CONSTRAINT `CONSTRAINT_1` failed for `test`.`t1`
|
||||
GET DIAGNOSTICS CONDITION 1 @n= ROW_NUMBER;
|
||||
SELECT @n;
|
||||
@n
|
||||
2
|
||||
GET DIAGNOSTICS CONDITION 2 @n= ROW_NUMBER;
|
||||
SELECT @n;
|
||||
@n
|
||||
4
|
||||
DROP TABLE t1;
|
||||
|
Reference in New Issue
Block a user