mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
Bug #11751148 : show events shows events in other schema
Issue: ------ Due to prefix match, database like 'k' was matching with 'ka' and events of 'ka' we getting displayed for 'show event' of 'k'. Resolution: ----------- Scan for listing of events in a schema is made to be done on exact match of database (schema) name instead of just prefix. mysql-test/r/events_bugs.result: modified expected file with the expected results. mysql-test/t/events_bugs.test: added a test case to reproduce the scenario. sql/event_db_repository.cc: Scan for schema name is made to be done on exact db name match.
This commit is contained in:
parent
91688f1d30
commit
c8b724b2aa
3 changed files with 25 additions and 1 deletions
|
@ -747,6 +747,15 @@ event_name originator
|
|||
ev1 4294967295
|
||||
DROP EVENT ev1;
|
||||
SET GLOBAL server_id = @old_server_id;
|
||||
CREATE DATABASE event_test1;
|
||||
USE event_test1;
|
||||
CREATE EVENT ev1 ON SCHEDULE EVERY 1 DAY DO SELECT 1;
|
||||
CREATE DATABASE event_test2;
|
||||
USE event_test2;
|
||||
SHOW EVENTS;
|
||||
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
|
||||
DROP DATABASE event_test1;
|
||||
DROP DATABASE event_test2;
|
||||
DROP DATABASE events_test;
|
||||
SET GLOBAL event_scheduler= 'ON';
|
||||
SET @@global.concurrent_insert= @concurrent_insert;
|
||||
|
|
|
@ -1221,6 +1221,21 @@ SELECT event_name, originator FROM INFORMATION_SCHEMA.EVENTS;
|
|||
DROP EVENT ev1;
|
||||
SET GLOBAL server_id = @old_server_id;
|
||||
|
||||
#
|
||||
# Bug#11751148: show events shows events in other schema
|
||||
#
|
||||
|
||||
CREATE DATABASE event_test1;
|
||||
USE event_test1;
|
||||
CREATE EVENT ev1 ON SCHEDULE EVERY 1 DAY DO SELECT 1;
|
||||
CREATE DATABASE event_test2;
|
||||
USE event_test2;
|
||||
# Following show events should not show ev1
|
||||
SHOW EVENTS;
|
||||
DROP DATABASE event_test1;
|
||||
DROP DATABASE event_test2;
|
||||
|
||||
|
||||
###########################################################################
|
||||
#
|
||||
# End of tests
|
||||
|
|
|
@ -424,7 +424,7 @@ Event_db_repository::index_read_for_db_for_i_s(THD *thd, TABLE *schema_table,
|
|||
key_copy(key_buf, event_table->record[0], key_info, key_len);
|
||||
if (!(ret= event_table->file->index_read_map(event_table->record[0], key_buf,
|
||||
(key_part_map)1,
|
||||
HA_READ_PREFIX)))
|
||||
HA_READ_KEY_EXACT)))
|
||||
{
|
||||
DBUG_PRINT("info",("Found rows. Let's retrieve them. ret=%d", ret));
|
||||
do
|
||||
|
|
Loading…
Reference in a new issue