mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-4468 Assertion `error != 0' fails or timeout occurs on select from a FEDERATED table which points at a non-existent table
Federated uses SHOW TABLE STATUS LIKE for ::info(). For nonexisting remote table it doesn't fail, but returns an empty result set. We need to fake the error in the handler.
This commit is contained in:
@ -7,6 +7,12 @@ Level Code Message
|
||||
Error 1 server name: 'non_existing' doesn't exist!
|
||||
Error 1 Can't create/write to file 'non_existing' (Errcode: 14)
|
||||
Error 1005 Can't create table 'test.t1' (errno: 1)
|
||||
create table t1 (a int);
|
||||
create table fed (a int) engine=Federated CONNECTION='mysql://root@127.0.0.1:MASTER_PORT/test/t1';
|
||||
drop table t1;
|
||||
select * from fed;
|
||||
Got one of the listed errors
|
||||
drop table fed;
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
DROP DATABASE IF EXISTS federated;
|
||||
DROP TABLE IF EXISTS federated.t1;
|
||||
|
@ -8,5 +8,17 @@ connection master;
|
||||
CREATE TABLE t1 (a INT) ENGINE=FEDERATED CONNECTION='non_existing';
|
||||
SHOW WARNINGS;
|
||||
|
||||
#
|
||||
# MDEV-4468 Assertion `error != 0' fails or timeout occurs on select from a FEDERATED table which points at a non-existent table
|
||||
#
|
||||
|
||||
create table t1 (a int);
|
||||
--replace_result $MASTER_MYPORT MASTER_PORT
|
||||
eval create table fed (a int) engine=Federated CONNECTION='mysql://root@127.0.0.1:$MASTER_MYPORT/test/t1';
|
||||
drop table t1;
|
||||
--error 1146,1431
|
||||
select * from fed;
|
||||
drop table fed;
|
||||
|
||||
source include/federated_cleanup.inc;
|
||||
|
||||
|
Reference in New Issue
Block a user