diff options
author | unknown <monty@mysql.com> | 2004-02-03 09:46:48 +0100 |
---|---|---|
committer | unknown <monty@mysql.com> | 2004-02-03 09:46:48 +0100 |
commit | dccf911f3786cbc43492d364168661a4c95ffe84 (patch) | |
tree | 4e99682a8907f92bf23d26f574c2c1d6a1152c1d /sql/sql_base.cc | |
parent | 6a76cd2ac6b42b3ee87e687ea041c99950726cc6 (diff) | |
download | mariadb-git-dccf911f3786cbc43492d364168661a4c95ffe84.tar.gz |
Give error if locked table is used twice in query. This fixes strange error message when doing LOCK TABLES t1 WRITE; INSERT TABLE t1 SELECT * from t1 (Bug #2296)
client/mysqldump.c:
Better help for flush-logs
mysql-test/r/lock.result:
Test for LOCK TABLES ; INSERT ... SELECT
mysql-test/t/lock.test:
Test for LOCK TABLES ; INSERT ... SELECT
Diffstat (limited to 'sql/sql_base.cc')
-rw-r--r-- | sql/sql_base.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sql/sql_base.cc b/sql/sql_base.cc index 40153ad847e..efb008f4a6e 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -824,8 +824,12 @@ TABLE *open_table(THD *thd,const char *db,const char *table_name, { if (table->key_length == key_length && !memcmp(table->table_cache_key,key,key_length) && - !my_strcasecmp(table->table_name,alias)) + !my_strcasecmp(table->table_name,alias) && + table->query_id != thd->query_id) + { + table->query_id=thd->query_id; goto reset; + } } my_printf_error(ER_TABLE_NOT_LOCKED,ER(ER_TABLE_NOT_LOCKED),MYF(0),alias); DBUG_RETURN(0); |