maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #12432
Re: 1060cc4235a: MDEV-23500: Assertion `!is_set() || (m_status == DA_OK_BULK && is_bulk_op())'
Hi, Rucha!
On Oct 21, Rucha Deodhar wrote:
> revision-id: 1060cc4235a (mariadb-10.2.31-438-g1060cc4235a)
> parent(s): 80075ba011f
> author: Rucha Deodhar <rucha.deodhar@xxxxxxxxxxx>
> committer: Rucha Deodhar <rucha.deodhar@xxxxxxxxxxx>
> timestamp: 2020-09-22 17:12:57 +0530
> message:
>
> MDEV-23500: Assertion `!is_set() || (m_status == DA_OK_BULK && is_bulk_op())'
> failed in Diagnostics_area::set_ok_status upon multi-table update
>
> Analysis: When NULL field is copied to NOT-NULL so there is error but
> this error is not reported so we get the failure.
> Fix: Return the error state.
>
> diff --git a/mysql-test/r/update.result b/mysql-test/r/update.result
> index 9e19abc4e9c..c1d37fc36e7 100644
> --- a/mysql-test/r/update.result
> +++ b/mysql-test/r/update.result
> @@ -731,4 +731,14 @@ INSERT INTO t2 VALUES
> UPDATE t1,t2 SET t1.i1 = -39 WHERE t2.d1 <> t1.i1 AND t2.d1 = t1.d2;
> ERROR 22007: Incorrect datetime value: '19' for column `test`.`t1`.`i1` at row 1
> DROP TABLE t1,t2;
> +#
> +# MDEV-23500: Assertion `!is_set() || (m_status == DA_OK_BULK &&
> +# is_bulk_op())' failed in Diagnostics_area::set_ok_status upon
> +# multi-table update
> +#
> +CREATE TABLE t (f INT NOT NULL);
> +INSERT INTO t VALUES (0),(0);
> +UPDATE t AS t1 LEFT JOIN t AS t2 ON t1.f <=> t2.f SET t2.f = NULL;
> +ERROR 01000: Data truncated for column 'f' at row 4
with a single-table update I get
MariaDB [test]> update t set f=NULL;
ERROR 1048 (23000): Column 'f' cannot be null
should multi-table update produce the same error?
> +DROP TABLE t;
Regards,
Sergei
VP of MariaDB Server Engineering
and security@xxxxxxxxxxx