1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-01 03:47:19 +03:00

bug #1434 (and related issues)

This commit is contained in:
serg@serg.mylan
2003-10-06 20:02:27 +02:00
parent 2667d7f8cc
commit b58098c3b9
3 changed files with 35 additions and 5 deletions

View File

@ -1438,6 +1438,15 @@ select_create::prepare(List<Item> &values)
if (!table)
DBUG_RETURN(-1); // abort() deletes table
if (table->fields < values.elements)
{
do_not_drop=1;
my_printf_error(ER_WRONG_VALUE_COUNT_ON_ROW,
ER(ER_WRONG_VALUE_COUNT_ON_ROW),
MYF(0),1);
DBUG_RETURN(-1);
}
/* First field to copy */
field=table->field+table->fields - values.elements;
@ -1498,7 +1507,7 @@ bool select_create::send_eof()
*/
if (!table->tmp_table)
hash_delete(&open_cache,(byte*) table);
lock=0;
lock=0;
table=0;
VOID(pthread_mutex_unlock(&LOCK_open));
}
@ -1519,7 +1528,8 @@ void select_create::abort()
enum db_type table_type=table->db_type;
if (!table->tmp_table)
hash_delete(&open_cache,(byte*) table);
quick_rm_table(table_type,db,name);
if (!do_not_drop)
quick_rm_table(table_type,db,name);
table=0;
}
VOID(pthread_mutex_unlock(&LOCK_open));