diff options
author | unknown <timour@mysql.com> | 2004-11-11 18:23:14 +0200 |
---|---|---|
committer | unknown <timour@mysql.com> | 2004-11-11 18:23:14 +0200 |
commit | 10e868bb5e4e701562774cbfdbdec4ca8486e1c6 (patch) | |
tree | d5ad6874459829bb0ab69da41506ecbb227d8c67 /sql | |
parent | 975f1c169e9fc1a161c82ff7be5c10a39667bdfe (diff) | |
parent | e5fd013fdf6c8664daa0bbdcaf0d22bf44e90d62 (diff) | |
download | mariadb-git-10e868bb5e4e701562774cbfdbdec4ca8486e1c6.tar.gz |
Merge mysql.com:/home/timka/mysql/src/5.0-virgin
into mysql.com:/home/timka/mysql/src/5.0-1972
sql/sql_base.cc:
Auto merged
Diffstat (limited to 'sql')
-rw-r--r-- | sql/sql_base.cc | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/sql/sql_base.cc b/sql/sql_base.cc index db7f3a35da9..b518af80a43 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -582,6 +582,7 @@ TABLE_LIST *find_table_in_list(TABLE_LIST *table, if ((!strcmp(table->db, db_name) && !strcmp(table->real_name, table_name)) || (table->view && + table->table->table_cache_key && // it is not temporary table !my_strcasecmp(table_alias_charset, table->table->table_cache_key, db_name) && !my_strcasecmp(table_alias_charset, @@ -626,6 +627,9 @@ TABLE_LIST* unique_table(TABLE_LIST *table, TABLE_LIST *table_list) TABLE_LIST *res; const char *d_name= table->db, *t_name= table->real_name; char d_name_buff[MAX_ALIAS_NAME], t_name_buff[MAX_ALIAS_NAME]; + /* temporary table is always unique */ + if (table->table && table->table->tmp_table != NO_TMP_TABLE) + return 0; if (table->view) { /* it is view and table opened */ @@ -643,11 +647,6 @@ TABLE_LIST* unique_table(TABLE_LIST *table, TABLE_LIST *table_list) d_name= table->table->table_cache_key; t_name= table->table->table_name; } - if (d_name == 0) - { - /* it's temporary table => always unique */ - return 0; - } } DBUG_PRINT("info", ("real table: %s.%s", d_name, t_name)); |