← Back to team overview

maria-developers team mailing list archive

Re: f83c1615d97: MDEV-20207: Assertion `! is_set()' failed in Diagnostics_area::set_eof_status

 

Hi, Rucha!

On Oct 21, Rucha Deodhar wrote:
> revision-id: f83c1615d97 (mariadb-10.1.43-240-gf83c1615d97)
> parent(s): 7e9ffc69ecd
> author: Rucha Deodhar <rucha.deodhar@xxxxxxxxxxx>
> committer: Rucha Deodhar <rucha.deodhar@xxxxxxxxxxx>
> timestamp: 2020-08-05 00:33:03 +0530
> message:
> 
> MDEV-20207: Assertion `! is_set()' failed in Diagnostics_area::set_eof_status
> upon HANDLER READ
> 
> Analysis: The error state is not stored while checking condition and key name.
> Fix: Return true while checking condition and key name if error is reported
> because geometry object can't be created from the data in the index value for
> HANDLER READ.
> 
> diff --git a/mysql-test/suite/handler/aria.test b/mysql-test/suite/handler/aria.test
> index 1913d2b791c..50ef43ce5b2 100644
> --- a/mysql-test/suite/handler/aria.test
> +++ b/mysql-test/suite/handler/aria.test
> @@ -80,3 +80,23 @@ HANDLER t1 CLOSE;
>  DROP TABLE t1;
>  
>  --echo End of 5.1 tests
> +
> +--echo #
> +--echo # 10.1 Test
> +--echo #
> +--echo # MDEV-20207: Assertion `! is_set()' failed in
> +--echo # Diagnostics_area::set_eof_status upon HANDLER READ
> +--echo #
> +
> +DROP TABLE IF EXISTS t1;

there's no need to start the test from DROP TABLE IF EXISTS t1;
historically people customarily did that. before mtr had after-test
checks. but now all tests are supposed to clean up after itself,
you do not need to worry about tests leaving tables around.

> +
> +CREATE TABLE t1 (a POINT, KEY(a));
> +HANDLER t1 OPEN h;
> +
> +--error ER_CANT_CREATE_GEOMETRY_OBJECT
> +HANDLER h READ a = (0);

I don't think it should be an error. SELECT * FROM t1 WHERE a=(0) -- this
does not fail, it just doesn't find anything.

I think HANDLER should do the same.

> +
> +HANDLER h CLOSE;
> +DROP TABLE t1;

note that all handler test files source handler.inc.
that is, if you want a test to run for all engines, you do not need to
add it to all individual test files, add it to handler.inc

Regards,
Sergei
VP of MariaDB Server Engineering
and security@xxxxxxxxxxx