summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMayank Prasad <mayank.prasad@oracle.com>2011-03-21 21:39:40 +0530
committerMayank Prasad <mayank.prasad@oracle.com>2011-03-21 21:39:40 +0530
commitb85573994168bd0e719a3ec282cecd515610f469 (patch)
tree373a0967df6b0c9c20c48c23cb7b51b5d7b9e26e
parent5a5dcb0f05f26be1f0892d2c7aa1076a6d521d4f (diff)
parentc8b724b2aa6dd0ccc5af1a2b7eb5b92271556ccb (diff)
downloadmariadb-git-b85573994168bd0e719a3ec282cecd515610f469.tar.gz
merge from 5.1 to 5.5 for bug#11751148
-rw-r--r--mysql-test/r/events_bugs.result9
-rw-r--r--mysql-test/t/events_bugs.test15
-rw-r--r--sql/event_db_repository.cc2
3 files changed, 25 insertions, 1 deletions
diff --git a/mysql-test/r/events_bugs.result b/mysql-test/r/events_bugs.result
index a27c7dc18ee..1e89d7f746d 100644
--- a/mysql-test/r/events_bugs.result
+++ b/mysql-test/r/events_bugs.result
@@ -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;
diff --git a/mysql-test/t/events_bugs.test b/mysql-test/t/events_bugs.test
index 8d9959f1b0a..f56823b33b1 100644
--- a/mysql-test/t/events_bugs.test
+++ b/mysql-test/t/events_bugs.test
@@ -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
diff --git a/sql/event_db_repository.cc b/sql/event_db_repository.cc
index 053558aa0c3..3a25324db52 100644
--- a/sql/event_db_repository.cc
+++ b/sql/event_db_repository.cc
@@ -433,7 +433,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