Apply InnoDB snapshot innodb-5.1-ss2858, part 12.

A follow-up to fix for bug #39438.  This moves some errro messages from the
server error log to the client, to make it easier for users (especially in
shared hosting environment) to get info about why their statement is failing.

Detailed revision comments:

r2832 | vasil | 2008-10-21 10:08:30 +0300 (Tue, 21 Oct 2008) | 10 lines
branches/5.1:

In ha_innobase::info():

Replace sql_print_warning() which prints to mysqld error log with
push_warning_printf() which sends the error message to the client.

Suggested by:	Marko, Sunny, Michael
Objected by:	Inaam
This commit is contained in:
Timothy Smith 2008-12-14 13:52:47 -07:00
parent 0dece1b2f0
commit 3d3487658d

View file

@ -5952,12 +5952,21 @@ ha_innobase::info(
ib_table->space) * 1024;
} else {
sql_print_warning(
"Trying to get the free space for "
"table %s but its tablespace has "
"been discarded or the .ibd file "
"is missing. Setting the free space "
"to zero.", ib_table->name);
THD* thd;
thd = ha_thd();
push_warning_printf(
thd,
MYSQL_ERROR::WARN_LEVEL_WARN,
ER_CANT_GET_STAT,
"InnoDB: Trying to get the free "
"space for table %s but its "
"tablespace has been discarded or "
"the .ibd file is missing. Setting "
"the free space to zero.",
ib_table->name);
stats.delete_length = 0;
}