diff options
author | unknown <monty@mysql.com> | 2006-01-06 12:48:14 +0200 |
---|---|---|
committer | unknown <monty@mysql.com> | 2006-01-06 12:48:14 +0200 |
commit | 360a5e3c2a4f3f37e52ea12810a50aefd0f05d04 (patch) | |
tree | 793ca256831446270fd408c83d3b9199d44e6e72 /sql/sql_handler.cc | |
parent | 29fde5280234821d4e8fa429991cddf60fa2093f (diff) | |
download | mariadb-git-360a5e3c2a4f3f37e52ea12810a50aefd0f05d04.tar.gz |
After merge fix and a safety fix for handler
sql/sql_handler.cc:
Move lock tables before conditions as lock tables may reopen tables
sql/sql_trigger.cc:
After merge fix
Diffstat (limited to 'sql/sql_handler.cc')
-rw-r--r-- | sql/sql_handler.cc | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/sql/sql_handler.cc b/sql/sql_handler.cc index 545cf41eeeb..fae48c7d164 100644 --- a/sql/sql_handler.cc +++ b/sql/sql_handler.cc @@ -414,6 +414,13 @@ bool mysql_ha_read(THD *thd, TABLE_LIST *tables, } tables->table=table; + HANDLER_TABLES_HACK(thd); + lock= mysql_lock_tables(thd, &tables->table, 1, 0, ¬_used); + HANDLER_TABLES_HACK(thd); + + if (!lock) + goto err0; // mysql_lock_tables() printed error message already + if (cond && ((!cond->fixed && cond->fix_fields(thd, &cond)) || cond->check_cols(1))) goto err0; @@ -427,13 +434,6 @@ bool mysql_ha_read(THD *thd, TABLE_LIST *tables, } } - HANDLER_TABLES_HACK(thd); - lock= mysql_lock_tables(thd, &tables->table, 1, 0, ¬_used); - HANDLER_TABLES_HACK(thd); - - if (!lock) - goto err0; // mysql_lock_tables() printed error message already - if (insert_fields(thd, &thd->lex->select_lex.context, tables->db, tables->alias, &it, 0)) goto err0; |