summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <timour@mysql.com>2004-11-11 18:23:14 +0200
committerunknown <timour@mysql.com>2004-11-11 18:23:14 +0200
commit10e868bb5e4e701562774cbfdbdec4ca8486e1c6 (patch)
treed5ad6874459829bb0ab69da41506ecbb227d8c67 /sql
parent975f1c169e9fc1a161c82ff7be5c10a39667bdfe (diff)
parente5fd013fdf6c8664daa0bbdcaf0d22bf44e90d62 (diff)
downloadmariadb-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.cc9
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));