mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
There were two wrong calls to tables_ok() in MySQL 4.0 (BUG#980),
which are fixed now. In 4.1 there are 3 calls; 2 of them will be fixed when there is a merge; here I fix the 3rd, new one.
This commit is contained in:
@@ -3221,8 +3221,17 @@ int open_grant_tables(THD *thd, TABLE_LIST *tables)
|
|||||||
GRANT and REVOKE are applied the slave in/exclusion rules as they are
|
GRANT and REVOKE are applied the slave in/exclusion rules as they are
|
||||||
some kind of updates to the mysql.% tables.
|
some kind of updates to the mysql.% tables.
|
||||||
*/
|
*/
|
||||||
if (thd->slave_thread && table_rules_on && !tables_ok(0, tables))
|
if (thd->slave_thread && table_rules_on)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
The tables must be marked "updating" so that tables_ok() takes them into
|
||||||
|
account in tests.
|
||||||
|
*/
|
||||||
|
tables[0].updating=tables[1].updating=tables[2].updating=tables[3].updating=1;
|
||||||
|
if (!tables_ok(0, tables))
|
||||||
DBUG_RETURN(1);
|
DBUG_RETURN(1);
|
||||||
|
tables[0].updating=tables[1].updating=tables[2].updating=tables[3].updating=0;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (open_and_lock_tables(thd, tables))
|
if (open_and_lock_tables(thd, tables))
|
||||||
|
Reference in New Issue
Block a user