summaryrefslogtreecommitdiff
path: root/sql/sql_select.cc
diff options
context:
space:
mode:
authorunknown <gluh@gluh.mysql.r18.ru>2005-03-24 16:32:11 +0300
committerunknown <gluh@gluh.mysql.r18.ru>2005-03-24 16:32:11 +0300
commita7f5977c3ca9ff15b754183e47f39785d9ae52f1 (patch)
treee0221d9157620ce7446c2c6c571f7aec72efc5d7 /sql/sql_select.cc
parent704b8576f744800f50bc3d56e87a8ee4f7617531 (diff)
downloadmariadb-git-a7f5977c3ca9ff15b754183e47f39785d9ae52f1.tar.gz
Bug #9317: Wrong count for tables in INFORMATION_SCHEMA
there was no check of result of table->file->write_row() function. When count of rows was more than table max_rows(HEAP table) the following recodrs were not inserted to the table -'schema_table_store_record' function is added. The function checks result of write_row function and convert HEAP table to MyISAM if necessary - Result check after write_row is added into all I_S function which store the records to I_S tables mysql-test/r/information_schema.result: Bug #9317: Wrong count for tables in INFORMATION_SCHEMA mysql-test/t/information_schema.test: Bug #9317: Wrong count for tables in INFORMATION_SCHEMA sql/sql_select.cc: Bug #9317: Wrong count for tables in INFORMATION_SCHEMA sql/sql_show.cc: Bug #9317: Wrong count for tables in INFORMATION_SCHEMA sql/table.h: Bug #9317: Wrong count for tables in INFORMATION_SCHEMA
Diffstat (limited to 'sql/sql_select.cc')
-rw-r--r--sql/sql_select.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index 856fb937b6e..461a0f8b9d6 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -8714,8 +8714,9 @@ bool create_myisam_from_heap(THD *thd, TABLE *table, TMP_TABLE_PARAM *param,
*table= new_table;
table->s= &table->share_not_to_be_used;
table->file->change_table_ptr(table);
- thd->proc_info= (!strcmp(save_proc_info,"Copying to tmp table") ?
- "Copying to tmp table on disk" : save_proc_info);
+ if (save_proc_info)
+ thd->proc_info= (!strcmp(save_proc_info,"Copying to tmp table") ?
+ "Copying to tmp table on disk" : save_proc_info);
DBUG_RETURN(0);
err: