diff options
author | unknown <bell@sanja.is.com.ua> | 2002-11-16 00:01:48 +0200 |
---|---|---|
committer | unknown <bell@sanja.is.com.ua> | 2002-11-16 00:01:48 +0200 |
commit | 49aefe3fb75a9dbe19b2615bb922132433586c25 (patch) | |
tree | 78d18b865c3747b3418696243cef96e0f95f348b /sql/sql_union.cc | |
parent | e7bbe3aa0b2f9dda5f6883a3e1998377a9071db5 (diff) | |
download | mariadb-git-49aefe3fb75a9dbe19b2615bb922132433586c25.tar.gz |
Fixed bugs pointed by "Crash with 'big' derivated table in MySQL-4.1" bugreport
- fixed switching from heap to MyISAM table
- fixed error handler
sql/sql_derived.cc:
A fix for the bug when MyISAM tmp table has to be created in order to resolve derived table.
fixed error handler
sql/sql_parse.cc:
fixed error handler
sql/sql_union.cc:
fixed switching from heap to MyISAM table
Diffstat (limited to 'sql/sql_union.cc')
-rw-r--r-- | sql/sql_union.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sql/sql_union.cc b/sql/sql_union.cc index 53f89747ce7..0e6de306c0d 100644 --- a/sql/sql_union.cc +++ b/sql/sql_union.cc @@ -78,7 +78,13 @@ bool select_union::send_data(List<Item> &values) fill_record(table->field,values); if ((write_record(table,&info))) { - if (create_myisam_from_heap(table, tmp_table_param, info.last_errno, 0)) + if (thd->net.last_errno == ER_RECORD_FILE_FULL) + { + thd->clear_error(); // do not report user about table overflow + if (create_myisam_from_heap(table, tmp_table_param, info.last_errno, 0)) + return 1; + } + else return 1; } return 0; |