Commit 6b8fd6fc authored by guilhem@gbichot2's avatar guilhem@gbichot2

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. 
parent 941a65c1
...@@ -3221,8 +3221,17 @@ int open_grant_tables(THD *thd, TABLE_LIST *tables) ...@@ -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)
DBUG_RETURN(1); {
/*
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);
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))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment